linux/arch/x86/xen
Thomas Gleixner 8edd7e37ae x86/entry: Convert INT3 exception to IDTENTRY_RAW
Convert #BP to IDTENTRY_RAW:
  - Implement the C entry point with DEFINE_IDTENTRY_RAW
  - Invoke idtentry_enter/exit() from the function body
  - Emit the ASM stub with DECLARE_IDTENTRY_RAW
  - Remove the ASM idtentry in 64bit
  - Remove the open coded ASM entry code in 32bit
  - Fixup the XEN/PV code
  - Remove the old prototypes

No functional change.

This could be a plain IDTENTRY, but as Peter pointed out INT3 is broken
vs. the static key in the context tracking code as this static key might be
in the state of being patched and has an int3 which would recurse forever.
IDTENTRY_RAW is therefore chosen to allow addressing this issue without
lots of code churn.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Andy Lutomirski <luto@kernel.org>
Link: https://lkml.kernel.org/r/20200505135313.938474960@linutronix.de
2020-06-11 15:14:55 +02:00
..
apic.c Merge branch 'WIP.x86/asm' into x86/urgent, because the topic is ready 2018-04-12 09:42:34 +02: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/libstub: Add definitions for console input and events 2020-05-20 19:09:20 +02:00
enlighten_hvm.c x86/xen: Add "nopv" support for HVM guest 2019-07-17 08:09:59 +02:00
enlighten_pv.c x86/entry: Convert INT3 exception to IDTENTRY_RAW 2020-06-11 15:14:55 +02:00
enlighten_pvh.c xen/pvh: correctly setup the PV EFI interface for dom0 2019-04-25 10:36:25 -04:00
enlighten.c x86/xen: Return from panic notifier 2019-10-07 17:53:30 -04:00
grant-table.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
irq.c x86/paravirt: Use a single ops structure 2018-09-03 16:50:35 +02:00
Kconfig x86/Kconfig: Fix Kconfig indentation 2019-12-10 18:43:21 +01:00
Makefile xen/pvh: Create a new file for Xen specific PVH code 2018-12-13 13:41:49 -05:00
mmu_hvm.c x86/paravirt: Use a single ops structure 2018-09-03 16:50:35 +02:00
mmu_pv.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07: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
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 x86: xen: no need to check return value of debugfs_create functions 2019-06-03 15:49:07 +02:00
pci-swiotlb-xen.c x86/xen: Add SPDX identifier in arch/x86/xen files 2018-09-03 16:50:33 +02:00
platform-pci-unplug.c xen/pvh: don't try to unplug emulated devices 2018-10-26 09:16:57 +02:00
pmu.c Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-10-23 16:16:40 +01:00
pmu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
setup.c x86/xen: make xen_pvmmu_arch_setup() static 2020-04-08 10:46:25 +02:00
smp_hvm.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smp_pv.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
smp.c x86/smp: Replace cpu_up/down() with add/remove_cpu() 2020-03-25 12:59:35 +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
spinlock.c Revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized" 2019-07-17 08:09:57 +02:00
suspend_hvm.c x86/xen: Split HVM vector callback setup and interrupt gate allocation 2020-06-11 15:14:32 +02:00
suspend_pv.c x86/xen/time: Initialize pv xen time in init_hypervisor_platform() 2018-07-20 00:02:39 +02:00
suspend.c x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend 2018-02-28 16:03:19 +01:00
time.c x86/vdso: Use generic VDSO clock mode storage 2020-02-17 14:40:23 +01: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
vdso.h x86/xen: Add SPDX identifier in arch/x86/xen files 2018-09-03 16:50:33 +02:00
vga.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xen-asm_32.S x86/entry/32: Convert IRET exception to IDTENTRY_SW 2020-06-11 15:14:52 +02:00
xen-asm_64.S x86/entry: Convert INT3 exception to IDTENTRY_RAW 2020-06-11 15:14:55 +02:00
xen-asm.S x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_* 2019-10-18 11:58:33 +02:00
xen-head.S x86/xen: fix booting 32-bit pv guest 2020-04-09 16:53:48 +02:00
xen-ops.h x86/xen: Split HVM vector callback setup and interrupt gate allocation 2020-06-11 15:14:32 +02:00