[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 84/88] hw/pci-host/astro: Map Astro chip into 64-bit I/O memor
|
From: |
Richard Henderson |
|
Subject: |
[PATCH v3 84/88] hw/pci-host/astro: Map Astro chip into 64-bit I/O memory region |
|
Date: |
Wed, 1 Nov 2023 18:30:12 -0700 |
From: Helge Deller <deller@gmx.de>
Map Astro into high F-region and add alias for 32-bit OS in low region.
Signed-off-by: Helge Deller <deller@gmx.de>
---
hw/pci-host/astro.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/hw/pci-host/astro.c b/hw/pci-host/astro.c
index 4b2d7caf2d..df61386bd9 100644
--- a/hw/pci-host/astro.c
+++ b/hw/pci-host/astro.c
@@ -19,6 +19,8 @@
#define TYPE_ASTRO_IOMMU_MEMORY_REGION "astro-iommu-memory-region"
+#define F_EXTEND(addr) ((addr) | MAKE_64BIT_MASK(32, 32))
+
#include "qemu/osdep.h"
#include "qemu/module.h"
#include "qemu/units.h"
@@ -821,15 +823,16 @@ static void astro_realize(DeviceState *obj, Error **errp)
/* map elroys mmio */
map_size = LMMIO_DIST_BASE_SIZE / ROPES_PER_IOC;
- map_addr = (uint32_t) (LMMIO_DIST_BASE_ADDR + rope * map_size);
+ map_addr = F_EXTEND(LMMIO_DIST_BASE_ADDR + rope * map_size);
memory_region_init_alias(&elroy->pci_mmio_alias, OBJECT(elroy),
"pci-mmio-alias",
- &elroy->pci_mmio, map_addr, map_size);
+ &elroy->pci_mmio, (uint32_t) map_addr,
map_size);
memory_region_add_subregion(get_system_memory(), map_addr,
&elroy->pci_mmio_alias);
+ /* map elroys io */
map_size = IOS_DIST_BASE_SIZE / ROPES_PER_IOC;
- map_addr = (uint32_t) (IOS_DIST_BASE_ADDR + rope * map_size);
+ map_addr = F_EXTEND(IOS_DIST_BASE_ADDR + rope * map_size);
memory_region_add_subregion(get_system_memory(), map_addr,
&elroy->pci_io);
--
2.34.1
- [PATCH v3 76/88] target/hppa: Implement pa2.0 data prefetch instructions, (continued)
- [PATCH v3 76/88] target/hppa: Implement pa2.0 data prefetch instructions, Richard Henderson, 2023/11/01
- [PATCH v3 63/88] target/hppa: Implement HADD, Richard Henderson, 2023/11/01
- [PATCH v3 48/88] target/hppa: Decode ADDB double-word, Richard Henderson, 2023/11/01
- [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 <=
- [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, 2023/11/01