From: Helge Deller <deller@gmx.de>
Provide necessary info to SeaBIOS-hppa.
Signed-off-by: Helge Deller <deller@gmx.de>
---
hw/hppa/machine.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index c6d8deffcf..be0caf4675 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -37,6 +37,7 @@
#define enable_lasi_lan() 0
+static PCIBus *pci_bus;
static void hppa_powerdown_req(Notifier *n, void *opaque)
{
@@ -123,6 +124,8 @@ static FWCfgState *create_fw_cfg(MachineState *ms)
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 +140,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 +163,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);