/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ARCH_X86_REALMODE_H #define _ARCH_X86_REALMODE_H /* * Flag bit definitions for use with the flags field of the trampoline header * in the CONFIG_X86_64 variant. */ #define TH_FLAGS_SME_ACTIVE_BIT 0 #define TH_FLAGS_SME_ACTIVE BIT(TH_FLAGS_SME_ACTIVE_BIT) #ifndef __ASSEMBLY__ #include <linux/types.h> #include <asm/io.h> /* This must match data at realmode.S */ struct real_mode_header { u32 text_start; u32 ro_end; /* SMP trampoline */ u32 trampoline_start; u32 trampoline_status; u32 trampoline_header; #ifdef CONFIG_X86_64 u32 trampoline_pgd; #endif /* ACPI S3 wakeup */ #ifdef CONFIG_ACPI_SLEEP u32 wakeup_start; u32 wakeup_header; #endif /* APM/BIOS reboot */ u32 machine_real_restart_asm; #ifdef CONFIG_X86_64 u32 machine_real_restart_seg; #endif }; /* This must match data at trampoline_32/64.S */ struct trampoline_header { #ifdef CONFIG_X86_32 u32 start; u16 gdt_pad; u16 gdt_limit; u32 gdt_base; #else u64 start; u64 efer; u32 cr4; u32 flags; #endif }; extern struct real_mode_header *real_mode_header; extern unsigned char real_mode_blob_end[]; extern unsigned long initial_code; extern unsigned long initial_gs; extern unsigned long initial_stack; extern unsigned char real_mode_blob[]; extern unsigned char real_mode_relocs[]; #ifdef CONFIG_X86_32 extern unsigned char startup_32_smp[]; extern unsigned char boot_gdt[]; #else extern unsigned char secondary_startup_64[]; #endif
static inline size_t real_mode_size_needed(void) { if (real_mode_header) return 0; /* already allocated. */ return ALIGN(real_mode_blob_end - real_mode_blob, PAGE_SIZE); }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Andrew Lutomirski | 27 | 100.00% | 1 | 100.00% |
Total | 27 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Jarkko Sakkinen | 154 | 67.25% | 6 | 46.15% |
Andrew Lutomirski | 37 | 16.16% | 1 | 7.69% |
Tom Lendacky | 18 | 7.86% | 1 | 7.69% |
H. Peter Anvin | 9 | 3.93% | 2 | 15.38% |
Josh Poimboeuf | 5 | 2.18% | 1 | 7.69% |
Yinghai Lu | 5 | 2.18% | 1 | 7.69% |
Greg Kroah-Hartman | 1 | 0.44% | 1 | 7.69% |
Total | 229 | 100.00% | 13 | 100.00% |