On 10/17/23 18:33, BALATON Zoltan wrote:
> On Tue, 17 Oct 2023, deller@kernel.org wrote:
>> From: Helge Deller <deller@gmx.de>
>>
>> Provide necessary info to SeaBIOS-hppa.
>
> If this is needed by the updated SeaBIOS in patch 1 shouldn't this come before that?
SeaBIOS has default values, so it's not dependend on the changed values here.
Helge
> Regards,
> BALATON Zoltan
>
>> Signed-off-by: Helge Deller <deller@gmx.de>
>> ---
>> hw/hppa/machine.c | 22 +++++++++++++++++++---
>> 1 file changed, 19 insertions(+), 3 deletions(-)
>>
>> diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
>> index c6d8deffcf..de925259ea 100644
>> --- a/hw/hppa/machine.c
>> +++ b/hw/hppa/machine.c
>> @@ -118,11 +118,13 @@ static void fw_cfg_boot_set(void *opaque, const char *boot_device,
>> fw_cfg_modify_i16(opaque, FW_CFG_BOOT_DEVICE, boot_device[0]);
>> }
>>
>> -static FWCfgState *create_fw_cfg(MachineState *ms)
>> +static FWCfgState *create_fw_cfg(MachineState *ms, PCIBus *pci_bus)
>> {
>> FWCfgState *fw_cfg;
>> uint64_t val;
>> const char qemu_version[] = QEMU_VERSION;
>> + MachineClass *mc = MACHINE_GET_CLASS(ms);
>> + int len;
>>
>> fw_cfg = fw_cfg_init_mem(FW_CFG_IO_BASE, FW_CFG_IO_BASE + 4);
>> fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, ms->smp.cpus);
>> @@ -137,8 +139,20 @@ static FWCfgState *create_fw_cfg(MachineState *ms)
>> fw_cfg_add_file(fw_cfg, "/etc/cpu/tlb_entries",
>> g_memdup(&val, sizeof(val)), sizeof(val));
>>
>> + val = cpu_to_le64(HPPA_BTLB_ENTRIES);
>> + fw_cfg_add_file(fw_cfg, "/etc/cpu/btlb_entries",
>> + g_memdup(&val, sizeof(val)), sizeof(val));
>> +
>> + len = strlen(mc->name) + 1;
>> + fw_cfg_add_file(fw_cfg, "/etc/hppa/machine",
>> + g_memdup(mc->name, len), len);
>> +
>> val = cpu_to_le64(HPA_POWER_BUTTON);
>> - fw_cfg_add_file(fw_cfg, "/etc/power-button-addr",
>> + fw_cfg_add_file(fw_cfg, "/etc/hppa/power-button-addr",
>> + g_memdup(&val, sizeof(val)), sizeof(val));
>> +
>> + val = cpu_to_le64(CPU_HPA + 24);
>> + fw_cfg_add_file(fw_cfg, "/etc/hppa/DebugOutputPort",
>> g_memdup(&val, sizeof(val)), sizeof(val));
>>
>> fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, ms->boot_config.order[0]);
>> @@ -148,6 +162,8 @@ static FWCfgState *create_fw_cfg(MachineState *ms)
>> g_memdup(qemu_version, sizeof(qemu_version)),
>> sizeof(qemu_version));
>>
>> + fw_cfg_add_extra_pci_roots(pci_bus, fw_cfg);
>> +
>> return fw_cfg;
>> }
>>
>> @@ -250,7 +266,7 @@ static void machine_hppa_init(MachineState *machine)
>> parallel_hds[0]);
>>
>> /* fw_cfg configuration interface */
>> - create_fw_cfg(machine);
>> + create_fw_cfg(machine, pci_bus);
>>
>> /* SCSI disk setup. */
>> dev = DEVICE(pci_create_simple(pci_bus, -1, "lsi53c895a"));
>>