Hi,
If Andrew wants to use the fixed address it is better to marked the fixed IO address in the I/O allocator as used. Like in VIA vt8237 for ACPI IO base:
static void vt8237r_read_resources(device_t dev) { struct resource *res;
pci_dev_read_resources(dev);
/* Fixed ACPI Base IO Base*/ res = new_resource(dev, 0x88); res->base = VT8237R_ACPI_IO_BASE; res->size = 128; res->limit = 0xffffUL; res->flags = IORESOURCE_IO | IORESOURCE_FIXED | IORESOURCE_RESERVE | IORESOURCE_STORED | IORESOURCE_ASSIGNED; }
But I see this dmp southbrige bypassed the I/O allocator by reserving it whole for southbridge.
If no PCI or I/O devices will ever connect this is probably OK, although I would prefer to use above construct to add "fixed" I/O resources.
I did not have time to study the code/chipset in the detail, if someone can check that it would be great.
Thanks Rudolf