123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- #ifndef BOOT_COMPRESSED_EBOOT_H
- #define BOOT_COMPRESSED_EBOOT_H
- #define SEG_TYPE_DATA (0 << 3)
- #define SEG_TYPE_READ_WRITE (1 << 1)
- #define SEG_TYPE_CODE (1 << 3)
- #define SEG_TYPE_EXEC_READ (1 << 1)
- #define SEG_TYPE_TSS ((1 << 3) | (1 << 0))
- #define SEG_OP_SIZE_32BIT (1 << 0)
- #define SEG_GRANULARITY_4KB (1 << 0)
- #define DESC_TYPE_CODE_DATA (1 << 0)
- #define EFI_CONSOLE_OUT_DEVICE_GUID \
- EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x0, 0x90, 0x27, \
- 0x3f, 0xc1, 0x4d)
- #define PIXEL_RGB_RESERVED_8BIT_PER_COLOR 0
- #define PIXEL_BGR_RESERVED_8BIT_PER_COLOR 1
- #define PIXEL_BIT_MASK 2
- #define PIXEL_BLT_ONLY 3
- #define PIXEL_FORMAT_MAX 4
- struct efi_pixel_bitmask {
- u32 red_mask;
- u32 green_mask;
- u32 blue_mask;
- u32 reserved_mask;
- };
- struct efi_graphics_output_mode_info {
- u32 version;
- u32 horizontal_resolution;
- u32 vertical_resolution;
- int pixel_format;
- struct efi_pixel_bitmask pixel_information;
- u32 pixels_per_scan_line;
- } __packed;
- struct efi_graphics_output_protocol_mode_32 {
- u32 max_mode;
- u32 mode;
- u32 info;
- u32 size_of_info;
- u64 frame_buffer_base;
- u32 frame_buffer_size;
- } __packed;
- struct efi_graphics_output_protocol_mode_64 {
- u32 max_mode;
- u32 mode;
- u64 info;
- u64 size_of_info;
- u64 frame_buffer_base;
- u64 frame_buffer_size;
- } __packed;
- struct efi_graphics_output_protocol_mode {
- u32 max_mode;
- u32 mode;
- unsigned long info;
- unsigned long size_of_info;
- u64 frame_buffer_base;
- unsigned long frame_buffer_size;
- } __packed;
- struct efi_graphics_output_protocol_32 {
- u32 query_mode;
- u32 set_mode;
- u32 blt;
- u32 mode;
- };
- struct efi_graphics_output_protocol_64 {
- u64 query_mode;
- u64 set_mode;
- u64 blt;
- u64 mode;
- };
- struct efi_graphics_output_protocol {
- void *query_mode;
- unsigned long set_mode;
- unsigned long blt;
- struct efi_graphics_output_protocol_mode *mode;
- };
- struct efi_uga_draw_protocol_32 {
- u32 get_mode;
- u32 set_mode;
- u32 blt;
- };
- struct efi_uga_draw_protocol_64 {
- u64 get_mode;
- u64 set_mode;
- u64 blt;
- };
- struct efi_uga_draw_protocol {
- void *get_mode;
- void *set_mode;
- void *blt;
- };
- struct efi_config {
- u64 image_handle;
- u64 table;
- u64 allocate_pool;
- u64 allocate_pages;
- u64 get_memory_map;
- u64 free_pool;
- u64 free_pages;
- u64 locate_handle;
- u64 handle_protocol;
- u64 exit_boot_services;
- u64 text_output;
- efi_status_t (*call)(unsigned long, ...);
- bool is64;
- } __packed;
- #endif /* BOOT_COMPRESSED_EBOOT_H */
|