[SeaBIOS] [BUG] [Seabios] PCI 64bit BARs on Win2008 - unable to start the device. (ACPI lacks the _DSM method)

Alexey Korolev alexey.korolev at endace.com
Thu Dec 1 06:49:54 CET 2011

Isaku san,

I've just added you to discussion.
There are some issues with PCI 64bit support in Windows. Windows fails 
to assign the resource if it doesn't fit in first 4GB window.

I really don't know why it happens.
One of the possibilities is related to lack of _DSM method in ACPI.

Another guesse could be related to the fact that 440FX only supports 
32bit PCI bus interface and windows may limit PCI address range to first 
4GB for PCI devices under this bridge.
I remember you were working on Q35 chipset simulation, I wonder if it is 
working and would it be possible to try?

> On Wed, Nov 30, 2011 at 02:04:08PM +1300, Alexey Korolev wrote:
>> Hi,
>> We have got some issues with 64bit PCI devices support under Windows guests.
>> Windows fails to start any PCI devices with 64bit BARs when size
>> exceeds 512MB with error code 12 (can't allocate resources). In
>> other words it fails when the PCI memory region is located above
>> 4GB.
>> I tried to investigate this problem and found document from Microsoft:
>> http://msdn.microsoft.com/en-us/windows/hardware/gg462986
>> It states that the _DSM method must be implemented to support
>> devices above 4GB.
> That's not how I read it:
> 	Windows Vista always respects the boot configuration of devices above
> 	4 GB, considering the processor’s addressing capability and the version
> 	of the Windows operating system that is running.
>> Unfortunately I'm not familiar with ACPI code of seabios, so can't
>> implement the _DSM method. May be you have other ideas what needs to
>> be done to fix it? Any help is appreciated.
>> Thanks,
>> Alexey
> Could you share some more detail about your setup?

More information about the SeaBIOS mailing list