@samitouri / QOSamiQemu / commits / 64f676beea

hw/pci-host/astro: Fix initial addresses in IOC

F-Extend the LMMIO and IOS distributed addresses. Use the 44-bit address for the IOS distributed address. Signed-off-by: Helge Deller <deller@gmx.de>

Helge Deller committed Mar 29, 2026 at 00:15 UTC 64f676beead4fb57fc2f5e30f259f8c50dc3248f
2 files changed +5 -5
hw/pci-host/astro.c
+3 -3
@@ -804,13 +804,13 @@ static void astro_reset(DeviceState *dev)
804 * The LBA BASE/MASK registers control IO -> System routing (in Elroy)
805 */
806 memset(&s->ioc_ranges, 0, sizeof(s->ioc_ranges));
807 - s->ioc_ranges[(0x360 - 0x300) / 8] = LMMIO_DIST_BASE_ADDR | 0x01; /* LMMIO_DIST_BASE (SBA) */
807 + s->ioc_ranges[(0x360 - 0x300) / 8] = F_EXTEND(LMMIO_DIST_BASE_ADDR) | 0x01;
808 s->ioc_ranges[(0x368 - 0x300) / 8] = 0xfc000000; /* LMMIO_DIST_MASK */
809 s->ioc_ranges[(0x370 - 0x300) / 8] = 0; /* LMMIO_DIST_ROUTE */
810 - s->ioc_ranges[(0x390 - 0x300) / 8] = IOS_DIST_BASE_ADDR | 0x01; /* IOS_DIST_BASE */
810 + s->ioc_ranges[(0x390 - 0x300) / 8] = F_EXTEND(IOS_DIST_BASE_ADDR) | 0x01;
811 s->ioc_ranges[(0x398 - 0x300) / 8] = 0xffffff0000; /* IOS_DIST_MASK */
812 s->ioc_ranges[(0x3a0 - 0x300) / 8] = 0x3400000000000000ULL; /* IOS_DIST_ROUTE */
813 - s->ioc_ranges[(0x3c0 - 0x300) / 8] = 0xfffee00000; /* IOS_DIRECT_BASE */
813 + s->ioc_ranges[(0x3c0 - 0x300) / 8] = IOS_DIST_BASE_ADDR; /* IOS_DIRECT_BASE */
814 s->ioc_ranges[(0x3c8 - 0x300) / 8] = 0xffffff0000; /* IOS_DIRECT_MASK */
815 s->ioc_ranges[(0x3d0 - 0x300) / 8] = 0x0; /* IOS_DIRECT_ROUTE */
816
include/hw/pci-host/astro.h
+2 -2
@@ -26,8 +26,8 @@ OBJECT_DECLARE_SIMPLE_TYPE(ElroyState, ELROY_PCI_HOST_BRIDGE)
26
27 #define LMMIO_DIRECT_RANGES 4
28
29 -#define IOS_DIST_BASE_ADDR 0xfffee00000ULL
30 -#define IOS_DIST_BASE_SIZE 0x10000ULL
29 +#define IOS_DIST_BASE_ADDR 0xffffee00000ULL
30 +#define IOS_DIST_BASE_SIZE 0x10000ULL
31
32 #define HF_ENABLE 0x40 /* enable HF mode (default is -1 mode) */
33