aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/parisc/parisc.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/parisc/parisc.c b/src/parisc/parisc.c
index 61dd651..71360c1 100644
--- a/src/parisc/parisc.c
+++ b/src/parisc/parisc.c
@@ -2981,6 +2981,19 @@ void __VISIBLE start_parisc_firmware(void)
// PlatformRunningOn = PF_QEMU; // emulate runningOnQEMU()
+ /*
+ * Initialize main variables at reboot, e.g. initialize the HPA of the main
+ * console to "unknown" (0), which is required to get output via
+ * parisc_putchar() at bootup. Set initial PCI bus to Dino, which will be
+ * corrected later when we get the machine model (C3000/B160L) via cfg(),
+ * but cfg() tries to initialize the PCI bus.
+ */
+ PAGE0->mem_cons.hpa = 0;
+ has_astro = 0;
+ pci_hpa = PCI_HPA; /* HPA of Dino or Elroy0 */
+ hppa_port_pci_cmd = (PCI_HPA + DINO_PCI_ADDR);
+ hppa_port_pci_data = (PCI_HPA + DINO_CONFIG_DATA);
+
/* Initialize qemu fw_cfg interface */
PORT_QEMU_CFG_CTL = fw_cfg_port;
qemu_cfg_init();