Hi,
- *(addr->pcimem_start) = s;
- *(addr->pcimem_end) = e;
+}
This must be adapted too to not hard-code things.
Is it reasonable to pull these out of the dsdt acpi table?
It's a solved problem ;)
acpi.c builds a ssdt BDAT entry, then places the pcimem addresses there. The DSDT table has AML code to pick up the values and stick them into a RessourceTemplate, so the guest OS can see it just fine (you'll see it show up in /proc/iomem in linux guests).
You can basically just copy _SB.PCI0._CRS logic from the piix dtst. Maybe it is a good idea to separate out common stuff into a include file while being at it.
cheers, Gerd