summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/include
diff options
context:
space:
mode:
authorMichael Brown2007-07-19 12:15:01 +0200
committerMichael Brown2007-07-19 12:15:01 +0200
commit0d9d2ccbaebda8bf6e6646b694532dbe54108eb4 (patch)
treee5f42abd480c3cab35a6008ec603cc6adf697992 /src/arch/i386/include
parentReal-mode code might set the direction flag, which would cause carnage. (diff)
downloadipxe-0d9d2ccbaebda8bf6e6646b694532dbe54108eb4.tar.gz
ipxe-0d9d2ccbaebda8bf6e6646b694532dbe54108eb4.tar.xz
ipxe-0d9d2ccbaebda8bf6e6646b694532dbe54108eb4.zip
Completed definition of struct int13_cdrom_specification, and moved to
int13.h.
Diffstat (limited to 'src/arch/i386/include')
-rw-r--r--src/arch/i386/include/int13.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/arch/i386/include/int13.h b/src/arch/i386/include/int13.h
index c9d76585e..32ecadc21 100644
--- a/src/arch/i386/include/int13.h
+++ b/src/arch/i386/include/int13.h
@@ -203,6 +203,34 @@ struct int13_disk_parameters {
/** @} */
+/** Bootable CD-ROM specification packet */
+struct int13_cdrom_specification {
+ /** Size of packet in bytes */
+ uint8_t size;
+ /** Boot media type */
+ uint8_t media_type;
+ /** Drive number */
+ uint8_t drive;
+ /** CD-ROM controller number */
+ uint8_t controller;
+ /** LBA of disk image to emulate */
+ uint32_t lba;
+ /** Device specification */
+ uint16_t device;
+ /** Segment of 3K buffer for caching CD-ROM reads */
+ uint16_t cache_segment;
+ /** Load segment for initial boot image */
+ uint16_t load_segment;
+ /** Number of 512-byte sectors to load */
+ uint16_t load_sectors;
+ /** Low 8 bits of cylinder number */
+ uint8_t cyl;
+ /** Sector number, plus high 2 bits of cylinder number */
+ uint8_t cyl_sector;
+ /** Head number */
+ uint8_t head;
+} __attribute__ (( packed ));
+
/** A C/H/S address within a partition table entry */
struct partition_chs {
/** Head number */