linux/arch/x86/xen
Juergen Gross b189879377 x86/boot: Skip realmode init code when running as Xen PV guest
[ Upstream commit f1e5250094 ]

When running as a Xen PV guest there is no need for setting up the
realmode trampoline, as realmode isn't supported in this environment.

Trying to setup the trampoline has been proven to be problematic in
some cases, especially when trying to debug early boot problems with
Xen requiring to keep the EFI boot-services memory mapped (some
firmware variants seem to claim basically all memory below 1Mb for boot
services).

Introduce new x86_platform_ops operations for that purpose, which can
be set to a NOP by the Xen PV specific kernel boot code.

  [ bp: s/call_init_real_mode/do_init_real_mode/ ]

Fixes: 084ee1c641 ("x86, realmode: Relocator for realmode code")
Suggested-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20221123114523.3467-1-jgross@suse.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2022-12-31 13:32:16 +01:00
..
apic.c arch:x86:xen: Remove unnecessary assignment in xen_apic_read() 2022-03-15 20:35:35 -05:00
debugfs.c x86: xen: no need to check return value of debugfs_create functions 2019-06-03 15:49:07 +02:00
debugfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
efi.c efi: x86/xen: switch to efi_get_secureboot_mode helper 2020-11-17 15:09:32 +01:00
enlighten.c x86/xen: Add support for HVMOP_set_evtchn_upcall_vector 2022-08-12 11:28:21 +02:00
enlighten_hvm.c xen/virtio: enable grant based virtio on x86 2022-10-10 14:31:26 +02:00
enlighten_pv.c x86/boot: Skip realmode init code when running as Xen PV guest 2022-12-31 13:32:16 +01:00
enlighten_pvh.c xen/x86: adjust data placement 2021-10-05 08:36:19 +02:00
grant-table.c x86/xen: open code alloc_vm_area in arch_gnttab_valloc 2020-10-18 09:27:10 -07:00
irq.c x86/xen: switch initial pvops IRQ functions to dummy ones 2021-11-02 08:03:43 -05:00
Kconfig xen/pv: support selecting safe/unsafe msr accesses 2022-10-11 10:51:05 +02:00
Makefile x86: remove the IOMMU table infrastructure 2022-04-18 07:21:10 +02:00
mmu.c x86/xen: Add SPDX identifier in arch/x86/xen files 2018-09-03 16:50:33 +02:00
mmu.h mm: update ptep_modify_prot_start/commit to take vm_area_struct as arg 2019-03-05 21:07:18 -08:00
mmu_hvm.c proc/vmcore: convert oldmem_pfn_is_ram callback to more generic vmcore callbacks 2021-11-09 10:02:48 -08:00
mmu_pv.c swiotlb-xen: fix DMA_ATTR_NO_KERNEL_MAPPING on arm 2022-05-11 19:48:32 +02:00
multicalls.c treewide: Switch printk users from %pf and %pF to %ps and %pS, respectively 2019-04-09 14:19:06 +02:00
multicalls.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
p2m.c memblock: use memblock_free for freeing virtual pointers 2021-11-06 13:30:41 -07:00
platform-pci-unplug.c x86: xen: platform-pci-unplug: use pr_err() and pr_warn() instead of raw printk() 2021-08-30 12:09:54 +02:00
pmu.c x86/xen: silence smatch warning in pmu_msr_chk_emulated() 2022-11-03 10:23:26 +01:00
pmu.h xen: fix is_xen_pmu() 2022-03-25 14:22:53 -05:00
setup.c x86/xen: Use kstrtobool() instead of strtobool() 2022-11-14 13:29:01 +01:00
smp.c x86/xen: Fix memory leak in xen_smp_intr_init{_pv}() 2022-12-31 13:31:59 +01:00
smp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smp_hvm.c xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32 2022-03-10 09:27:55 -06:00
smp_pv.c x86/xen: Fix memory leak in xen_smp_intr_init{_pv}() 2022-12-31 13:31:59 +01:00
spinlock.c x86/xen: Fix memory leak in xen_init_lock_cpu() 2022-12-31 13:31:59 +01:00
suspend.c x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend 2018-02-28 16:03:19 +01:00
suspend_hvm.c x86/xen: Add support for HVMOP_set_evtchn_upcall_vector 2022-08-12 11:28:21 +02:00
suspend_pv.c locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
time.c xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32 2022-03-10 09:27:55 -06:00
trace.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vga.c xen/x86: obtain full video frame buffer address for Dom0 also under EFI 2022-02-10 11:07:23 +01:00
xen-asm.S objtool: Add entry UNRET validation 2022-06-27 10:34:00 +02:00
xen-head.S Just when you thought that all the speculation bugs were addressed and 2022-07-11 18:15:25 -07:00
xen-ops.h x86/xen: Rename SYS* entry points 2022-06-27 10:33:59 +02:00