[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [BUG] [Seabios] PCI 64bit BARs on Win2008 - unable to s

From: Alexey Korolev
Subject: Re: [Qemu-devel] [BUG] [Seabios] PCI 64bit BARs on Win2008 - unable to start the device. (ACPI lacks the _DSM method)
Date: Mon, 5 Dec 2011 17:20:32 +1300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1

Hi Michael,

Thank you for good advice, you are right. When I added new range above 4GB in _CRS the problem has gone. QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                   0x00000000,          // Address Space Granularity
                   0x100000000,        // Address Range Minimum
                   0x3FFFFFFFF,        // Address Range Maximum
                   0x00000000,          // Address Translation Offset
                   0x400000000,        // Address Length
                   ,, , AddressRangeMemory, TypeStatic)

The only big problem with this range - as soon as I have more than 3GB of RAM, windows will boot in BSOD. The problem relates to memory range intersection. Unfortunately it is not possible to predict how many GB of RAM the virtual machine could have - so it's difficult to specify a particular region.
Do you have any ideas what can be done to solve this problem?


On Thu, Dec 01, 2011 at 06:49:54PM +1300, Alexey Korolev wrote:
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?

Maybe the range above 4G needs to be declared in the _CRS

reply via email to

[Prev in Thread] Current Thread [Next in Thread]