␊ |
typedef struct Boot_Video␉Boot_Video;␊ |
␊ |
/* Struct describing an image passed in by the booter */␊ |
struct boot_icon_element {␊ |
unsigned int width;␊ |
unsigned int height;␊ |
int y_offset_from_center;␊ |
unsigned int data_size;␊ |
unsigned int __reserved1[4];␊ |
unsigned char data[0];␊ |
};␊ |
typedef struct boot_icon_element boot_icon_element;␊ |
␊ |
/* Values for v_display */␊ |
␊ |
#define GRAPHICS_MODE 1␊ |
|
#define kBootArgsEfiMode32 32␊ |
#define kBootArgsEfiMode64 64␊ |
␊ |
typedef struct boot_args_Legacy {␊ |
typedef struct boot_args_legacy {␊ |
uint16_t Revision;␉/* Revision of boot_args structure */␊ |
uint16_t Version;␉/* Version of boot_args structure */␊ |
␊ |
|
uint64_t efiRuntimeServicesVirtualPageStart; /* virtual address of defragmented runtime pages */␊ |
uint32_t __reserved3[2];␊ |
␊ |
} boot_args_Legacy;␊ |
} boot_args_legacy;␊ |
␊ |
typedef struct boot_args_107 {␊ |
uint16_t Revision;␉/* Revision of boot_args structure */␊ |
uint16_t Version;␉/* Version of boot_args structure */␊ |
␉␊ |
/* Bitfields for boot_args->flags */␊ |
#define kBootArgsFlagRebootOnPanic (1 << 0)␊ |
#define kBootArgsFlagHiDPI (1 << 1)␊ |
␊ |
typedef struct boot_args {␊ |
uint16_t Revision; /* Revision of boot_args structure */␊ |
uint16_t Version; /* Version of boot_args structure */␊ |
␊ |
uint8_t efiMode; /* 32 = 32-bit, 64 = 64-bit */␊ |
uint8_t debugMode; /* Bit field with behavior changes */␊ |
uint8_t __reserved1[2];␊ |
␉␊ |
char CommandLine[BOOT_LINE_LENGTH];␉/* Passed in command line */␊ |
␉␊ |
uint16_t flags;␊ |
␊ |
char CommandLine[BOOT_LINE_LENGTH]; /* Passed in command line */␊ |
␊ |
uint32_t MemoryMap; /* Physical address of memory map */␊ |
uint32_t MemoryMapSize;␊ |
uint32_t MemoryMapDescriptorSize;␊ |
uint32_t MemoryMapDescriptorVersion;␊ |
␉␊ |
Boot_Video␉Video;␉␉/* Video Information */␊ |
␉␊ |
uint32_t deviceTreeP;␉ /* Physical address of flattened device tree */␊ |
␊ |
Boot_Video Video; /* Video Information */␊ |
␊ |
uint32_t deviceTreeP; /* Physical address of flattened device tree */␊ |
uint32_t deviceTreeLength; /* Length of flattened tree */␊ |
␉␊ |
␊ |
uint32_t kaddr; /* Physical address of beginning of kernel text */␊ |
uint32_t ksize; /* Size of combined kernel text+data+efi */␊ |
␉␊ |
␊ |
uint32_t efiRuntimeServicesPageStart; /* physical address of defragmented runtime pages */␊ |
uint32_t efiRuntimeServicesPageCount;␊ |
uint64_t efiRuntimeServicesVirtualPageStart; /* virtual address of defragmented runtime pages */␊ |
␉␊ |
␊ |
uint32_t efiSystemTable; /* physical address of system table in runtime area */␊ |
uint32_t __reserved2;␊ |
␉␊ |
uint32_t kslide;␊ |
␊ |
uint32_t performanceDataStart; /* physical address of log */␊ |
uint32_t performanceDataSize;␊ |
␉␊ |
␊ |
uint32_t keyStoreDataStart; /* physical address of key store data */␊ |
uint32_t keyStoreDataSize;␊ |
uint64_t␉bootMemStart;␊ |
uint64_t␉bootMemSize;␊ |
uint64_t bootMemStart;␊ |
uint64_t bootMemSize;␊ |
uint64_t PhysicalMemorySize;␊ |
uint64_t FSBFrequency;␊ |
uint64_t pciConfigSpaceBaseAddress;␊ |
uint32_t pciConfigSpaceStartBusNumber;␊ |
uint32_t pciConfigSpaceEndBusNumber;␊ |
uint32_t __reserved4[730];␊ |
␉␊ |
} boot_args_107;␊ |
␊ |
typedef struct boot_args_108 {␊ |
uint16_t Revision;␉/* Revision of boot_args structure */␊ |
uint16_t Version;␉/* Version of boot_args structure */␊ |
␉␊ |
uint8_t efiMode; /* 32 = 32-bit, 64 = 64-bit */␊ |
uint8_t debugMode; /* Bit field with behavior changes */␊ |
uint8_t __reserved1[2];␊ |
␉␊ |
char CommandLine[BOOT_LINE_LENGTH];␉/* Passed in command line */␊ |
␉␊ |
uint32_t MemoryMap; /* Physical address of memory map */␊ |
uint32_t MemoryMapSize;␊ |
uint32_t MemoryMapDescriptorSize;␊ |
uint32_t MemoryMapDescriptorVersion;␊ |
␉␊ |
Boot_Video␉Video;␉␉/* Video Information */␊ |
␉␊ |
uint32_t deviceTreeP;␉ /* Physical address of flattened device tree */␊ |
uint32_t deviceTreeLength; /* Length of flattened tree */␊ |
␉␊ |
uint32_t kaddr; /* Physical address of beginning of kernel text */␊ |
uint32_t ksize; /* Size of combined kernel text+data+efi */␊ |
␉␊ |
uint32_t efiRuntimeServicesPageStart; /* physical address of defragmented runtime pages */␊ |
uint32_t efiRuntimeServicesPageCount;␊ |
uint64_t efiRuntimeServicesVirtualPageStart; /* virtual address of defragmented runtime pages */␊ |
␉␊ |
uint32_t efiSystemTable; /* physical address of system table in runtime area */␊ |
uint32_t __reserved2;␊ |
␉␊ |
uint32_t performanceDataStart; /* physical address of log */␊ |
uint32_t performanceDataSize;␊ |
␉␊ |
uint32_t keyStoreDataStart; /* physical address of key store data */␊ |
uint32_t keyStoreDataSize;␊ |
uint64_t␉bootMemStart;␊ |
uint64_t␉bootMemSize;␊ |
uint64_t PhysicalMemorySize;␊ |
uint64_t FSBFrequency;␊ |
␉uint64_t pciConfigSpaceBaseAddress;␊ |
uint32_t pciConfigSpaceStartBusNumber;␊ |
uint32_t pciConfigSpaceEndBusNumber;␊ |
uint32_t __reserved4[730];␊ |
␉␊ |
} boot_args_108; // for now apparently the same package for 10.8 and 10.7␊ |
␊ |
typedef struct boot_args_header {␊ |
␉uint16_t Revision;␉/* Revision of boot_args structure */␊ |
uint16_t Version;␉/* Version of boot_args structure */␊ |
} boot_args_header;␊ |
␊ |
typedef struct boot_args_10x {␊ |
boot_args_header Header;␉␊ |
␊ |
␉Boot_Video␉Video;␉␉/* Video Information */␊ |
␊ |
uint32_t MemoryMap; /* Physical address of memory map */␊ |
uint32_t MemoryMapSize;␊ |
uint32_t MemoryMapDescriptorSize;␊ |
uint32_t MemoryMapDescriptorVersion;␊ |
␉␊ |
␉uint8_t debugMode; /* Bit field with behavior changes */␊ |
␉uint8_t efiMode; /* 32 = 32-bit, 64 = 64-bit */␊ |
␉␊ |
␉␊ |
uint32_t deviceTreeP;␉ /* Physical address of flattened device tree */␊ |
uint32_t deviceTreeLength; /* Length of flattened tree */␊ |
␉␊ |
␉char CommandLine[BOOT_LINE_LENGTH];␉/* Passed in command line */␊ |
␊ |
␊ |
␉uint32_t keyStoreDataStart; /* physical address of key store data */␊ |
uint32_t keyStoreDataSize;␊ |
uint32_t efiRuntimeServicesPageStart; /* physical address of defragmented runtime pages */␊ |
uint32_t efiRuntimeServicesPageCount;␊ |
uint64_t efiRuntimeServicesVirtualPageStart; /* virtual address of defragmented runtime pages */␊ |
␉␊ |
uint32_t efiSystemTable; /* physical address of system table in runtime area */␊ |
␉uint64_t FSBFrequency;␊ |
␊ |
uint32_t performanceDataSize;␊ |
␉uint32_t performanceDataStart; /* physical address of log */␊ |
␊ |
uint32_t kaddr; /* Physical address of beginning of kernel text */␊ |
uint32_t ksize; /* Size of combined kernel text+data+efi */␊ |
␊ |
␉uint64_t␉bootMemStart;␊ |
uint64_t␉bootMemSize;␊ |
uint64_t PhysicalMemorySize;␊ |
␉␊ |
␉uint64_t pciConfigSpaceBaseAddress;␊ |
uint32_t pciConfigSpaceStartBusNumber;␊ |
uint32_t pciConfigSpaceEndBusNumber;␊ |
} boot_args_10x;␊ |
} boot_args;␊ |
␊ |
typedef struct boot_args_10x boot_args_common;␊ |
extern char assert_boot_args_size_is_4096[sizeof(boot_args) == 4096 ? 1 : -1];␊ |
␊ |
extern char assert_boot_args_107_size_is_4096[sizeof(boot_args_107) == 4096 ? 1 : -1];␊ |
extern char assert_boot_args_108_size_is_4096[sizeof(boot_args_108) == 4096 ? 1 : -1];␊ |
␊ |
#endif /* _PEXPERT_I386_BOOT_H */␊ |
␊ |