diff options
author | H. Peter Anvin (Intel) <hpa@zytor.com> | 2023-12-05 02:50:23 -0800 |
---|---|---|
committer | Borislav Petkov (AMD) <bp@alien8.de> | 2024-01-31 22:03:32 +0100 |
commit | cdd99dd873cb11c40adf1ef70693f72c622ac8f3 (patch) | |
tree | f297f74ee97f35c362b2bc8b13326023a0bb9871 /arch/x86/kernel/Makefile | |
parent | x86/syscall: Split IDT syscall setup code into idt_syscall_init() (diff) | |
download | linux-cdd99dd873cb11c40adf1ef70693f72c622ac8f3.tar.gz linux-cdd99dd873cb11c40adf1ef70693f72c622ac8f3.tar.bz2 linux-cdd99dd873cb11c40adf1ef70693f72c622ac8f3.zip |
x86/fred: Add FRED initialization functions
Add cpu_init_fred_exceptions() to:
- Set FRED entrypoints for events happening in ring 0 and 3.
- Specify the stack level for IRQs occurred ring 0.
- Specify dedicated event stacks for #DB/NMI/#MCE/#DF.
- Enable FRED and invalidtes IDT.
- Force 32-bit system calls to use "int $0x80" only.
Add fred_complete_exception_setup() to:
- Initialize system_vectors as done for IDT systems.
- Set unused sysvec_table entries to fred_handle_spurious_interrupt().
Co-developed-by: Xin Li <xin3.li@intel.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Shan Kang <shan.kang@intel.com>
Link: https://lore.kernel.org/r/20231205105030.8698-35-xin3.li@intel.com
Diffstat (limited to 'arch/x86/kernel/Makefile')
-rw-r--r-- | arch/x86/kernel/Makefile | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 0000325ab98f..0dcbfc1a4c41 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile @@ -48,6 +48,7 @@ obj-y += platform-quirks.o obj-y += process_$(BITS).o signal.o signal_$(BITS).o obj-y += traps.o idt.o irq.o irq_$(BITS).o dumpstack_$(BITS).o obj-y += time.o ioport.o dumpstack.o nmi.o +obj-$(CONFIG_X86_FRED) += fred.o obj-$(CONFIG_MODIFY_LDT_SYSCALL) += ldt.o obj-$(CONFIG_X86_KERNEL_IBT) += ibt_selftest.o obj-y += setup.o x86_init.o i8259.o irqinit.o |