1#ifndef BOOT_COMPRESSED_EBOOT_H 2#define BOOT_COMPRESSED_EBOOT_H 3 4#define SEG_TYPE_DATA (0 << 3) 5#define SEG_TYPE_READ_WRITE (1 << 1) 6#define SEG_TYPE_CODE (1 << 3) 7#define SEG_TYPE_EXEC_READ (1 << 1) 8#define SEG_TYPE_TSS ((1 << 3) | (1 << 0)) 9#define SEG_OP_SIZE_32BIT (1 << 0) 10#define SEG_GRANULARITY_4KB (1 << 0) 11 12#define DESC_TYPE_CODE_DATA (1 << 0) 13 14#define EFI_CONSOLE_OUT_DEVICE_GUID \ 15 EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x0, 0x90, 0x27, \ 16 0x3f, 0xc1, 0x4d) 17 18#define PIXEL_RGB_RESERVED_8BIT_PER_COLOR 0 19#define PIXEL_BGR_RESERVED_8BIT_PER_COLOR 1 20#define PIXEL_BIT_MASK 2 21#define PIXEL_BLT_ONLY 3 22#define PIXEL_FORMAT_MAX 4 23 24struct efi_pixel_bitmask { 25 u32 red_mask; 26 u32 green_mask; 27 u32 blue_mask; 28 u32 reserved_mask; 29}; 30 31struct efi_graphics_output_mode_info { 32 u32 version; 33 u32 horizontal_resolution; 34 u32 vertical_resolution; 35 int pixel_format; 36 struct efi_pixel_bitmask pixel_information; 37 u32 pixels_per_scan_line; 38} __packed; 39 40struct efi_graphics_output_protocol_mode_32 { 41 u32 max_mode; 42 u32 mode; 43 u32 info; 44 u32 size_of_info; 45 u64 frame_buffer_base; 46 u32 frame_buffer_size; 47} __packed; 48 49struct efi_graphics_output_protocol_mode_64 { 50 u32 max_mode; 51 u32 mode; 52 u64 info; 53 u64 size_of_info; 54 u64 frame_buffer_base; 55 u64 frame_buffer_size; 56} __packed; 57 58struct efi_graphics_output_protocol_mode { 59 u32 max_mode; 60 u32 mode; 61 unsigned long info; 62 unsigned long size_of_info; 63 u64 frame_buffer_base; 64 unsigned long frame_buffer_size; 65} __packed; 66 67struct efi_graphics_output_protocol_32 { 68 u32 query_mode; 69 u32 set_mode; 70 u32 blt; 71 u32 mode; 72}; 73 74struct efi_graphics_output_protocol_64 { 75 u64 query_mode; 76 u64 set_mode; 77 u64 blt; 78 u64 mode; 79}; 80 81struct efi_graphics_output_protocol { 82 void *query_mode; 83 unsigned long set_mode; 84 unsigned long blt; 85 struct efi_graphics_output_protocol_mode *mode; 86}; 87 88struct efi_uga_draw_protocol_32 { 89 u32 get_mode; 90 u32 set_mode; 91 u32 blt; 92}; 93 94struct efi_uga_draw_protocol_64 { 95 u64 get_mode; 96 u64 set_mode; 97 u64 blt; 98}; 99 100struct efi_uga_draw_protocol { 101 void *get_mode; 102 void *set_mode; 103 void *blt; 104}; 105 106#endif /* BOOT_COMPRESSED_EBOOT_H */ 107