mirror_ubuntu-kernels/arch/x86/include/asm
Sean Christopherson 2008fab345 KVM: x86: Inhibit APIC memslot if x2APIC and AVIC are enabled
Free the APIC access page memslot if any vCPU enables x2APIC and SVM's
AVIC is enabled to prevent accesses to the virtual APIC on vCPUs with
x2APIC enabled.  On AMD, if its "hybrid" mode is enabled (AVIC is enabled
when x2APIC is enabled even without x2AVIC support), keeping the APIC
access page memslot results in the guest being able to access the virtual
APIC page as x2APIC is fully emulated by KVM.  I.e. hardware isn't aware
that the guest is operating in x2APIC mode.

Exempt nested SVM's update of APICv state from the new logic as x2APIC
can't be toggled on VM-Exit.  In practice, invoking the x2APIC logic
should be harmless precisely because it should be a glorified nop, but
play it safe to avoid latent bugs, e.g. with dropping the vCPU's SRCU
lock.

Intel doesn't suffer from the same issue as APICv has fully independent
VMCS controls for xAPIC vs. x2APIC virtualization.  Technically, KVM
should provide bus error semantics and not memory semantics for the APIC
page when x2APIC is enabled, but KVM already provides memory semantics in
other scenarios, e.g. if APICv/AVIC is enabled and the APIC is hardware
disabled (via APIC_BASE MSR).

Note, checking apic_access_memslot_enabled without taking locks relies
it being set during vCPU creation (before kvm_vcpu_reset()).  vCPUs can
race to set the inhibit and delete the memslot, i.e. can get false
positives, but can't get false negatives as apic_access_memslot_enabled
can't be toggled "on" once any vCPU reaches KVM_RUN.

Opportunistically drop the "can" while updating avic_activate_vmcb()'s
comment, i.e. to state that KVM _does_ support the hybrid mode.  Move
the "Note:" down a line to conform to preferred kernel/KVM multi-line
comment style.

Opportunistically update the apicv_update_lock comment, as it isn't
actually used to protect apic_access_memslot_enabled (which is protected
by slots_lock).

