diff options
author | hpa <hpa> | 2002-10-25 16:02:28 +0000 |
---|---|---|
committer | hpa <hpa> | 2002-10-25 16:02:28 +0000 |
commit | 9665c8054dfbd821bdd1113f91590881e5c7e5ee (patch) | |
tree | e13199751367ccf08079e99da255f3d995c30a7b /comboot.doc | |
parent | f805675eef4b2119d252465a211b643f79d17c7e (diff) | |
download | syslinux-9665c8054dfbd821bdd1113f91590881e5c7e5ee.tar.gz |
Use a more conventional stack arrangement in PXELINUX. Also make itsyslinux-2.00-pre16
possible to query the invocation record for PXELINUX.
Diffstat (limited to 'comboot.doc')
-rw-r--r-- | comboot.doc | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/comboot.doc b/comboot.doc index f427246f..43c80f99 100644 --- a/comboot.doc +++ b/comboot.doc @@ -341,6 +341,7 @@ AX=000Ah Get Derivative-Specific Information Output: AL 32h (PXELINUX) DX PXE API version detected (DH=major, DL=minor) ES:BX pointer to PXENV+ or !PXE structure + FS:SI pointer to original stack with invocation record Note: DX notes the API version detected by PXELINUX, which may be more conservative than the actual version @@ -354,6 +355,26 @@ AX=000Ah Get Derivative-Specific Information signature to determine which particular structure was provided. + The FS:SI pointer points to the top of the original stack + provided by the PXE stack, with the following values + pushed at the time PXELINUX is started: + + fs:[si+0] GS <- top of stack + fs:[si+2] FS + fs:[si+4] ES + fs:[si+6] DS + fs:[si+8] EFLAGS + fs:[si+12] EDI + fs:[si+16] ESI + fs:[si+20] EBP + fs:[si+24] - + fs:[si+28] EBX + fs:[si+32] EDX + fs:[si+36] ECX + fs:[si+40] EAX + fs:[si+44] PXE return IP <- t.o.s. when PXELINUX invoked + fs:[si+46] PXE return CS + [ISOLINUX] Input: AX 000Ah @@ -394,11 +415,13 @@ AX=000Ch Perform final cleanup INVOKING THIS CALL, NO OTHER API CALLS MAY BE INVOKED, NOR MAY THE PROGRAM TERMINATE AND RETURN TO THE BOOT LOADER. This call basically tells the boot loader "get out of the way, I'll - handle it from here." The boot loader will continue to - provide interrupt and BIOS call thunking services as long its - memory areas (0x1000-0xffff, 0x100000-0x100fff) are not - overwritten. MAKE SURE TO DISABLE INTERRUPTS BEFORE - OVERWRITING THESE MEMORY AREAS. + handle it from here." + + For COM32 images, the boot loader will continue to provide + interrupt and BIOS call thunking services as long its memory + areas (0x1000-0xffff, 0x100000-0x100fff) are not overwritten. + MAKE SURE TO DISABLE INTERRUPTS, AND INSTALL NEW GDT AND IDTS + BEFORE OVERWRITING THESE MEMORY AREAS. The permissible values for DX are as follows: |