linux/arch/x86/include/asm
Sean Christopherson 41577ab8bd KVM: x86: Add comments to document various emulation types
Document the intended usage of each emulation type as each exists to
handle an edge case of one kind or another and can be easily
misinterpreted at first glance.

Cc: Liran Alon <liran.alon@oracle.com>
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-09-24 14:34:14 +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 x86/asm-prototypes: Remove duplicate include <asm/page.h> 2019-01-28 18:32:34 +01:00
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 Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
checksum_64.h
clocksource.h
cmdline.h
cmpxchg.h x86: Fix various typos in comments 2018-12-03 10:49:13 +01:00
cmpxchg_32.h
cmpxchg_64.h
compat.h x86/compat: Adjust in_compat_syscall() to generic code under !COMPAT 2018-11-01 12:59:25 +01:00
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 x86/headers: Fix -Wmissing-prototypes warning 2018-11-23 07:59:59 +01:00
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 x86/cpufeatures, x86/fault: Mark SMAP as disabled when configured out 2018-11-20 08:44:28 +01:00
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 x86/headers: Fix -Wmissing-prototypes warning 2018-11-23 07:59:59 +01:00
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: Add comments to document various emulation types 2019-09-24 14:34:14 +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 PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set 2018-12-20 10:19:49 +01:00
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 x86/headers: Fix -Wmissing-prototypes warning 2018-11-23 07:59:59 +01:00
reboot_fixups.h
refcount.h refcount_t: Add ACQUIRE ordering on success for dec(sub)_and_test() variants 2019-02-04 09:03:31 +01:00
required-features.h
resctrl_sched.h x86/resctrl: Avoid confusion over the new X86_RESCTRL config 2019-02-02 10:34:52 +01:00
rio.h
rmwcc.h jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
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 x86/kernel: Fix more -Wmissing-prototypes warnings 2018-12-08 12:24:35 +01:00
setup_arch.h
shmparam.h
sigcontext.h
sigframe.h
sighandling.h x86/headers: Fix -Wmissing-prototypes warning 2018-11-23 07:59:59 +01:00
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 x86/speculation: Prevent stale SPEC_CTRL msr content 2018-11-28 11:57:12 +01:00
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 x86/asm: Remove unused __constant_c_x_memset() macro and inlines 2019-01-12 17:54:49 +01:00
string_64.h x86/asm: Remove dead __GNUC__ conditionals 2019-01-12 17:50:48 +01:00
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/x86: Use SVM assembly instruction mnemonics instead of .byte streams 2018-12-21 11:28:44 +01: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 x86/headers: Fix -Wmissing-prototypes warning 2018-11-23 07:59:59 +01:00
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: trace nested VM-Enter failures detected by H/W 2019-09-11 17:34:17 +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