Another part I don't understand... PCI VGA hardware is designed torespond to IN/OUT instructions to port space. ppc64/ia64 don't haveIN/OUT port instructions. Is there some special hardware on ppc64/ia64that declares part of the PCI IO space "legacy space" and turnsread/writes there into IN/OUT port cycles on the PCI bus so that thelegacy hardware can see the accesses?

On machines without this "legacy space" translation hardware (ie all32b x86 bit machines) I can only have a single VGA adapter activesince there is only a single legacy space and inb/outb are realinstructions.

On machines with "legacy space" translation I can have one active VGAcard per translator. How do I know how many translators there are? Isonly one per domain/segment allowed?

How does ppc32 handle VGA port instructions, is the "legacytranslation" space at the bottom of the PCI address space?

I looked at io.h on IA64, how do apps select which legacy IO spacethey are using? Now I see add_io_space() and related code.

Maybe it's not a good idea to have a 32b x86 person writing thisdriver. Is there a cross platform structure that corresponds to IOspaces?