Centos-kernel-stream-9/arch/x86/kernel
Rafael Aquini 6b6e0eef10 x86/vmware: Parse MP tables for SEV-SNP enabled guests under VMware hypervisors
JIRA: https://issues.redhat.com/browse/RHEL-84184

This patch is a backport of the following upstream commit:
commit a2ab25529bbcea51b5e01dded79f45aeb94f644a
Author: Ajay Kaher <ajay.kaher@broadcom.com>
Date:   Thu Mar 13 17:31:11 2025 +0000

    x86/vmware: Parse MP tables for SEV-SNP enabled guests under VMware hypervisors

    Under VMware hypervisors, SEV-SNP enabled VMs are fundamentally able to boot
    without UEFI, but this regressed a year ago due to:

      0f4a1e80989a ("x86/sev: Skip ROM range scans and validation for SEV-SNP guests")

    In this case, mpparse_find_mptable() has to be called to parse MP
    tables which contains the necessary boot information.

    [ mingo: Updated the changelog. ]

    Fixes: 0f4a1e80989a ("x86/sev: Skip ROM range scans and validation for SEV-SNP guests")
    Co-developed-by: Ye Li <ye.li@broadcom.com>
    Signed-off-by: Ye Li <ye.li@broadcom.com>
    Signed-off-by: Ajay Kaher <ajay.kaher@broadcom.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Tested-by: Ye Li <ye.li@broadcom.com>
    Reviewed-by: Kevin Loughlin <kevinloughlin@google.com>
    Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
    Link: https://lore.kernel.org/r/20250313173111.10918-1-ajay.kaher@broadcom.com

