Go to the documentation of this file.
18 #ifndef __LIBARCH_BOOTIMAGE_H
19 #define __LIBARCH_BOOTIMAGE_H
30 #define BOOTIMAGE_MAGIC0 ('F') + ('r' << 8) + ('e' << 16) + ('e' << 24)
33 #define BOOTIMAGE_MAGIC1 ('N') + ('O' << 8) + ('S' << 16) + (0x1 << 24)
36 #define BOOTIMAGE_REVISION 2
39 #define BOOTIMAGE_NAMELEN 32
BootSymbolType
Boot symbol types.
@ BootProgram
Executable program.
struct BootSegment BootSegment
Memory segment.
@ BootPrivProgram
Privileged executable program.
struct BootSymbol BootSymbol
Program embedded in the BootImage.
BootSymbolType type
Type of boot symbol.
u32 segmentsOffset
Offset in the segments table.
char name[BOOTIMAGE_NAMELEN]
Name of the boot symbol.
#define BOOTIMAGE_NAMELEN
Maximum length of BootSymbol names.
u16 segmentsTableCount
Number of entries in the segments table.
u32 bootImageSize
Total size of the boot image in bytes.
u32 segmentsTableOffset
Offset of the segments table.
unsigned short u16
Unsigned 16-bit number.
u32 segmentsTotalSize
Total size of the BootSymbol segments.
u16 symbolTableCount
Number of entries in the symbols table.
unsigned int u32
Unsigned 32-bit number.
@ BootFilesystem
Embedded filesystem.
Program embedded in the BootImage.
u32 virtualAddress
Virtual memory address to load the segment.
unsigned char u8
Unsigned 8-bit number.
u16 segmentsCount
Number of contiguous entries in the segment table.
u8 layoutRevision
Version of the boot image layout.
u32 symbolTableOffset
Offset of the symbol table.
u32 entry
Program entry point (only valid for BootProgram symbols).
struct BootImage BootImage
BootImage contains executable programs to be loaded at system bootup.
BootImage contains executable programs to be loaded at system bootup.
u32 size
Total size of the segment.
u32 offset
Offset in the boot image of the segment contents.
u32 magic[2]
Magic numbers to detect a valid boot image.