Anton is right and this information comes up through the BIOS in two
ways. First, it tells the OS which ranges of memory address space and
I/O space will be passed from the processor bus down through each root
PCI bus. The OS will not allocate outside of that. This is most
visible when you plug in a video card that wants 2GB of RAM. It would
probably work to put that card above the 4GB line, but the OS won’t do
that unless the BIOS says that some of the address space above 4GB is
passed onto an I/O bus. But most BIOSes don’t make a window above
4GB.
The second way is by having the BIOS claim some space on a particular
bus just to reserve it. Again, this occurs by putting an PNP0C02 node
in the ACPI BIOS on that bus. This usually happens when some range of
space is passed through to, for instance, the LPC bus.
–
Jake Oshins
Hyper-V I/O Architect
Microsoft
This post confers no rights and implies no warranties.
wrote in message news:xxxxx@ntdev…
>> Memory and IO port BAR assignment is doable in standard
>> mobo-independent ways,
>
> I think this is not entirely correct. The problem is that you don’t
> know anything about available resources/memory ranges at a boot
> time, and the only “entity” that is able to provide you with this
> info is BIOS. Please note that BIOS may want to keep some
> resources/memory ranges reserved, and the OS has to respect this…
>
> Anton Bassov
>