From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N5V5a-00055e-7C for qemu-devel@nongnu.org; Tue, 03 Nov 2009 20:55:10 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N5V5V-000554-WF for qemu-devel@nongnu.org; Tue, 03 Nov 2009 20:55:09 -0500 Received: from [199.232.76.173] (port=60022 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N5V5V-000551-Ph for qemu-devel@nongnu.org; Tue, 03 Nov 2009 20:55:05 -0500 Received: from mail-yw0-f176.google.com ([209.85.211.176]:64978) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N5V5V-0000yV-E8 for qemu-devel@nongnu.org; Tue, 03 Nov 2009 20:55:05 -0500 Received: by ywh6 with SMTP id 6so5930478ywh.4 for ; Tue, 03 Nov 2009 17:55:04 -0800 (PST) Message-ID: <4AF0DEF5.6020805@codemonkey.ws> Date: Tue, 03 Nov 2009 19:55:01 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: PC machine types switched to SeaBIOS/gPXE References: <4AEAFE39.1030302@us.ibm.com> <4AEB408F.9060205@web.de> <4AEB426A.5080305@us.ibm.com> <4AEC30A6.6020600@mail.berlios.de> <4AEC375E.50701@web.de> <4AEF66BE.3070203@us.ibm.com> <4AEF6998.80103@codemonkey.ws> <20091103041654.GB9856@morn.localdomain> <4AF03A1C.804@us.ibm.com> <20091104013804.GA24215@morn.localdomain> In-Reply-To: <20091104013804.GA24215@morn.localdomain> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: Jan Kiszka , Beth Kon , "qemu-devel@nongnu.org" , Gleb Natapov , Avi Kivity Kevin O'Connor wrote: > I traced this down, and it looks like there is a series of subtle bugs > that led to this situation. > > The bug causing the boot to fail is that gPXE didn't update its > checksum. This was supposed to be fixed in gPXE commit f16668d, but > it looks like gPXE either regressed or the e1000 driver is special in > some way. > > The reason SeaBIOS commit a5826b5a exposes this issue, is that commit > a5826b5a broke SeaBIOS' PMM support - the gPXE bug only shows up when > PMM is not available. > > So, why did commit a5826b5a break PMM? This appears to be some weird > interaction with gcc and its "-fwhole-program -combine" options. One > of the variables (ZoneTmpHigh) is incorrectly marked by gcc as being > local instead of global after commit a5826b5a. Unfortunately, instead > of getting an error, the build proceeded and had a bogus reference to > the ZoneTmpHigh variable - which caused PMM allocations to fail even > when there was memory. > > I've reorganized the build slightly to work around this problem with > "-combine". I've also updated the SeaBIOS linker scripts so that they > will cause a build failure if a similar issue arises in the future. > The latest SeaBIOS git should have this all working again (even with > the current e1000 gPXE). > Thanks for tracking this down Kevin! Regards, Anthony Liguori