iPXE
sdi.h
Go to the documentation of this file.
00001 #ifndef _SDI_H
00002 #define _SDI_H
00003 
00004 /** @file
00005  *
00006  * System Deployment Image (SDI)
00007  *
00008  */
00009 
00010 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
00011 
00012 /** SDI image header */
00013 struct sdi_header {
00014         /** Signature */
00015         uint32_t magic;
00016         /** Version (as an ASCII string) */
00017         uint32_t version;
00018         /** Reserved */
00019         uint8_t reserved[8];
00020         /** Boot code offset */
00021         uint64_t boot_offset;
00022         /** Boot code size */
00023         uint64_t boot_size;
00024 } __attribute__ (( packed ));
00025 
00026 /** SDI image signature */
00027 #define SDI_MAGIC \
00028         ( ( '$' << 0 ) | ( 'S' << 8 ) | ( 'D' << 16 ) | ( 'I' << 24 ) )
00029 
00030 /** SDI boot segment */
00031 #define SDI_BOOT_SEG 0x0000
00032 
00033 /** SDI boot offset */
00034 #define SDI_BOOT_OFF 0x7c00
00035 
00036 /** Constant to binary-OR with physical address of SDI image */
00037 #define SDI_WTF 0x41
00038 
00039 #endif /* _SDI_H */