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_PAGE_SIZE (1UL << EFI_PAGE_SHIFT) 15 #define EFI_READ_CHUNK_SIZE (1024 * 1024) 16 17 #define PIXEL_RGB_RESERVED_8BIT_PER_COLOR 0 18 #define PIXEL_BGR_RESERVED_8BIT_PER_COLOR 1 19 #define PIXEL_BIT_MASK 2 20 #define PIXEL_BLT_ONLY 3 21 #define PIXEL_FORMAT_MAX 4 22 23 struct efi_pixel_bitmask { 24 u32 red_mask; 25 u32 green_mask; 26 u32 blue_mask; 27 u32 reserved_mask; 28 }; 29 30 struct efi_graphics_output_mode_info { 31 u32 version; 32 u32 horizontal_resolution; 33 u32 vertical_resolution; 34 int pixel_format; 35 struct efi_pixel_bitmask pixel_information; 36 u32 pixels_per_scan_line; 37 } __packed; 38 39 struct efi_graphics_output_protocol_mode { 40 u32 max_mode; 41 u32 mode; 42 unsigned long info; 43 unsigned long size_of_info; 44 u64 frame_buffer_base; 45 unsigned long frame_buffer_size; 46 } __packed; 47 48 struct efi_graphics_output_protocol { 49 void *query_mode; 50 unsigned long set_mode; 51 unsigned long blt; 52 struct efi_graphics_output_protocol_mode *mode; 53 }; 54 55 struct efi_uga_draw_protocol { 56 void *get_mode; 57 void *set_mode; 58 void *blt; 59 }; 60 61 #endif /* BOOT_COMPRESSED_EBOOT_H */ 62