1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _UAPI_ASM_X86_SETUP_DATA_H
8 #define _UAPI_ASM_X86_SETUP_DATA_H
9 #define SETUP_NONE 0
10 #define SETUP_E820_EXT 1
11 #define SETUP_DTB 2
12 #define SETUP_PCI 3
13 #define SETUP_EFI 4
14 #define SETUP_APPLE_PROPERTIES 5
15 #define SETUP_JAILHOUSE 6
16 #define SETUP_CC_BLOB 7
17 #define SETUP_IMA 8
18 #define SETUP_RNG_SEED 9
19 #define SETUP_ENUM_MAX SETUP_RNG_SEED
20 #define SETUP_INDIRECT (1 << 31)
21 #define SETUP_TYPE_MAX (SETUP_ENUM_MAX | SETUP_INDIRECT)
22 #ifndef __ASSEMBLY__
23 #include <linux/types.h>
24 struct setup_data {
25   __u64 next;
26   __u32 type;
27   __u32 len;
28   __u8 data[];
29 };
30 struct setup_indirect {
31   __u32 type;
32   __u32 reserved;
33   __u64 len;
34   __u64 addr;
35 };
36 struct boot_e820_entry {
37   __u64 addr;
38   __u64 size;
39   __u32 type;
40 } __attribute__((packed));
41 struct jailhouse_setup_data {
42   struct {
43     __u16 version;
44     __u16 compatible_version;
45   } __attribute__((packed)) hdr;
46   struct {
47     __u16 pm_timer_address;
48     __u16 num_cpus;
49     __u64 pci_mmconfig_base;
50     __u32 tsc_khz;
51     __u32 apic_khz;
52     __u8 standard_ioapic;
53     __u8 cpu_ids[255];
54   } __attribute__((packed)) v1;
55   struct {
56     __u32 flags;
57   } __attribute__((packed)) v2;
58 } __attribute__((packed));
59 struct ima_setup_data {
60   __u64 addr;
61   __u64 size;
62 } __attribute__((packed));
63 #endif
64 #endif
65