From f273c77790c813f404641cc704a76c2c23fd87cf Mon Sep 17 00:00:00 2001 From: okuji Date: Fri, 5 Nov 1999 13:22:07 +0000 Subject: [PATCH] update multiboot.texi. --- ChangeLog | 6 +++++ docs/multiboot.texi | 57 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/ChangeLog b/ChangeLog index feb66434e..a421e2aef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1999-11-05 OKUJI Yoshinori + + * docs/multiboot.texi (Boot information format): Add the members + `drives_addr' and `drives_count' into the Multiboot information + structure, and added the descriptions. + 1999-11-03 Gordon Matzigkeit * util/mbchk.c (main): Move the version number inside the diff --git a/docs/multiboot.texi b/docs/multiboot.texi index 2a4af78a7..d9b229f39 100644 --- a/docs/multiboot.texi +++ b/docs/multiboot.texi @@ -540,6 +540,9 @@ follows: 44 | mmap_length | (present if flags[6] is set) 48 | mmap_addr | (present if flags[6] is set) +-------------------+ +52 | drives_count | (present if flags[7] is set) +56 | drives_addr | (present if flags[7] is set) + +-------------------+ @end group @end example @@ -725,6 +728,60 @@ indicated a reserved area. The map provided is guaranteed to list all standard @sc{ram} that should be available for normal use. +If bit 7 in the @samp{flags} is set, then the @samp{drives_*} fields +are valid, and indicate the address of the physical address of the first +drive structure and the number of drive structures. @samp{drives_addr} +is the address, and @samp{drives_count} is the +number. @samp{drives_count} may be zero. Each drive structure is +formatted as follows: + +@example +@group + +-------------------+ +0 | drive_number | + +-------------------+ +1 | drive_mode | + +-------------------+ +2 | drive_cylinders | +4 | drive_heads | +5 | drive_sectors | + +-------------------+ +6 | drive_ports | + +-------------------+ +10 | reserved (0) | + +-------------------+ +@end group +@end example + +The @samp{drive_number} field contains the BIOS drive number. The +@samp{drive_mode} field represents the access mode used by the boot +loader. Currently, the following modes are defined: + +@table @samp +@item 0 +CHS mode (traditional cylinder/head/sector addressing mode). + +@item 1 +LBA mode (Logical Block Addressing mode). +@end table + +The three fields, @samp{drive_cylinders}, @samp{drive_heads} and +@samp{drive_sectors}, indicate the geometry of the drive detected by the +@sc{bios}. @samp{drive_cylinders} contains the number of the +cylinders. @samp{drive_heads} contains the number of the +heads. @samp{drive_sectors} contains the number of the sectors per +track. + +The @samp{drive_ports} field contains the physical address of the array +of the I/O ports used for the drive in the @sc{bios} code. The array +consists of zero or more unsigned two-bytes integers, and is terminated +with zero. Note that the array may contain any number of I/O ports that +are not related to the drive actually (such as @sc{dma} controller's +ports). + +The last field @samp{reserved} is reserved for future use, and must be +zero. The size is four bytes. + @node Examples @chapter Examples