linux/arch/x86/include/asm
Sean Christopherson 4b526de50e KVM: x86: Check kvm_rebooting in kvm_spurious_fault()
Explicitly check kvm_rebooting in kvm_spurious_fault() prior to invoking
BUG(), as opposed to assuming the caller has already done so.  Letting
kvm_spurious_fault() be called "directly" will allow VMX to better
optimize its low level assembly flows.

As a happy side effect, kvm_spurious_fault() no longer needs to be
marked as a dead end since it doesn't unconditionally BUG().

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-09-25 15:23:33 +02:00
..
crypto crypto: x86/xts - implement support for ciphertext stealing 2019-08-22 14:57:34 +10:00
e820 kvm, x86: Properly check whether a pfn is an MMIO or not 2019-04-30 21:49:46 +02:00
fpu x86/fpu: Inline fpu__xstate_clear_all_cpu_caps() 2019-07-07 12:01:47 +02:00
numachip
trace Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-07 10:24:10 -07:00
uv efi/x86: move UV_SYSTAB handling into arch/x86 2019-08-08 11:01:48 +03:00
vdso Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-09-17 12:35:15 -07:00
xen swiotlb-xen: simplify cache maintainance 2019-09-11 12:43:27 +02:00
acenv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
acpi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
acrn.h x86/acrn: Use HYPERVISOR_CALLBACK_VECTOR for ACRN guest upcall vector 2019-06-11 21:31:31 +02:00
agp.h
alternative-asm.h x86/nospec, objtool: Introduce ANNOTATE_IGNORE_ALTERNATIVE 2019-04-03 09:39:46 +02:00
alternative.h x86: alternative.h: use asm_inline for all alternative variants 2019-09-15 20:14:15 +02:00
amd_nb.h
apb_timer.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
apic.h x86/apic/flat64: Remove the IPI shorthand decision logic 2019-07-25 16:12:02 +02:00
apicdef.h
apm.h
arch_hweight.h x86/kconfig: Disable CONFIG_GENERIC_HWEIGHT and remove __HAVE_ARCH_SW_HWEIGHT 2019-05-13 11:07:33 +02:00
archrandom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 2019-06-05 17:37:06 +02:00
asm-offsets.h
asm-prototypes.h
asm.h x86/uaccess: Move copy_user_handle_tail() into asm 2019-04-03 09:36:29 +02:00
atomic.h x86/atomic: Fix smp_mb__{before,after}_atomic() 2019-06-17 12:09:59 +02:00
atomic64_32.h locking/atomic, x86: Use s64 for atomic64 2019-06-03 12:32:57 +02:00
atomic64_64.h x86/atomic: Fix smp_mb__{before,after}_atomic() 2019-06-17 12:09:59 +02:00
barrier.h x86: Remove X86_FEATURE_MFENCE_RDTSC 2019-07-22 12:00:51 +02:00
bios_ebda.h
bitops.h x86/bitops: Use __builtin_constant_p() directly instead of IS_IMMEDIATE() 2019-07-23 13:44:18 +02:00
boot.h
bootparam_utils.h x86/boot: Preserve boot_params.secure_boot from sanitizing 2019-09-02 09:17:45 +02:00
bug.h x86: bug.h: use asm_inline in _BUG_FLAGS definitions 2019-09-15 20:14:15 +02:00
bugs.h x86/cpu: Move arch_smt_update() to a neutral place 2019-07-25 16:11:59 +02:00
cache.h
cacheflush.h
cacheinfo.h
calgary.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
ce4100.h
checksum.h
checksum_32.h
checksum_64.h
clocksource.h
cmdline.h
cmpxchg.h
cmpxchg_32.h
cmpxchg_64.h
compat.h
cpu.h
cpu_device_id.h x86/cpufeature: Fix various quality problems in the <asm/cpu_device_hd.h> header 2019-02-11 12:36:24 +01:00
cpu_entry_area.h x86/exceptions: Split debug IST stack 2019-04-17 15:14:28 +02:00
cpufeature.h x86/cpufeature: Explain the macro duplication 2019-08-28 08:38:39 +02:00
cpufeatures.h Merge branch 'x86-vmware-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-09-16 19:40:24 -07:00
cpuidle_haltpoll.h cpuidle-haltpoll: vcpu hotplug support 2019-09-03 09:36:36 +02:00
cpumask.h
crash.h
current.h
debugreg.h x86/exceptions: Split debug IST stack 2019-04-17 15:14:28 +02:00
delay.h
desc.h
desc_defs.h
device.h
disabled-features.h
div64.h x86/math64: Provide a sane mul_u64_u32_div() implementation for x86_64 2019-09-03 08:56:14 +02:00
dma-direct.h
dma-mapping.h x86/dma: Remove the x86_dma_fallback_dev hack 2019-04-08 17:52:46 +02:00
dma.h
dmi.h
dwarf2.h
edac.h
efi.h efi: x86: move efi_is_table_address() into arch/x86 2019-08-08 11:01:48 +03:00
elf.h
emergency-restart.h
entry_arch.h
espfix.h
exec.h
extable.h
fb.h
fixmap.h x86/fixmap: Cleanup outdated comments 2019-08-19 21:50:19 +02:00
floppy.h
frame.h x86/stackframe: Move ENCODE_FRAME_POINTER to asm/frame.h 2019-06-25 10:23:45 +02:00
fsgsbase.h x86/fsgsbase: Revert FSGSBASE support 2019-07-03 16:35:23 +02:00
ftrace.h ftrace/x86: Remove mcount() declaration 2019-08-31 06:51:55 -04:00
futex.h
gart.h
genapic.h
geode.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
hardirq.h x86/Kconfig: Add new X86_HV_CALLBACK_VECTOR config symbol 2019-06-11 21:21:11 +02:00
highmem.h
hpet.h x86/hpet: Move clockevents into channels 2019-06-28 00:57:24 +02:00
hugetlb.h hugetlb: allow to free gigantic pages regardless of the configuration 2019-05-14 09:47:47 -07:00
hw_breakpoint.h
hw_irq.h x86/irq: Improve definition of VECTOR_SHUTDOWN et al 2019-08-19 23:19:06 +02:00
hyperv-tlfs.h KVM: x86: hyper-v: set NoNonArchitecturalCoreSharing CPUID bit when SMT is impossible 2019-09-24 13:37:30 +02:00
hypervisor.h x86/paravirt: Remove const mark from x86_hyper_xen_hvm variable 2019-07-17 08:09:59 +02:00
i8259.h
ia32.h
ia32_unistd.h
imr.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
inat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
inat_types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
init.h
insn-eval.h
insn.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
inst.h x86/fsgsbase: Revert FSGSBASE support 2019-07-03 16:35:23 +02:00
intel-family.h x86/cpu: Add new Airmont variant to Intel family 2019-09-06 07:30:39 +02:00
intel-mid.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
intel_ds.h perf/x86/intel: Add Icelake support 2019-04-16 12:26:18 +02:00
intel_mid_vrtc.h
intel_pconfig.h
intel_pmc_ipc.h
intel_pt.h perf/x86/intel: Support PEBS output to PT 2019-08-28 11:29:39 +02:00
intel_punit_ipc.h
intel_scu_ipc.h
intel_telemetry.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
invpcid.h
io.h arch/*: remove unused isa_page_to_bus() 2019-07-16 19:23:22 -07:00
io_apic.h
iomap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
iommu.h x86/dma: Get rid of iommu_pass_through 2019-08-23 10:11:01 +02:00
iommu_table.h
iosf_mbi.h
irq.h x86/irq: Move IS_ERR_OR_NULL() check into common do_IRQ() code 2019-08-19 23:19:06 +02:00
irq_regs.h x86/percpu, x86/irq: Relax {set,get}_irq_regs() 2019-06-17 12:43:42 +02:00
irq_remapping.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
irq_vectors.h x86/irq: Fix outdated comments 2019-04-22 11:42:59 +02:00
irq_work.h
irqdomain.h
irqflags.h x86/speculation/mds: Conditionally clear CPU buffers on idle entry 2019-03-06 21:52:13 +01:00
ist.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 2019-05-24 17:39:02 +02:00
jailhouse_para.h
jump_label.h x86/jump_label: Batch jump label updates 2019-06-17 12:09:23 +02:00
kasan.h
kaslr.h
kbdleds.h
Kbuild treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
kdebug.h
kexec-bzimage64.h
kexec.h x86/stackframe/32: Provide consistent pt_regs 2019-06-25 10:23:47 +02:00
kgdb.h
kmap_types.h
kprobes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
kvm_emulate.h x86: KVM: add xsetbv to the emulator 2019-08-22 10:09:20 +02:00
kvm_host.h KVM: x86: Check kvm_rebooting in kvm_spurious_fault() 2019-09-25 15:23:33 +02:00
kvm_page_track.h
kvm_para.h x86/mm, tracing: Fix CR2 corruption 2019-07-17 23:17:38 +02:00
kvm_vcpu_regs.h KVM: x86: Explicitly #define the VCPU_REGS_* indices 2019-02-20 22:47:38 +01:00
kvmclock.h
linkage.h
livepatch.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
local.h
local64.h
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h x86/MCE: Group AMD function prototypes in <asm/mce.h> 2019-03-24 10:54:13 +01:00
mcsafe_test.h
mem_encrypt.h x86, s390/mm: Move sme_active() and sme_me_mask to x86-specific header 2019-08-09 22:52:08 +10:00
microcode.h
microcode_amd.h
microcode_intel.h
misc.h
mmconfig.h
mmu.h x86/ldt: Initialize the context lock for init_mm 2019-07-09 13:57:27 +02:00
mmu_context.h x86/mm: Avoid redundant interrupt disable in load_mm_cr4() 2019-07-24 14:43:37 +02:00
mmx.h
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h
mpspec_def.h
mpx.h x86/mpx, mm/core: Fix recursive munmap() corruption 2019-05-09 10:37:17 +02:00
mshyperv.h x86/hyperv: Add functions to allocate/deallocate page for Hyper-V 2019-07-22 11:06:45 +02:00
msi.h
msidef.h
msr-index.h Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-09-16 18:47:53 -07:00
msr-trace.h
msr.h x86: Remove X86_FEATURE_MFENCE_RDTSC 2019-07-22 12:00:51 +02:00
mtrr.h
mwait.h x86/speculation/mds: Eliminate leaks by trace_hardirqs_on() 2019-06-26 15:01:50 +02:00
nmi.h
nops.h
nospec-branch.h x86/retpoline: Don't clobber RFLAGS during CALL_NOSPEC on i386 2019-08-23 17:38:13 +02:00
numa.h
numa_32.h
olpc.h Platform: OLPC: Move EC-specific functionality out from x86 2019-05-20 17:27:08 +03:00
olpc_ofw.h
orc_lookup.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
orc_types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
page.h
page_32.h
page_32_types.h x86/irq/32: Define IRQ_STACK_SIZE 2019-04-17 15:18:36 +02:00
page_64.h
page_64_types.h docs: fix broken documentation links 2019-06-08 13:42:13 -06:00
page_types.h
paravirt.h x86/paravirt: Drop {read,write}_cr8() hooks 2019-07-22 10:12:33 +02:00
paravirt_types.h x86/paravirt: Drop {read,write}_cr8() hooks 2019-07-22 10:12:33 +02:00
parport.h
pat.h
pci-direct.h
pci-functions.h
pci.h mm: replace all open encodings for NUMA_NO_NODE 2019-03-05 21:07:14 -08:00
pci_64.h
pci_x86.h
percpu.h x86/percpu: Optimize raw_cpu_xchg() 2019-06-17 12:43:44 +02:00
perf_event.h perf/x86/amd/ibs: Fix sample bias for dispatched micro-ops 2019-08-30 14:27:47 +02:00
perf_event_p4.h
pgalloc.h asm-generic, x86: introduce generic pte_{alloc,free}_one[_kernel] 2019-07-12 11:05:45 -07:00
pgtable-2level.h
pgtable-2level_types.h
pgtable-3level.h mm: lift the x86_32 PAE version of gup_get_pte to common code 2019-07-12 11:05:44 -07:00
pgtable-3level_types.h
pgtable-invert.h
pgtable.h mm: introduce ARCH_HAS_PTE_DEVMAP 2019-07-16 19:23:25 -07:00
pgtable_32.h x86/pgtable/32: Fix LOWMEM_PAGES constant 2019-07-10 17:19:58 +02:00
pgtable_32_types.h
pgtable_64.h mm: simplify gup_fast_permitted 2019-07-12 11:05:44 -07:00
pgtable_64_types.h docs: fix broken documentation links 2019-06-08 13:42:13 -06:00
pgtable_types.h mm: introduce ARCH_HAS_PTE_DEVMAP 2019-07-16 19:23:25 -07:00
pkeys.h
platform_sst_audio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
pm-trace.h
posix_types.h
preempt.h x86: Use CONFIG_PREEMPTION 2019-07-31 19:03:35 +02:00
probe_roms.h
processor-cyrix.h x86/cpu/cyrix: Remove {get,set}Cx86_old macros used for Cyrix processors 2019-03-21 12:28:50 +01:00
processor-flags.h
processor.h x86/asm: Move native_write_cr0/4() out of line 2019-07-10 22:15:05 +02:00
prom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
proto.h
pti.h
ptrace.h asm-generic: remove ptrace.h 2019-07-12 15:41:33 -07:00
purgatory.h
pvclock-abi.h
pvclock.h x86/vdso: Switch to generic vDSO implementation 2019-06-22 21:21:10 +02:00
qrwlock.h
qspinlock.h locking/qspinlock,x86: Clarify virt_spin_lock_key 2019-08-06 12:49:16 +02:00
qspinlock_paravirt.h
realmode.h x86/realmode: Remove trampoline_status 2019-07-22 11:30:18 +02:00
reboot.h
reboot_fixups.h
refcount.h
required-features.h
resctrl_sched.h
rio.h
rmwcc.h
seccomp.h
sections.h x86/mm: Identify the end of the kernel area to be reserved 2019-06-20 09:22:47 +02:00
segment.h
serial.h
set_memory.h x86/mm: Remove the unused set_memory_wt() function 2019-09-03 09:26:37 +02:00
setup.h
setup_arch.h
shmparam.h
sigcontext.h
sigframe.h
sighandling.h
signal.h
simd.h
smap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
smp.h x86/smp: Move smp_function_call implementations into IPI code 2019-07-25 16:12:01 +02:00
sparsemem.h
spec-ctrl.h
special_insns.h x86/paravirt: Drop {read,write}_cr8() hooks 2019-07-22 10:12:33 +02:00
spinlock.h
spinlock_types.h
sta2x11.h
stackprotector.h x86/irq/64: Split the IRQ stack into its own pages 2019-04-17 15:37:02 +02:00
stacktrace.h x86/stackframe/32: Provide consistent pt_regs 2019-06-25 10:23:47 +02:00
string.h
string_32.h
string_64.h
suspend.h
suspend_32.h
suspend_64.h x86/paravirt: Drop {read,write}_cr8() hooks 2019-07-22 10:12:33 +02:00
svm.h kvm: svm: Intercept RDPRU 2019-09-24 16:15:36 +02:00
swiotlb.h
switch_to.h sched/x86_64: Don't save flags on context switch 2019-04-03 11:02:24 +02:00
sync_bitops.h x86/asm: Modernize sync_bitops.h 2019-04-10 09:53:31 +02:00
sync_core.h
syscall.h x86/syscalls: Split the x32 syscalls into their own table 2019-07-22 10:31:23 +02:00
syscall_wrapper.h
syscalls.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 365 2019-06-05 17:37:09 +02:00
sysfb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
tce.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
text-patching.h x86: Correct misc typos 2019-09-02 14:02:59 +02:00
thread_info.h x86/entry: Add TIF_NEED_FPU_LOAD 2019-04-11 16:21:51 +02:00
time.h x86/timer: Skip PIT initialization on modern chipsets 2019-06-29 11:35:35 +02:00
timer.h
timex.h
tlb.h asm-generic/tlb, arch: Provide generic tlb_flush() based on flush_tlb_range() 2019-04-03 10:32:42 +02:00
tlbbatch.h
tlbflush.h x86/mm: Avoid redundant interrupt disable in load_mm_cr4() 2019-07-24 14:43:37 +02:00
topology.h topology: Create core_cpus and die_cpus sysfs attributes 2019-05-23 10:08:34 +02:00
trace_clock.h
traps.h Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-07-20 11:24:49 -07:00
tsc.h
uaccess.h x86/uaccess: Don't leak the AC flags into __get_user() argument evaluation 2019-09-02 14:22:38 +02:00
uaccess_32.h
uaccess_64.h x86/uaccess: Move copy_user_handle_tail() into asm 2019-04-03 09:36:29 +02:00
umip.h
unaligned.h
unistd.h x86/syscalls: Split the x32 syscalls into their own table 2019-07-22 10:31:23 +02:00
unwind.h x86/unwind: Handle NULL pointer calls better in frame unwinder 2019-03-06 23:03:26 +01:00
unwind_hints.h
uprobes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
user.h
user32.h
user_32.h
user_64.h
vdso.h x86/vdso: Remove hpet_page from vDSO 2019-05-08 13:13:57 +02:00
vga.h
vgtod.h x86/vdso: Switch to generic vDSO implementation 2019-06-22 21:21:10 +02:00
virtext.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 499 2019-06-19 17:09:53 +02:00
vm86.h
vmware.h x86/vmware: Add a header file for hypercall definitions 2019-08-28 13:32:06 +02:00
vmx.h kvm: nvmx: limit atomic switch MSRs 2019-09-24 16:32:15 +02:00
vsyscall.h x86/vsyscall: Show something useful on a read fault 2019-06-28 00:04:39 +02:00
vvar.h x86/vdso: Switch to generic vDSO implementation 2019-06-22 21:21:10 +02:00
word-at-a-time.h
x86_init.h x86/xen: Add "nopv" support for HVM guest 2019-07-17 08:09:59 +02:00
xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 47 2019-05-24 17:27:13 +02:00
xor_32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 47 2019-05-24 17:27:13 +02:00
xor_64.h
xor_avx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00