[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 88/88] hw/hppa: Map PDC ROM and I/O memory area into lower mem
|
From: |
Richard Henderson |
|
Subject: |
[PATCH v3 88/88] hw/hppa: Map PDC ROM and I/O memory area into lower memory |
|
Date: |
Wed, 1 Nov 2023 18:30:16 -0700 |
From: Helge Deller <deller@gmx.de>
When running a 64-bit CPU in 32-bit mode (e.g. when using a
32-bit kernel) the PDC ROM and I/O area has to be accessible
in the 0xf0000000 memory region.
Signed-off-by: Helge Deller <deller@gmx.de>
---
hw/hppa/machine.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index a3222d3a96..e488914bba 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -603,6 +603,7 @@ static void machine_HP_C3700_init(MachineState *machine)
AstroState *astro;
DeviceState *astro_dev;
MemoryRegion *addr_space = get_system_memory();
+ MemoryRegion *io_low_alias = g_new(MemoryRegion, 2);
TranslateFn *translate;
/* Create CPUs and RAM. */
@@ -614,6 +615,20 @@ static void machine_HP_C3700_init(MachineState *machine)
exit(1);
}
+ /* map PDC ROM into lower memory region, needed if PSW.W=0 */
+ memory_region_init_alias(&io_low_alias[0], NULL, "firmware-alias",
+ addr_space, translate(NULL, FIRMWARE_START),
+ FIRMWARE_END - FIRMWARE_START);
+ memory_region_add_subregion(addr_space, (uint32_t) FIRMWARE_START,
+ &io_low_alias[0]);
+
+ /* map all of I/O area into lower memory region, needed if PSW.W=0 */
+ memory_region_init_alias(&io_low_alias[1], NULL, "iomem-alias",
+ addr_space, translate(NULL, 0xf1000000UL),
+ 0xf000000UL);
+ memory_region_add_subregion(addr_space, (uint32_t) 0xf1000000UL,
+ &io_low_alias[1]);
+
/* Init Astro and the Elroys (PCI host bus chips). */
astro = astro_init();
astro_dev = DEVICE(astro);
--
2.34.1
- [PATCH v3 47/88] target/hppa: Decode CMPIB double-word, (continued)
- [PATCH v3 47/88] target/hppa: Decode CMPIB double-word, Richard Henderson, 2023/11/01
- [PATCH v3 68/88] target/hppa: Implement MIXH, MIXW, Richard Henderson, 2023/11/01
- [PATCH v3 80/88] target/hppa: Add unwind_breg to CPUHPPAState, Richard Henderson, 2023/11/01
- [PATCH v3 82/88] target/hppa: Update IIAOQ, IIASQ for pa2.0, Richard Henderson, 2023/11/01
- [PATCH v3 83/88] target/hppa: Improve interrupt logging, Richard Henderson, 2023/11/01
- [PATCH v3 81/88] target/hppa: Create raise_exception_with_ior, Richard Henderson, 2023/11/01
- [PATCH v3 85/88] hw/pci-host/astro: Trigger CPU irq on CPU HPA in high memory, Richard Henderson, 2023/11/01
- [PATCH v3 84/88] hw/pci-host/astro: Map Astro chip into 64-bit I/O memory region, Richard Henderson, 2023/11/01
- [PATCH v3 86/88] hw/hppa: Turn on 64-bit CPU for C3700 machine, Richard Henderson, 2023/11/01
- [PATCH v3 87/88] hw/hppa: Allow C3700 with 64-bit and B160L with 32-bit CPU only, Richard Henderson, 2023/11/01
- [PATCH v3 88/88] hw/hppa: Map PDC ROM and I/O memory area into lower memory,
Richard Henderson <=