#ifndef _SDI_H #define _SDI_H /** @file * * System Deployment Image (SDI) * */ FILE_LICENCE ( GPL2_OR_LATER ); /** SDI image header */ struct sdi_header { /** Signature */ uint32_t magic; /** Version (as an ASCII string) */ uint32_t version; /** Reserved */ uint8_t reserved[8]; /** Boot code offset */ uint64_t boot_offset; /** Boot code size */ uint64_t boot_size; } __attribute__ (( packed )); /** SDI image signature */ #define SDI_MAGIC \ ( ( '$' << 0 ) | ( 'S' << 8 ) | ( 'D' << 16 ) | ( 'I' << 24 ) ) /** SDI boot segment */ #define SDI_BOOT_SEG 0x0000 /** SDI boot offset */ #define SDI_BOOT_OFF 0x7c00 /** Constant to binary-OR with physical address of SDI image */ #define SDI_WTF 0x41 #endif /* _SDI_H */