Fixes: 0e311d33bf ("KVM: SVM: Introduce hybrid-AVIC mode")
Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20230106011306.85230-11-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-01-13 10:45:25 -05:00
..
e820 x86/PCI: Revert "x86/PCI: Clip only host bridge windows for E820 regions" 2022-06-17 14:24:14 -05:00
fpu x86/fpu: Add a helper to prepare AMX state for low-power CPU idle 2022-07-19 18:46:15 +02:00
numachip
shared Intel Trust Domain Extensions 2022-05-23 17:51:12 -07:00
trace x86/fpu: Convert tracing to fpstate 2021-10-20 22:35:04 +02:00
uv x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
vdso clocksource/drivers/hyper-v: Re-enable VDSO_CLOCKMODE_HVCLOCK on X86 2021-05-14 14:55:13 +02:00
xen x86/xen: Add support for HVMOP_set_evtchn_upcall_vector 2022-08-12 11:28:21 +02:00
acenv.h ACPICA: Avoid cache flush inside virtual machines 2022-04-07 08:27:54 -07:00
acpi.h x86/mce, cper: Pass x86 CPER through the MCA handling chain 2020-11-21 12:05:41 +01:00
acrn.h x86/acrn: Set up timekeeping 2022-08-04 11:11:59 +02:00
agp.h x86: Fix various typos in comments, take #2 2021-03-21 23:50:28 +01:00
alternative.h x86: Undo return-thunk damage 2022-06-27 10:33:58 +02:00
amd_hsmp.h platform/x86: Add AMD system management interface 2022-03-02 11:42:36 +01:00
amd_nb.h x86/amd_nb: Unexport amd_cache_northbridges() 2022-04-05 19:22:27 +02:00
amd-ibs.h perf/x86/amd: Add IBS OP_DATA2 DataSrc bit definitions 2022-09-29 12:20:54 +02:00
apic.h profile: setup_profiling_timer() is moslty not implemented 2022-07-29 18:12:36 -07:00
apicdef.h KVM: x86: lapic: Rename [GET/SET]_APIC_DEST_FIELD to [GET/SET]_XAPIC_DEST_FIELD 2022-06-24 12:44:34 -04:00
apm.h
arch_hweight.h
archrandom.h random: handle archrandom with multiple longs 2022-07-25 13:26:14 +02:00
asm-offsets.h
asm-prototypes.h x86/retpoline: Move the retpoline thunk declarations to nospec-branch.h 2021-10-28 23:25:27 +02:00
asm.h x86/extable: Prefer local labels in .set directives 2022-04-07 11:27:02 +02:00
atomic64_32.h locking/atomics: Flip fallbacks and instrumentation 2020-06-11 08:03:24 +02:00
atomic64_64.h asm-generic/atomic: Add try_cmpxchg() fallbacks 2020-10-12 18:27:27 +02:00
atomic.h locking/atomic: make ARCH_ATOMIC a Kconfig symbol 2021-05-26 13:20:49 +02:00
audit.h
barrier.h x86/barriers, kcsan: Use generic instrumentation for non-smp barriers 2021-12-09 16:42:28 -08:00
bios_ebda.h
bitops.h x86/asm/bitops: Use __builtin_ctzl() to evaluate constant expressions 2022-09-20 15:35:37 +02:00
boot.h x86: Add support for ZSTD compressed kernel 2020-07-31 11:49:09 +02:00
bootparam_utils.h x86/boot: Add a pointer to Confidential Computing blob in bootparams 2022-04-07 16:47:11 +02:00
bug.h - Remove all the code around GS switching on 32-bit now that it is not 2022-05-23 18:42:07 -07:00
bugs.h
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cacheflush.h
cacheinfo.h x86/CPU/AMD: Save AMD NodeId as cpu_die_id 2020-11-19 11:43:13 +01:00
ce4100.h
cfi.h x86: Add support for CONFIG_CFI_CLANG 2022-09-26 10:13:16 -07:00
checksum_32.h i386: propagate the calling conventions change down to csum_partial_copy_generic() 2020-08-20 15:45:18 -04:00
checksum_64.h amd64: switch csum_partial_copy_generic() to new calling conventions 2020-08-20 15:45:22 -04:00
checksum.h x86: kasan: kmsan: support CONFIG_GENERIC_CSUM on x86, enable it for KASAN/KMSAN 2022-10-03 14:03:24 -07:00
clocksource.h
cmdline.h
cmpxchg_32.h locking/atomic/x86: Introduce arch_try_cmpxchg64 2022-05-18 00:08:28 +02:00
cmpxchg_64.h locking/atomic/x86: Introduce arch_try_cmpxchg64 2022-05-18 00:08:28 +02:00
cmpxchg.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
coco.h x86/coco: Add API to handle encryption mask 2022-02-23 19:14:29 +01:00
compat.h RISC-V Patches for the 5.19 Merge Window, Part 1 2022-05-31 14:10:54 -07:00
cpu_device_id.h
cpu_entry_area.h task_stack, x86/cea: Force-inline stack helpers 2022-04-04 10:13:07 +02:00
cpu.h x86/apic: Don't disable x2APIC if locked 2022-08-31 14:34:11 -07:00
cpufeature.h asm goto: eradicate CC_HAS_ASM_GOTO 2022-08-21 10:06:28 -07:00
cpufeatures.h x86: KVM: Advertise AVX-IFMA CPUID to user space 2022-11-28 13:33:28 -05:00
cpuid.h KVM: x86: Move lookup of indexed CPUID leafs to helper 2022-04-07 16:47:11 +02:00
cpuidle_haltpoll.h
cpumask.h cpumask: Add a x86-specific cpumask_clear_cpu() helper 2022-02-12 18:20:05 +01:00
crash.h x86/crash: Remove crash_reserve_low_1M() 2021-06-07 12:14:45 +02:00
current.h
debugreg.h x86/debug: Remove aout_dump_debugregs() 2020-09-04 15:12:55 +02:00
delay.h
desc_defs.h x86/idt: Make IDT init functions static inlines 2020-09-07 22:44:43 +02:00
desc.h Merge branch 'akpm' (patches from Andrew) 2021-07-02 12:08:10 -07:00
device.h x86: Remove dev->archdata.iommu pointer 2020-06-30 11:59:48 +02:00
disabled-features.h x86/retbleed: Add fine grained Kconfig knobs 2022-06-29 17:43:41 +02:00
div64.h sched/cputime: Improve cputime_adjust() 2020-06-15 14:10:00 +02:00
dma-mapping.h x86: remove cruft from <asm/dma-mapping.h> 2022-04-18 07:21:14 +02:00
dma.h PCI: Move isa_dma_bridge_buggy out of asm/dma.h 2022-07-22 17:24:47 -05:00
dmi.h
doublefault.h
dwarf2.h
edac.h
efi.h EFI updates for v5.20 2022-08-03 14:38:02 -07:00
elf.h x86/32: Simplify ELF_CORE_COPY_REGS 2022-04-12 15:42:59 +02:00
elfcore-compat.h [amd64] clean PRSTATUS_SIZE/SET_PR_FPVALID up properly 2021-01-06 08:40:56 -05:00
emergency-restart.h
emulate_prefix.h
enclu.h x86/vdso: Implement a vDSO for Intel SGX enclave call 2020-11-18 18:02:50 +01:00
entry-common.h entry: Rename arch_check_user_regs() to arch_enter_from_user_mode() 2022-05-09 11:33:38 +02:00
espfix.h
exec.h
extable_fixup_types.h x86: simplify load_unaligned_zeropad() implementation 2022-08-16 11:03:38 -07:00
extable.h x86/extable: Annotate ex_handler_msr_mce() as a dead end 2022-05-27 12:34:45 +02:00
fb.h
fixmap.h x86/platform/intel-mid: Remove unused leftovers (vRTC) 2021-02-09 15:28:37 +01:00
floppy.h floppy: remove redundant assignment to variable st 2021-04-20 08:59:03 -06:00
frame.h x86/unwind/fp: Fix FP unwinding in ret_from_fork 2020-09-18 09:59:40 +02:00
fsgsbase.h x86/fsgsbase: Replace static_cpu_has() with boot_cpu_has() 2020-08-24 18:18:32 +02:00
ftrace.h x86/ftrace: Remove unused modifying_ftrace_code declaration 2022-09-26 13:20:35 -04:00
futex.h x86/futex: Remove .fixup usage 2021-12-11 09:09:47 +01:00
gart.h x86: remove the IOMMU table infrastructure 2022-04-18 07:21:10 +02:00
GEN-for-each-reg.h x86/asm: Fix register order 2021-10-28 23:25:26 +02:00
genapic.h
geode.h
hardirq.h x86/kvm/vmx: Move guest enter/exit into .noinstr.text 2020-07-09 07:08:40 -04:00
highmem.h mm/usercopy: Check kmap addresses properly 2022-04-13 12:15:50 -07:00
hpet.h x86/hpet: Move MSI support into hpet.c 2020-10-28 20:26:25 +01:00
hugetlb.h
hw_breakpoint.h perf/hw_breakpoint: Optimize constant number of breakpoint slots 2022-08-30 10:56:22 +02:00
hw_irq.h iommu/amd: Fix IOMMU interrupt generation in X2APIC mode 2020-11-18 20:55:59 +01:00
hyperv-tlfs.h x86/hyperv: Add HV_EXPOSE_INVARIANT_TSC define 2022-12-27 06:03:02 -05:00
hypervisor.h
i8259.h x86: Avoid magic number with ELCR register accesses 2021-08-10 23:31:43 +02:00
ia32_unistd.h
ia32.h x86: Fix misspelled Kconfig symbols 2021-10-05 21:48:30 +02:00
ibt.h x86/ibt, objtool: Add IBT_NOSEAL() 2022-08-19 04:05:42 -04:00
idtentry.h x86/traps: Add #VE support for TDX guest 2022-04-07 08:27:51 -07:00
imr.h
inat_types.h
inat.h x86/insn: Add a __ignore_sync_check__ marker 2021-03-15 11:00:57 +01:00
init.h
insn-eval.h - Get rid of all the .fixup sections because this generates 2022-01-12 16:31:19 -08:00
insn.h x86/insn: Add AVX512-FP16 instructions to the x86 instruction decoder 2022-01-23 20:38:01 +01:00
inst.h x86/asm: Drop unused RDPID macro 2020-11-26 12:58:56 +01:00
intel_ds.h perf/x86/intel: Enable PEBS format 5 2022-02-02 13:11:43 +01:00
intel_pconfig.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
intel_pt.h perf/x86/intel/pt: Add a capability and config bit for disabling TNTs 2022-02-15 17:47:11 +01:00
intel_punit_ipc.h
intel_scu_ipc.h x86/platform/intel-mid: Get rid of intel_scu_ipc_legacy.h 2021-02-15 20:10:30 +01:00
intel_telemetry.h
intel-family.h x86/cpu: Add several Intel server CPU model numbers 2022-11-04 21:12:22 +01:00
intel-mid.h x86/platform/intel-mid: Update Copyright year and drop file names 2021-02-15 20:10:30 +01:00
invpcid.h
io_apic.h x86/ioapic: Handle Extended Destination ID field in RTE 2020-10-28 20:26:28 +01:00
io_bitmap.h x86/ioperm: Fix io bitmap invalidation on Xen PV 2020-07-18 12:31:49 +02:00
io.h arch/*/: remove CONFIG_VIRT_TO_BUS 2022-06-28 13:20:21 +02:00
iomap.h io-mapping: Cleanup atomic iomap 2020-11-06 23:14:58 +01:00
iommu.h iommu/vt-d: Allow NVS regions in arch_rmrr_sanity_check() 2022-10-21 10:49:35 +02:00
iosf_mbi.h media: atomisp: move CCK endpoint address to generic header 2020-07-18 07:17:16 +02:00
irq_remapping.h x86: Kill all traces of irq_remapping_get_irq_domain() 2020-10-28 20:26:28 +01:00
irq_stack.h asm-generic: Conditionally enable do_softirq_own_stack() via Kconfig. 2022-09-05 17:20:55 +02:00
irq_vectors.h x86/irq: Add and use NR_EXTERNAL_VECTORS and NR_SYSTEM_VECTORS 2021-05-21 12:36:44 +02:00
irq_work.h x86/entry: Convert various system vectors 2020-06-11 15:15:14 +02:00
irq.h Rework of the X86 irq stack handling: 2021-02-24 16:32:23 -08:00
irqdomain.h x86/apic: Add select() method on vector irqdomain 2020-10-28 20:26:27 +01:00
irqflags.h x86/entry: Convert SWAPGS to swapgs and remove the definition of SWAPGS 2022-05-03 12:26:08 +02:00
ist.h
jailhouse_para.h
jump_label.h objtool: Make jump label hack optional 2022-04-22 12:32:04 +02:00
kasan.h
kaslr.h x86/mm: simplify init_trampoline() and surrounding logic 2020-06-09 09:39:13 -07:00
kbdleds.h
Kbuild x86/syscalls: Switch to generic syscalltbl.sh 2021-05-20 15:03:58 +02:00
kdebug.h x86/dumpstack: Add log_lvl to __show_regs() 2020-07-22 23:56:53 +02:00
kexec-bzimage64.h
kexec.h kexec: drop weak attribute from functions 2022-07-15 12:21:16 -04:00
kfence.h kfence, x86: only define helpers if !MODULE 2021-07-30 17:09:01 +02:00
kgdb.h
kmsan.h x86: kmsan: handle CPU entry area 2022-10-03 14:03:26 -07:00
kprobes.h x86/kprobes: Remove unused arch_kprobe_override_function() declaration 2022-09-26 13:20:52 -04:00
kvm_host.h KVM: x86: Inhibit APIC memslot if x2APIC and AVIC are enabled 2023-01-13 10:45:25 -05:00
kvm_page_track.h KVM: x86/mmu: Propagate memslot const qualifier 2021-12-08 04:24:43 -05:00
kvm_para.h x86/tdx: Wire up KVM hypercalls 2022-04-07 08:27:52 -07:00
kvm_types.h KVM: Move x86's version of struct kvm_mmu_memory_cache to common code 2020-07-09 13:29:42 -04:00
kvm_vcpu_regs.h
kvm-x86-ops.h KVM: x86: Rename 'enable_direct_tlbflush' to 'enable_l2_tlb_flush' 2022-11-18 12:59:00 -05:00
kvm-x86-pmu-ops.h KVM: x86/pmu: Drop amd_event_mapping[] in the KVM context 2022-06-08 04:49:06 -04:00
kvmclock.h x86/kvmclock: Move this_cpu_pvti into kvmclock.h 2021-09-30 04:08:01 -04:00
linkage.h x86: Add types to indirectly called assembly functions 2022-09-26 10:13:15 -07:00
local.h
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h x86/rtc: Rename mach_set_rtc_mmss() to mach_set_cmos_time() 2022-08-14 11:24:29 +02:00
mce.h EDAC/i10nm: Add driver decoder for Ice Lake and Tremont CPUs 2022-09-08 11:40:01 -07:00
mem_encrypt.h x86/mm: move protection_map[] inside the platform 2022-07-17 17:14:38 -07:00
memtype.h
microcode_amd.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
microcode_intel.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
microcode.h x86/microcode/AMD: Track patch allocation size explicitly 2022-09-23 13:46:26 +02:00
misc.h
mmconfig.h
mmu_context.h x86/32: Remove lazy GS macros 2022-04-14 14:09:43 +02:00
mmu.h x86/mm: Convert mmu context ia32_compat into a proper flags field 2020-10-26 13:46:47 +01:00
mmzone_32.h
mmzone_64.h
mmzone.h
module.h
mpspec_def.h
mpspec.h x86/init: Remove unused init ops 2020-09-16 16:52:28 +02:00
mshyperv.h x86/Hyper-V: Add SEV negotiate protocol support in Isolation VM 2022-06-15 18:27:40 +00:00
msi.h x86/msi: Fix msi message data shadow struct 2022-04-07 15:19:32 +02:00
msr-index.h Perf events updates for v6.1: 2022-10-10 09:27:46 -07:00
msr-trace.h
msr.h x86/boot: Introduce helpers for MSR reads/writes 2022-04-06 12:59:17 +02:00
mtrr.h x86/mtrr: Remove the mtrr_bp_init() stub 2021-12-22 19:50:26 +01:00
mwait.h x86: Remove vendor checks from prefer_mwait_c1_over_halt 2022-06-08 13:00:19 -07:00
nmi.h x86/nmi: Make register_nmi_handler() more robust 2022-05-17 09:25:25 +02:00
nops.h x86/asm: Use _ASM_BYTES() in <asm/nops.h> 2021-05-10 12:33:28 +02:00
nospec-branch.h x86/nospec: Fix i386 RSB stuffing 2022-08-19 13:24:33 +02:00
numa_32.h
numa.h ACPI updates for 5.10-rc1 2020-10-14 11:42:04 -07:00
olpc_ofw.h
olpc.h
orc_lookup.h
orc_types.h objtool: Fix x86 orc generation on big endian cross-compiles 2021-01-13 18:13:13 -06:00
page_32_types.h x86/build: Fix vmlinux size check on 64-bit 2020-10-29 21:54:35 +01:00
page_32.h x86/mmx_32: Remove X86_USE_3DNOW 2021-12-11 09:09:45 +01:00
page_64_types.h x86: Increase exception stack sizes 2021-09-21 13:57:43 +02:00
page_64.h mm: kmsan: maintain KMSAN metadata for page operations 2022-10-03 14:03:20 -07:00
page_types.h
page.h x86: Share definition of __is_canonical_address() 2022-02-02 13:11:42 +01:00
paravirt_api_clock.h sched/headers: Add initial new headers as identity mappings 2022-02-23 10:58:28 +01:00
paravirt_types.h - Ensure paravirt patching site descriptors are aligned properly so that 2022-10-04 10:03:40 -07:00
paravirt.h x86/paravirt: Ensure proper alignment 2022-09-21 12:30:16 +02:00
parport.h
pc-conf-reg.h x86: Add support for 0x22/0x23 port I/O configuration space 2021-08-10 23:31:43 +02:00
pci_x86.h x86/PCI: Revert "x86/PCI: Clip only host bridge windows for E820 regions" 2022-06-17 14:24:14 -05:00
pci-direct.h
pci-functions.h
pci.h PCI: Remove pci_get_legacy_ide_irq() and asm-generic/pci.h 2022-07-22 17:23:45 -05:00
percpu.h x86/percpu: Remove volatile from arch_raw_cpu_ptr(). 2022-04-05 09:59:38 +02:00
perf_event_p4.h
perf_event.h perf/x86/core: Zero @lbr instead of returning -1 in x86_perf_get_lbr() stub 2022-11-09 12:31:11 -05:00
pgalloc.h mm/thp: define default pmd_pgtable() 2021-07-01 11:06:03 -07:00
pgtable_32_areas.h
pgtable_32_types.h
pgtable_32.h x86/build: Fix vmlinux size check on 64-bit 2020-10-29 21:54:35 +01:00
pgtable_64_types.h x86: kmsan: pgtable: reduce vmalloc space 2022-10-03 14:03:19 -07:00
pgtable_64.h x86/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE 2022-05-09 18:20:46 -07:00
pgtable_areas.h
pgtable_types.h x86/mm: move protection_map[] inside the platform 2022-07-17 17:14:38 -07:00
pgtable-2level_types.h
pgtable-2level.h
pgtable-3level_types.h x86/paravirt: Remove 32-bit support from CONFIG_PARAVIRT_XXL 2020-08-15 13:52:11 +02:00
pgtable-3level.h mm/x86: use SWP_TYPE_BITS in 3-level swap macros 2022-09-26 19:46:04 -07:00
pgtable-invert.h
pgtable.h mm: x86: add CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG 2022-09-26 19:46:08 -07:00
pkeys.h x86/pkeys: Remove __arch_set_user_pkey_access() declaration 2022-04-04 15:58:24 -07:00
pkru.h x86/pkey: Fix undefined behaviour with PKRU_WD_BIT 2021-12-19 22:44:34 +01:00
platform_sst_audio.h sfi: Remove framework for deprecated firmware 2021-02-15 20:09:46 +01:00
pm-trace.h
posix_types.h
preempt.h sched/preempt: Refactor sched_dynamic_update() 2022-02-19 11:11:07 +01:00
probe_roms.h
processor-cyrix.h x86: Add support for 0x22/0x23 port I/O configuration space 2021-08-10 23:31:43 +02:00
processor-flags.h
processor.h kernel: exit: cleanup release_thread() 2022-09-11 21:55:07 -07:00
prom.h
proto.h - Serious sanitization and cleanup of the whole APERF/MPERF and 2022-05-23 18:17:09 -07:00
pti.h
ptrace.h x86/sev: Mark the code returning to user space as syscall gap 2022-05-19 10:56:46 +02:00
purgatory.h
pvclock-abi.h
pvclock.h
qrwlock.h
qspinlock_paravirt.h locking: Add __lockfunc to slow path functions 2022-08-19 19:47:51 +02:00
qspinlock.h x86/qspinlock, kcsan: Instrument barrier of pv_queued_spin_unlock() 2021-12-09 16:42:28 -08:00
realmode.h x86/boot: Add a trampoline for booting APs via firmware handoff 2022-04-07 08:27:52 -07:00
reboot_fixups.h
reboot.h
required-features.h x86/mmx_32: Remove X86_USE_3DNOW 2021-12-11 09:09:45 +01:00
resctrl.h x86/resctrl: Rename and change the units of resctrl_cqm_threshold 2022-09-23 14:23:41 +02:00
rmwcc.h asm goto: eradicate CC_HAS_ASM_GOTO 2022-08-21 10:06:28 -07:00
seccomp.h x86: Enable seccomp architecture tracking 2020-11-20 11:16:34 -08:00
sections.h
segment.h x86/asm: Merge load_gs_index() 2022-04-14 14:15:54 +02:00
serial.h
set_memory.h x86/mce: relocate set{clear}_mce_nospec() functions 2022-05-16 11:46:44 -07:00
setup_arch.h
setup.h x86/xen: Use clear_bss() for Xen PV guests 2022-07-01 10:57:52 +02:00
sev-common.h x86/sev: Provide support for SNP guest request NAEs 2022-04-07 16:47:12 +02:00
sev.h x86/sev: Mark snp_abort() noreturn 2022-08-25 15:54:03 +02:00
sgx.h x86/sgx: Keep record of SGX page type 2022-07-07 10:13:02 -07:00
shmparam.h
sigcontext.h
sigframe.h x86/signal: Introduce helpers to get the maximum signal frame size 2021-05-19 11:46:27 +02:00
sighandling.h
signal.h compat: make linux/compat.h available everywhere 2021-07-23 14:20:24 +01:00
simd.h
smap.h x86/cpu: Remove CONFIG_X86_SMAP and "nosmap" 2022-04-04 10:16:57 +02:00
smp.h x86/cacheinfo: Add a cpu_llc_shared_mask() UP variant 2022-09-28 18:35:37 +02:00
softirq_stack.h x86/softirq/64: Inline do_softirq_own_stack() 2021-02-10 23:34:17 +01:00
sparsemem.h x86: add missing include to sparsemem.h 2022-10-03 14:03:17 -07:00
spec-ctrl.h x86, KVM: remove unnecessary argument to x86_virt_spec_ctrl and callers 2022-11-09 12:26:51 -05:00
special_insns.h x86/fpu: Add a helper to prepare AMX state for low-power CPU idle 2022-07-19 18:46:15 +02:00
spinlock_types.h
spinlock.h
sta2x11.h
stackprotector.h x86: Fix leftover comment typos 2021-05-12 20:00:51 +02:00
stacktrace.h x86/mm/64: Improve stack overflow warnings 2021-09-21 13:57:43 +02:00
static_call.h x86/retbleed: Add fine grained Kconfig knobs 2022-06-29 17:43:41 +02:00
string_32.h x86/mmx_32: Remove X86_USE_3DNOW 2021-12-11 09:09:45 +01:00
string_64.h x86: fortify: kmsan: fix KMSAN fortify builds 2022-10-28 13:37:23 -07:00
string.h
suspend_32.h x86/pm: Fix false positive kmemleak report in msr_build_context() 2022-04-27 13:55:19 +02:00
suspend_64.h x86/pm: Fix false positive kmemleak report in msr_build_context() 2022-04-27 13:55:19 +02:00
suspend.h
svm.h x86/hyperv: KVM: Rename "hv_enlightenments" to "hv_vmcb_enlightenments" 2022-11-18 12:58:59 -05:00
switch_to.h fork: Generalize PF_IO_WORKER handling 2022-05-07 09:01:59 -05:00
sync_bitops.h
sync_core.h x86/membarrier: Get rid of a dubious optimization 2020-12-09 09:37:42 +01:00
syscall_wrapper.h x86/syscall: Include asm/ptrace.h in syscall_wrapper header 2022-10-24 17:57:28 +02:00
syscall.h arch: remove unused function syscall_set_arguments() 2021-09-14 16:06:20 +02:00
syscalls.h
tdx.h x86/tdx: Wire up KVM hypercalls 2022-04-07 08:27:52 -07:00
text-patching.h x86/alternative: Introduce text_poke_set 2022-05-23 23:07:38 +02:00
thermal.h x86/thermal: Fix LVT thermal setup for SMI delivery mode 2021-05-31 22:32:26 +02:00
thread_info.h x86/split-lock: Remove unused TIF_SLD bit 2022-04-27 15:43:39 +02:00
time.h
timer.h
timex.h x86/tsc: Use fallback for random_get_entropy() instead of zero 2022-05-13 23:59:23 +02:00
tlb.h mmu_gather: Remove per arch tlb_{start,end}_vma() 2022-07-21 10:50:13 -07:00
tlbbatch.h
tlbflush.h - Rename a PKRU macro to make more sense when reading the code 2022-08-01 09:34:39 -07:00
topology.h x86/aperfperf: Make it correct on 32bit and UP kernels 2022-05-02 09:19:05 +02:00
trace_clock.h
trap_pf.h x86/mm: Signal SIGSEGV with PF_SGX 2020-11-17 14:36:13 +01:00
trapnr.h x86/boot/compressed/64: Add stage1 #VC handler 2020-09-07 19:45:25 +02:00
traps.h x86/traps: Use pt_regs directly in fixup_bad_iret() 2022-05-03 11:18:59 +02:00
tsc.h x86/tsc: Use fallback for random_get_entropy() instead of zero 2022-05-13 23:59:23 +02:00
uaccess_32.h
uaccess_64.h x86/clear_user: Make it faster 2022-08-18 12:36:42 +02:00
uaccess.h x86: asm: make sure __put_user_size() evaluates pointer once 2022-10-28 13:37:23 -07:00
umip.h
unistd.h fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT 2022-04-26 13:35:45 -07:00
unwind_hints.h objtool: Re-add UNWIND_HINT_{SAVE_RESTORE} 2022-06-27 10:34:00 +02:00
unwind.h x86,rethook,kprobes: Replace kretprobe with rethook on x86 2022-03-28 19:38:51 -07:00
uprobes.h
user32.h
user_32.h asm/user.h: killed unused macros 2022-01-30 21:17:00 -05:00
user_64.h asm/user.h: killed unused macros 2022-01-30 21:17:00 -05:00
user.h
vdso.h x86: Remove toolchain check for X32 ABI capability 2022-03-15 10:32:48 +01:00
vermagic.h
vga.h
vgtod.h
virtext.h KVM: VMX: Use the kernel's version of VMXOFF 2021-02-04 05:27:33 -05:00
vm86.h x86/vm86/32: Remove VM86_SCREEN_BITMAP support 2021-01-21 20:08:53 +01:00
vmalloc.h mm/vmalloc: provide fallback arch huge vmap support functions 2021-04-30 11:20:40 -07:00
vmware.h
vmx.h kvm: vmx: keep constant definition format consistent 2022-09-30 07:11:17 -04:00
vmxfeatures.h KVM: VMX: Enable Notify VM exit 2022-06-08 05:56:24 -04:00
vsyscall.h
vvar.h
word-at-a-time.h x86: simplify load_unaligned_zeropad() implementation 2022-08-16 11:03:38 -07:00
x86_init.h x86/mm/cpa: Generalize __set_memory_enc_pgtable() 2022-02-23 19:14:29 +01:00
xor_32.h lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
xor_64.h
xor_avx.h lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
xor.h lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00