path: root/doc
diff options
authorH. Peter Anvin <hpa@zytor.com>2009-12-22 09:38:43 -0800
committerH. Peter Anvin <hpa@zytor.com>2009-12-22 09:38:43 -0800
commit2b164fd1078bc9640836f15598ed901cc7a31ae2 (patch)
tree05c661adf5920b2408fbd1961b3bd855c75732d8 /doc
parent8492da661cc77e26cd18e4cf307b78e50661ea29 (diff)
parente535becb865292360e808996409c1513df7d2be7 (diff)
Merge branch 'master' into fsc
Resolved Conflicts: com32/Makefile com32/lib/sys/open.c com32/modules/Makefile dos/Makefile dos/com16.ld dos/syslinux.c version Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'doc')
3 files changed, 61 insertions, 7 deletions
diff --git a/doc/comboot.txt b/doc/comboot.txt
index 101b173a..fb954038 100644
--- a/doc/comboot.txt
+++ b/doc/comboot.txt
@@ -556,7 +556,8 @@ AX=000Fh [3.00] Get IPAPPEND strings [PXELINUX]
AX=0010h [3.00] Resolve hostname [PXELINUX]
- Input: ES:BX pointer to null-terminated hostname
+ Input: AX 0010h
+ ES:BX pointer to null-terminated hostname
Output: EAX IP address of hostname (zero if not found)
Queries the DNS server(s) for a specific hostname. If the
@@ -845,7 +846,7 @@ AX=001Eh [3.74] Keyboard remapping table
AX=001Fh [3.74] Get current working directory
- Input: AX 0001Eh
+ Input: AX 0001Fh
Output: ES:BX null-terminated directory name string
Returns the current working directory. For SYSLINUX, ISOLINUX,
@@ -854,7 +855,7 @@ AX=001Fh [3.74] Get current working directory
AX=0020h [3.74] Open directory
- Input: AX 001Fh
+ Input: AX 0020h
ES:SI /-null-terminated directory name
Output: SI directory handle
EAX clobbered
@@ -865,7 +866,7 @@ AX=0020h [3.74] Open directory
AX=0021h [3.74] Read directory
- Input: AX 0020h
+ Input: AX 0021h
SI directory handle
ES:DI buffer for file name
Output: DL Type of file
@@ -881,7 +882,7 @@ AX=0021h [3.74] Read directory
AX=0022h [3.74] Close directory
- Input: AX 001Fh
+ Input: AX 0022h
SI directory handle
Output SI 0
diff --git a/doc/memdisk.txt b/doc/memdisk.txt
index 58ec748b..254cb7c9 100644
--- a/doc/memdisk.txt
+++ b/doc/memdisk.txt
@@ -9,6 +9,9 @@ disk and a (very small - 2K typical) chunk of low (DOS) memory for the
driver itself, then hooking the INT 13h (disk driver) and INT 15h
(memory query) BIOS interrupts.
+MEMDISK allows for an OS to detect the MEMDISK instance. (See the
+"Additional technical information" section below.)
To use it, type on the Syslinux command line:
memdisk initrd=diskimg.img
@@ -75,6 +78,7 @@ b) If the disk image is less than 4,194,304 bytes (4096K, 4 MB) it is
s=# Specify number of sectors (max 63)
floppy[=#] The image is a floppy image[**]
harddisk[=#] The image is a hard disk image[**]
+ iso The image is an El Torito ISO9660 image (drive 0xE0)
# represents a decimal number.
@@ -240,3 +244,40 @@ method for this.
mov byte [es:bx], 0EAh ; FAR JMP
mov [es:bx+1], eax
+MEMDISK supports the Win9x "safe hook" structure for OS detection.
+(See "Safe Master Boot Record INT 13h Hook Routines," available at
+http://www.osronline.com/ddkx/w98ddk/storage_5l6g.htm as of
+December 7th, 2009.) An OS driver can take a look at the INTerrupt table
+and try to walk along the chain of those hooks that implement the "safe hook"
+structure. For each hook discovered, a vendor can be identified and the OS
+driver can take appropriate action. The OS driver can mark the "flags" field
+of the "safe hook" to indicate that the driver has reviewed it already. This
+prevents accidental re-detection, for example.
+MEMDISK adds one additional extension field to the "safe hook" structure, a
+pointer to a special MEMDISK structure called the "mBFT." The mBFT is the
+"MEMDISK Boot Firmware Table" (akin to the iSCSI iBFT and the AoE aBFT). An
+OS driver looking at MEMDISK's "safe hook" should know that this field will
+be present based on the fact that MEMDISK is the vendor identifier.
+The mBFT is little more than an ACPI table to prefix MEMDISK's traditional
+MEMDISK info structure (the "MDI"). The ACPI table's details are:
+ OEM ID. . . .: MEMDSK
+ OEM Table ID : Syslinux
+There is a 1-byte checksum field which covers the length of the mBFT all
+the way through to the end of the MEMDISK info structure.
+There is also a physical pointer to the "safe hook" structure associated
+with the MEMDISK instance. An OS driver might use the following logic:
+ 1. Walk INT 13h "safe hook" chain as far as possible, marking hooks as
+ having been reviewed. For MEMDISK hooks, the driver then follows the
+ pointer to the mBFT and gathers the RAM disk details from the included
+ MDI.
+ 2. The OS driver scans low memory for valid mBFTs. MEMDISK instances that
+ have been "disconnected" from the INT 13h "safe hook" chain can be thus
+ discovered. Looking at their associated "safe hook" structure will
+ reveal if they were indeed reviewed by the previous stage.
diff --git a/doc/menu.txt b/doc/menu.txt
index 97e172fc..e1601249 100644
--- a/doc/menu.txt
+++ b/doc/menu.txt
@@ -203,12 +203,24 @@ MENU MASTER PASSWD passwd
+MENU RESOLUTION height width
+ Requests a specific screen resolution when in graphics mode.
+ The default is "640 480" corresponding to a resolution of
+ 640x480 pixels, which all VGA-compatible monitors should be
+ able to display.
+ If the selected resolution is unavailable, the text mode menu
+ is displayed instead.
For vesamenu.c32, sets the background image. The background
can either be a color (see MENU COLOR) or the name of an image
- file, which should be 640x480 pixels and either in PNG or JPEG
- format.
+ file, which should be the size of the screen (normally 640x480
+ pixels, but see MENU RESOLUTION) and either in PNG, JPEG or
+ LSS16 format.
MENU BEGIN [tagname]