Signed-off-by: Rafael Aquini <raquini@redhat.com>
2025-04-18 08:39:51 -04:00
..
acpi x86/smp: Fix mwait_play_dead() and acpi_processor_ffh_play_dead() noreturn behavior [partial] 2025-04-01 07:27:08 -04:00
apic x86/apic: Always explicitly disarm TSC-deadline timer 2024-12-05 07:43:00 -05:00
cpu x86/vmware: Parse MP tables for SEV-SNP enabled guests under VMware hypervisors 2025-04-18 08:39:51 -04:00
fpu x86/shstk: Handle thread shadow stack 2024-10-01 11:17:09 -04:00
kprobes x86/bugs: Rename CONFIG_RETPOLINE => CONFIG_MITIGATION_RETPOLINE 2024-07-26 14:33:35 -04:00
.gitignore
Makefile x86, crash: wrap crash dumping code into crash related ifdefs 2024-12-23 09:35:35 +08:00
alternative.c x86/mm: delete unused cpu argument to leave_mm() 2024-12-09 12:24:23 -05:00
amd_gart_64.c change alloc_pages name in dma_map_ops to avoid name conflicts 2024-09-20 12:29:01 -07:00
amd_nb.c x86/cpu/amd: Provide a separate accessor for Node ID 2024-05-02 15:16:04 -04:00
aperture_64.c x86/pci: Use PCI_HEADER_TYPE_* instead of literals 2024-03-30 14:55:37 -06:00
apm_32.c x86/APM: drop the duplicate APM_MINOR_DEV macro 2024-03-20 09:43:14 -04:00
asm-offsets.c x86/bugs: Rename CONFIG_CALL_DEPTH_TRACKING => CONFIG_MITIGATION_CALL_DEPTH_TRACKING 2024-07-26 14:33:35 -04:00
asm-offsets_32.c
asm-offsets_64.c
audit_64.c x86/audit: Fix -Wmissing-variable-declarations warning for ia32_xyz_class 2024-03-20 09:43:22 -04:00
bootflag.c
callthunks.c x86/xen: remove hypercall page 2025-02-18 17:58:06 +01:00
cet.c x86/shstk: Add user control-protection fault handler 2024-10-01 11:17:12 -04:00
cfi.c cfi: Flip headers 2024-06-25 10:52:30 +02:00
check.c
cpuid.c x86/cpuid: make cpuid_class a static const structure 2024-03-20 09:43:15 -04:00
crash.c crash: add a new kexec flag for hotplug support 2024-12-23 09:35:36 +08:00
crash_dump_32.c
crash_dump_64.c use less confusing names for iov_iter direction initializers 2024-05-15 13:56:26 +08:00
devicetree.c x86/dtb: Rename x86_dtb_init() 2024-08-29 08:19:49 -04:00
doublefault_32.c x86: Avoid missing-prototype warnings for doublefault code 2024-03-20 09:43:07 -04:00
dumpstack.c x86/bugs: Rename CONFIG_PAGE_TABLE_ISOLATION => CONFIG_MITIGATION_PAGE_TABLE_ISOLATION 2024-07-26 14:33:35 -04:00
dumpstack_32.c
dumpstack_64.c
e820.c x86/mm: Make e820__end_ram_pfn() cover E820_TYPE_ACPI ranges 2024-10-09 18:04:21 +02:00
early-quirks.c drm/intel: intel headers were moved to include/drm/intel/ 2025-01-10 10:39:38 +01:00
early_printk.c x86/earlyprintk: Clean up pciserial 2024-03-20 09:42:40 -04:00
ebda.c
eisa.c x86/sev: Skip ROM range scans and validation for SEV-SNP guests 2024-07-19 11:50:19 -04:00
espfix_64.c
ftrace.c x86/bugs: Rename CONFIG_SLS => CONFIG_MITIGATION_SLS 2024-07-26 14:33:35 -04:00
ftrace_32.S x86/ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL 2024-03-20 09:43:11 -04:00
ftrace_64.S x86,objtool: Split UNWIND_HINT_EMPTY in two 2024-09-18 15:14:40 +02:00
head32.c x86/boot/32: Temporarily map initrd for microcode loading 2024-03-20 09:43:32 -04:00
head64.c x86/head/64: Move the __head definition to <asm/init.h> 2024-03-20 09:43:31 -04:00
head_32.S x86/bugs: Rename CONFIG_PAGE_TABLE_ISOLATION => CONFIG_MITIGATION_PAGE_TABLE_ISOLATION 2024-07-26 14:33:35 -04:00
head_64.S x86,objtool: Split UNWIND_HINT_EMPTY in two 2024-09-18 15:14:40 +02:00
hpet.c x86/cpu: Remove unnecessary MwAIT leaf checks 2025-03-31 15:20:47 -04:00
hw_breakpoint.c
i8237.c
i8253.c
i8259.c x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility 2024-03-20 09:43:34 -04:00
ibt_selftest.S x86/ibt: Convert IBT selftest to asm 2024-03-20 09:43:21 -04:00
idt.c x86/shstk: Add user control-protection fault handler 2024-10-01 11:17:12 -04:00
io_delay.c
ioport.c
irq.c x86: replace CONFIG_HAVE_KVM with IS_ENABLED(CONFIG_KVM) 2024-05-13 18:38:35 -04:00
irq_32.c
irq_64.c
irq_work.c x86/apic: Wrap IPI calls into helper functions 2024-03-20 09:43:20 -04:00
irqflags.S
irqinit.c
itmt.c x86/itmt: Move the "sched_itmt_enabled" sysctl to debugfs 2025-04-10 07:36:36 -04:00
jailhouse.c x86/apic: Remove the pointless APIC version check 2024-03-20 09:43:16 -04:00
jump_label.c jump_label: make initial NOP patching the special case 2024-03-20 09:43:04 -04:00
kdebugfs.c
kexec-bzimage64.c x86, crash: wrap crash dumping code into crash related ifdefs 2024-12-23 09:35:35 +08:00
kgdb.c x86/kgdb: Fix a kerneldoc warning when build with W=1 2024-03-20 09:43:25 -04:00
ksysfs.c
kvm.c x86/kvm: Fix SEV check in sev_map_percpu_data() 2025-04-18 08:39:51 -04:00
kvmclock.c kvmclock: Unexport kvmclock clocksource 2024-10-07 15:20:36 +02:00
ldt.c arch/x86: Fix typos 2024-08-29 08:19:47 -04:00
machine_kexec_32.c
machine_kexec_64.c Merge: x86/kexec: Add EFI config table identity mapping for kexec kernel 2025-01-14 14:18:35 +00:00
mmconf-fam10h_64.c
module.c module: replace module_layout with module_memory 2024-06-17 14:17:22 -04:00
mpparse.c x86/mpparse: Switch to new init callbacks 2024-08-29 08:19:49 -04:00
msr.c x86/MSR: make msr_class a static const structure 2024-03-20 09:43:15 -04:00
nmi.c Merge: x86/rfds: Mitigate Register File Data Sampling (RFDS) 2024-05-22 21:20:19 +00:00
nmi_selftest.c x86/apic: Wrap IPI calls into helper functions 2024-03-20 09:43:20 -04:00
paravirt-spinlocks.c
paravirt.c x86/xen: move paravirt lazy code 2024-03-20 09:43:24 -04:00
pci-dma.c x86: always initialize xen-swiotlb when xen-pcifront is enabling 2024-03-20 09:43:14 -04:00
pcspeaker.c
perf_regs.c
platform-quirks.c x86/quirks: Include linux/pnp.h for arch_pnpbios_disabled() 2024-03-20 09:43:08 -04:00
pmem.c x86/pmem: Fix platform-device leak in error path 2024-03-20 09:43:04 -04:00
probe_roms.c x86/sev: Skip ROM range scans and validation for SEV-SNP guests 2024-07-19 11:50:19 -04:00
process.c Merge: x86 confidential computing updates for RHEL 9.6 2024-11-05 11:43:04 +00:00
process.h
process_32.c
process_64.c x86/mm: Cleanup prctl_enable_tagged_addr() nr_bits error checking 2024-12-09 12:25:19 -05:00
ptrace.c x86: Add PTRACE interface for shadow stack 2024-03-20 09:43:14 -04:00
pvclock.c
quirks.c
reboot.c x86, crash: wrap crash dumping code into crash related ifdefs 2024-12-23 09:35:35 +08:00
reboot_fixups_32.c
relocate_kernel_32.S
relocate_kernel_64.S Merge: x86 confidential computing updates for RHEL 9.6 2024-11-05 11:43:04 +00:00
resource.c
rethook.c
rtc.c x86/rtc: Simplify PNP ids check 2024-03-20 09:42:53 -04:00
setup.c Merge: arch/x86/kernel/setup.c: fix rh_check_supported 2025-03-27 16:28:28 -03:00
setup_percpu.c x86/apic/32: Remove x86_cpu_to_logical_apicid 2024-03-20 09:43:17 -04:00
sev_verify_cbit.S
shstk.c x86/shstk: Handle vfork clone failure correctly 2024-10-01 11:22:47 -04:00
signal.c x86/shstk: Handle signals for shadow stack 2024-10-01 11:17:13 -04:00
signal_32.c x86/shstk: Add user control-protection fault handler 2024-10-01 11:17:12 -04:00
signal_64.c x86/shstk: Delay signal entry SSP write until after user accesses 2024-10-01 11:22:45 -04:00
smp.c x86, crash: wrap crash dumping code into crash related ifdefs 2024-12-23 09:35:35 +08:00
smpboot.c x86/topology: Use x86_sched_itmt_flags for PKG domain unconditionally 2025-04-10 07:36:36 -04:00
stacktrace.c
static_call.c x86/static-call: Remove early_boot_irqs_disabled check to fix Xen PVH dom0 2025-02-18 17:58:06 +01:00
step.c
sys_ia32.c
sys_x86_64.c x86/mm: Introduce MAP_ABOVE4G 2024-03-20 09:43:13 -04:00
tboot.c mm: remove rb tree. 2024-04-01 11:19:44 -04:00
time.c x86: stop playing stack games in profile_pc() 2024-07-31 14:15:46 +00:00
tls.c x86/gsseg: Move load_gs_index() to its own new header file 2024-03-20 09:42:54 -04:00
tls.h
topology.c Revert "x86/topology: Switch over to GENERIC_CPU_DEVICES" 2024-09-10 07:34:16 -04:00
trace.c
trace_clock.c
tracepoint.c x86/traceponit: Fix comment about irq vector tracepoints 2024-03-20 09:42:36 -04:00
traps.c x86/shstk: Add user control-protection fault handler 2024-10-01 11:17:12 -04:00
tsc.c x86/tsc: Move away from TSC leaf magic numbers 2025-02-14 16:43:40 -05:00
tsc_msr.c
tsc_sync.c x86/tsc: Trust initial offset in architectural TSC-adjust MSRs 2024-05-07 09:51:02 -04:00
umip.c
unwind_frame.c
unwind_guess.c
unwind_orc.c x86,objtool: Split UNWIND_HINT_EMPTY in two 2024-09-18 15:14:40 +02:00
uprobes.c x86/shstk: Make return uprobe work with shadow stack 2024-10-01 11:22:45 -04:00
verify_cpu.S
vm86_32.c
vmcore_info_32.c crash: split vmcoreinfo exporting code out from crash_core.c 2024-12-23 09:35:35 +08:00
vmcore_info_64.c crash: split vmcoreinfo exporting code out from crash_core.c 2024-12-23 09:35:35 +08:00
vmlinux.lds.S x86/xen: remove hypercall page 2025-02-18 17:58:06 +01:00
vsmp_64.c x86/apic: Remove unused phys_pkg_id() callback 2024-08-29 08:19:47 -04:00
x86_init.c x86/mm: Add callbacks to prepare encrypted memory for kexec 2024-10-09 18:04:21 +02:00