Linux-libre 3.12.19-gnu
[librecmc/linux-libre.git] / arch / x86 / boot / compressed / eboot.h
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 EFI_CONSOLE_OUT_DEVICE_GUID    \
18         EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x0, 0x90, 0x27, \
19                   0x3f, 0xc1, 0x4d)
20
21 #define PIXEL_RGB_RESERVED_8BIT_PER_COLOR               0
22 #define PIXEL_BGR_RESERVED_8BIT_PER_COLOR               1
23 #define PIXEL_BIT_MASK                                  2
24 #define PIXEL_BLT_ONLY                                  3
25 #define PIXEL_FORMAT_MAX                                4
26
27 struct efi_pixel_bitmask {
28         u32 red_mask;
29         u32 green_mask;
30         u32 blue_mask;
31         u32 reserved_mask;
32 };
33
34 struct efi_graphics_output_mode_info {
35         u32 version;
36         u32 horizontal_resolution;
37         u32 vertical_resolution;
38         int pixel_format;
39         struct efi_pixel_bitmask pixel_information;
40         u32 pixels_per_scan_line;
41 } __packed;
42
43 struct efi_graphics_output_protocol_mode {
44         u32 max_mode;
45         u32 mode;
46         unsigned long info;
47         unsigned long size_of_info;
48         u64 frame_buffer_base;
49         unsigned long frame_buffer_size;
50 } __packed;
51
52 struct efi_graphics_output_protocol {
53         void *query_mode;
54         unsigned long set_mode;
55         unsigned long blt;
56         struct efi_graphics_output_protocol_mode *mode;
57 };
58
59 struct efi_uga_draw_protocol {
60         void *get_mode;
61         void *set_mode;
62         void *blt;
63 };
64
65 struct efi_simple_text_output_protocol {
66         void *reset;
67         void *output_string;
68         void *test_string;
69 };
70
71 #endif /* BOOT_COMPRESSED_EBOOT_H */