[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: Tue, 6 Dec 2011 17:23:28 +1300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1

On 05/12/11 19:31, Michael S. Tsirkin wrote:
On Mon, Dec 05, 2011 at 05:20:32PM +1300, Alexey Korolev wrote:
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?

Two possible ideas:
1. Pass the value in from qemu
Do you mean to create the 64bit region dynamically? I've tried to obtain RAM size somehow inside DSL code, but the ACPI spec doesn't tell how to do that.

2. Get a range toward the upper end of the memory, around 1<<40

Yes. This solution works great. And this is very simple as well. Just wondering if it will be good as a complete solution?

reply via email to

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