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. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html