From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:56097) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RXS4u-0001zK-Dl for qemu-devel@nongnu.org; Mon, 05 Dec 2011 01:31:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RXS4t-0001mU-7N for qemu-devel@nongnu.org; Mon, 05 Dec 2011 01:31:04 -0500 Received: from mx1.redhat.com ([209.132.183.28]:11422) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RXS4s-0001mP-U5 for qemu-devel@nongnu.org; Mon, 05 Dec 2011 01:31:03 -0500 Date: Mon, 5 Dec 2011 08:31:51 +0200 From: "Michael S. Tsirkin" Message-ID: <20111205063151.GE22501@redhat.com> References: <4ED58108.3090903@endace.com> <20111130074903.GD17781@redhat.com> <4ED71582.3000107@endace.com> <20111201101718.GA8822@redhat.com> <4EDC4690.1060604@endace.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4EDC4690.1060604@endace.com> Subject: Re: [Qemu-devel] [BUG] [Seabios] PCI 64bit BARs on Win2008 - unable to start the device. (ACPI lacks the _DSM method) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Korolev Cc: sfd@endace.com, yamahata@valinux.co.jp, seabios@seabios.org, qemu-devel@nongnu.org, gleb@redhat.com 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? > > Regards, > Alexey Two possible ideas: 1. Pass the value in from qemu 2. Get a range toward the upper end of the memory, around 1<<40 > >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? > >> > >>Thanks, > >>Alexey > >Maybe the range above 4G needs to be declared in the _CRS > >resource?