summaryrefslogtreecommitdiff
path: root/comboot.doc
diff options
context:
space:
mode:
authorhpa <hpa>2003-11-26 05:42:33 +0000
committerhpa <hpa>2003-11-26 05:42:33 +0000
commitdf2322b51c6ffd9e4a05b225c5c4ba44b09d3e75 (patch)
tree2e837e97013969748192fddd5bac9515e6b2596d /comboot.doc
parent0fab936237d1b5fb713f291dfe6aa7c342c7d246 (diff)
downloadsyslinux-df2322b51c6ffd9e4a05b225c5c4ba44b09d3e75.tar.gz
Add a bootstrap chainloading API, and include a sample program for it.syslinux-2.08-pre5
Diffstat (limited to 'comboot.doc')
-rw-r--r--comboot.doc27
1 files changed, 26 insertions, 1 deletions
diff --git a/comboot.doc b/comboot.doc
index 5d1a9547..768bf3c3 100644
--- a/comboot.doc
+++ b/comboot.doc
@@ -439,7 +439,7 @@ AX=000Ch Perform final cleanup
MAKE SURE TO DISABLE INTERRUPTS, AND INSTALL NEW GDT AND IDTS
BEFORE OVERWRITING THESE MEMORY AREAS.
- The permissible values for DX are as follows:
+ The permissible values for DX is an OR of these values:
SYSLINUX: 0000h Normal cleanup
@@ -450,3 +450,28 @@ AX=000Ch Perform final cleanup
All other values are undefined, and may have different
meanings in future versions of SYSLINUX.
+
+
+AX=000Dh Cleanup and replace bootstrap code
+ Input: AX 000Ch
+ DX derivative-specific flags (see previous function)
+ EDI bootstrap code (linear address, can be in high memory)
+ ECX bootstrap code length in bytes (max
+ EBX(!) initial value of EDX after bootstrap
+ ESI initial value of ESI after bootstrap
+ DS initial value of DS after bootstrap
+ Output: None
+
+ This routine performs final cleanup, then takes a piece of
+ code, copies it over the primary bootstrap at address 7C00h,
+ and jumps to it. This can be used to chainload boot sectors,
+ MBRs, bootstraps, etc.
+
+ Normal boot sectors expect DL to contain the drive number,
+ and, for hard drives (DL >= 80h) DS:SI to contain a pointer to
+ the 16-byte partition table entry. The memory between
+ 600h-7FFh is available to put the partition table entry in.
+
+ For PXELINUX, if the PXE stack is not unloaded, all registers
+ (except DS, ESI and EDX) and the stack will be set up as they
+ were set up by the PXE ROM.