]> asedeno.scripts.mit.edu Git - linux.git/blob - arch/x86/boot/compressed/eboot.h
efi/libstub: Extend native protocol definitions with mixed_mode aliases
[linux.git] / arch / x86 / boot / compressed / eboot.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef BOOT_COMPRESSED_EBOOT_H
3 #define BOOT_COMPRESSED_EBOOT_H
4
5 #define SEG_TYPE_DATA           (0 << 3)
6 #define SEG_TYPE_READ_WRITE     (1 << 1)
7 #define SEG_TYPE_CODE           (1 << 3)
8 #define SEG_TYPE_EXEC_READ      (1 << 1)
9 #define SEG_TYPE_TSS            ((1 << 3) | (1 << 0))
10 #define SEG_OP_SIZE_32BIT       (1 << 0)
11 #define SEG_GRANULARITY_4KB     (1 << 0)
12
13 #define DESC_TYPE_CODE_DATA     (1 << 0)
14
15 typedef struct {
16         u32 get_mode;
17         u32 set_mode;
18         u32 blt;
19 } efi_uga_draw_protocol_32_t;
20
21 typedef struct {
22         u64 get_mode;
23         u64 set_mode;
24         u64 blt;
25 } efi_uga_draw_protocol_64_t;
26
27 typedef union {
28         struct {
29                 void *get_mode;
30                 void *set_mode;
31                 void *blt;
32         };
33         struct {
34                 u32 get_mode;
35                 u32 set_mode;
36                 u32 blt;
37         } mixed_mode;
38 } efi_uga_draw_protocol_t;
39
40 #endif /* BOOT_COMPRESSED_EBOOT_H */