summaryrefslogtreecommitdiff
path: root/comboot.doc
diff options
context:
space:
mode:
authorhpa <hpa>2002-10-25 16:02:28 +0000
committerhpa <hpa>2002-10-25 16:02:28 +0000
commit9665c8054dfbd821bdd1113f91590881e5c7e5ee (patch)
treee13199751367ccf08079e99da255f3d995c30a7b /comboot.doc
parentf805675eef4b2119d252465a211b643f79d17c7e (diff)
downloadsyslinux-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.doc33
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: