From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40189) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ui21e-0006zH-QZ for qemu-devel@nongnu.org; Thu, 30 May 2013 08:32:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ui21V-0004Tx-CO for qemu-devel@nongnu.org; Thu, 30 May 2013 08:32:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58939) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ui21V-0004TL-2c for qemu-devel@nongnu.org; Thu, 30 May 2013 08:32:05 -0400 Message-ID: <51A746C1.5050902@redhat.com> Date: Thu, 30 May 2013 14:32:01 +0200 From: Gerd Hoffmann MIME-Version: 1.0 References: <1369911913-10934-1-git-send-email-mst@redhat.com> <1369911913-10934-3-git-send-email-mst@redhat.com> <51A7430D.7060102@redhat.com> <20130530121950.GA12791@redhat.com> In-Reply-To: <20130530121950.GA12791@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 2/5] pci: store PCI hole ranges in guestinfo structure List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Anthony Liguori , qemu-devel@nongnu.org On 05/30/13 14:19, Michael S. Tsirkin wrote: > On Thu, May 30, 2013 at 02:16:13PM +0200, Gerd Hoffmann wrote: >> Hi, >> >>> + } else { >>> + guest_info->pci_info.w64.begin = 0x100000000ULL + above_4g_mem_size; >>> + guest_info->pci_info.w64.end = guest_info->pci_info.w64.begin + >>> + (0x1ULL << 62); >> >> Doesn't this give unaligned windows? > > PCI Bridge windows do not need to be size aligned. > > In any case, the windows are *exactly* as calculated > by seabios - apparently it does not size-align windows either. Surely not. SeaBIOS sizes the 64bit window according to the space needed by the 64bit bars it wants to map there. >>> + /* Set PCI window size the way seabios has always done it. */ >>> + /* TODO: consider just starting at below_4g_mem_size */ >> >> Used to be that way. Was changed for alignment reasons (i.e. 1G window >> starts at 1G border etc). > > Where's the alignment requirement coming from? seabios creates a mtrr entry for the window, which doesn't work in case it isn't aligned (at least not with a single entry). Also real hardware tends to do it this way. cheers, Gerd