drm/panthor: Don't add write fences to the shared BOs
[drm/drm-misc.git] / arch / x86 / include / uapi / asm / setup_data.h
blobb111b0c1854491aafcac885e192e8bdb3428506d
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _UAPI_ASM_X86_SETUP_DATA_H
3 #define _UAPI_ASM_X86_SETUP_DATA_H
5 /* setup_data/setup_indirect types */
6 #define SETUP_NONE 0
7 #define SETUP_E820_EXT 1
8 #define SETUP_DTB 2
9 #define SETUP_PCI 3
10 #define SETUP_EFI 4
11 #define SETUP_APPLE_PROPERTIES 5
12 #define SETUP_JAILHOUSE 6
13 #define SETUP_CC_BLOB 7
14 #define SETUP_IMA 8
15 #define SETUP_RNG_SEED 9
16 #define SETUP_ENUM_MAX SETUP_RNG_SEED
18 #define SETUP_INDIRECT (1<<31)
19 #define SETUP_TYPE_MAX (SETUP_ENUM_MAX | SETUP_INDIRECT)
21 #ifndef __ASSEMBLY__
23 #include <linux/types.h>
25 /* extensible setup data list node */
26 struct setup_data {
27 __u64 next;
28 __u32 type;
29 __u32 len;
30 __u8 data[];
33 /* extensible setup indirect data node */
34 struct setup_indirect {
35 __u32 type;
36 __u32 reserved; /* Reserved, must be set to zero. */
37 __u64 len;
38 __u64 addr;
42 * The E820 memory region entry of the boot protocol ABI:
44 struct boot_e820_entry {
45 __u64 addr;
46 __u64 size;
47 __u32 type;
48 } __attribute__((packed));
51 * The boot loader is passing platform information via this Jailhouse-specific
52 * setup data structure.
54 struct jailhouse_setup_data {
55 struct {
56 __u16 version;
57 __u16 compatible_version;
58 } __attribute__((packed)) hdr;
59 struct {
60 __u16 pm_timer_address;
61 __u16 num_cpus;
62 __u64 pci_mmconfig_base;
63 __u32 tsc_khz;
64 __u32 apic_khz;
65 __u8 standard_ioapic;
66 __u8 cpu_ids[255];
67 } __attribute__((packed)) v1;
68 struct {
69 __u32 flags;
70 } __attribute__((packed)) v2;
71 } __attribute__((packed));
74 * IMA buffer setup data information from the previous kernel during kexec
76 struct ima_setup_data {
77 __u64 addr;
78 __u64 size;
79 } __attribute__((packed));
81 #endif /* __ASSEMBLY__ */
83 #endif /* _UAPI_ASM_X86_SETUP_DATA_H */