From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=44771 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OgfhE-0004Wf-Vs for qemu-devel@nongnu.org; Wed, 04 Aug 2010 11:15:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OgfhD-00071K-VA for qemu-devel@nongnu.org; Wed, 04 Aug 2010 11:15:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:8619) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OgfhD-00071F-ND for qemu-devel@nongnu.org; Wed, 04 Aug 2010 11:15:55 -0400 Date: Wed, 4 Aug 2010 18:15:51 +0300 From: Gleb Natapov Subject: Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35? Message-ID: <20100804151551.GA10499@redhat.com> References: <4C596549.1070109@codemonkey.ws> <20100804130709.GL10499@redhat.com> <4C5967D8.7080707@codemonkey.ws> <20100804132408.GG28523@amd.home.annexia.org> <20100804132625.GN10499@redhat.com> <4C59779E.3060000@codemonkey.ws> <20100804143842.GX10499@redhat.com> <4C597E4F.2050108@codemonkey.ws> <20100804150154.GZ10499@redhat.com> <4C59822C.7030402@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4C59822C.7030402@codemonkey.ws> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel@nongnu.org, Gerd Hoffmann , "Richard W.M. Jones" , kvm@vger.kernel.org, Avi Kivity On Wed, Aug 04, 2010 at 10:07:24AM -0500, Anthony Liguori wrote: > On 08/04/2010 10:01 AM, Gleb Natapov wrote: > > > >Hm, may be. I read seabios code differently, but may be I misread it. > > The BIOS Boot Specification spells it all out pretty clearly. > I have the spec. Isn't this enough to be an expert? Or do you mean I should read it too? > >>If a ROM needs memory after the init function, it needs to use the > >>traditional tricks to allocate long term memory and the most popular > >>one is modifying the e820 tables. > >> > >e820 has no in memory format, > > Indeed. > > >>See src/arch/i386/firmware/pcbios/e820mangler.S in gPXE. > >so this ugly code intercepts int15 and mangle result. OMG. How this can > >even work if more then two ROMs want to do that? > > You have to save the old handlers and invoke them. Where do you > save the old handlers? There's tricks you can do by trying to use > some unused vectors and also temporarily using the stack. > > But basically, yeah, I'm amazed every time I see a PC boot that it > all actually works :-) > Heh. -- Gleb.