Re: Hook INT18 for IBM servers?
Itay Gazit <[email protected]>
| Newsgroups | gmane.network.etherboot.user |
|---|---|
| Message-ID | <[email protected]> |
Does anyone know, how to save the INT18 vector and restore it back after gPXE executed? On Wed, Aug 26, 2009 at 2:04 AM, Jarrod Johnson <[email protected]>wrote: > IBM BIOS can rehook INT19 to prevent gPXE from jumping in front, but > without hooking anything, I don't see a way to make gPXE actually boot > (i.e. the BEV never gets called by IBM BIOS). If I make gPXE hook > INT18, then it certainly does proceed in the expected order, but I > can't get past the gPXE boot device without looping to the first > network interface (if storing and calling the original INT18 vector) > or hanging (various attempts to ret/iret out of the INT18 handler). > Glenn Brown at Myricom managed to get Etherboot to work like this, but > I can't figure it out for gPXE (maybe I'm not ensuring the stack is > restored or some register value is right when I iret, or maybe I just > am out of my depth generally). > > My understanding of how IBM BIOS works: > -It executes the PCI option rom > -If option rom hooks int18, it saves that int18 vector and reinstates its > own > -When 'network boot' option is reached, it invokes its INT18 handler > -That handler then, in order, invokes each INT18 handler > -If an INT18 handler wants to yield to the next device, it achieves it > in IBM BIOS by iret to get back in the correct place to IBM INT18 > handler. Presumably, the stack and possibly other registers are > expected to be put back the way they were when the option rom started > execution. > > I'm a little outside my general scope (firmware development is > something I personally lack experience in), but I'll do what I can to > help as possible. > > On Tue, Aug 25, 2009 at 1:23 PM, Michael Brown<[email protected]> > wrote: > > On Monday 24 August 2009 19:13:43 Jarrod Johnson wrote: > >> In short, the GIT change did allow gPXE to detect PnP capability, but > >> INT19 is still detected/used, and I'm pretty sure that is an accurate > >> assessment of IBM BIOS capabilities (PnP, but not BBS compliant). > > > > Thanks for testing this. I was waiting for an opportunity to get hold of > an > > IBM to test against. > > > > I believe that most IBM BIOSes usually have some form of "recapture INT > 19" > > option. If you use this, you should find that the BIOS overwrites the > INT 19 > > value written by gPXE, which will prevent gPXE interfering with the boot > > process. You *should* then be able to select gPXE via whatever > > non-BBS-compliant boot device selection mechanism the BIOS provides. > > > > This is based only partly on memory; I may be wrong on some of the > details. > > > > Michael > > > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Etherboot-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/etherboot-discuss