linux/arch/x86/include/asm
Alistair Popple 6bbd42e2df mmu_notifiers: call invalidate_range() when invalidating TLBs
The invalidate_range() is going to become an architecture specific mmu
notifier used to keep the TLB of secondary MMUs such as an IOMMU in sync
with the CPU page tables.  Currently it is called from separate code paths
to the main CPU TLB invalidations.  This can lead to a secondary TLB not
getting invalidated when required and makes it hard to reason about when
exactly the secondary TLB is invalidated.

To fix this move the notifier call to the architecture specific TLB
maintenance functions for architectures that have secondary MMUs requiring
explicit software invalidations.

This fixes a SMMU bug on ARM64.  On ARM64 PTE permission upgrades require
a TLB invalidation.  This invalidation is done by the architecture
specific ptep_set_access_flags() which calls flush_tlb_page() if required.
However this doesn't call the notifier resulting in infinite faults being
generated by devices using the SMMU if it has previously cached a
read-only PTE in it's TLB.

Moving the invalidations into the TLB invalidation functions ensures all
invalidations happen at the same time as the CPU invalidation.  The
architecture specific flush_tlb_all() routines do not call the notifier as
none of the IOMMUs require this.

Link: https://lkml.kernel.org/r/0287ae32d91393a582897d6c4db6f7456b1001f2.1690292440.git-series.apopple@nvidia.com
Signed-off-by: Alistair Popple <apopple@nvidia.com>
Suggested-by: Jason Gunthorpe <jgg@ziepe.ca>
Tested-by: SeongJae Park <sj@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Tested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Andrew Donnellan <ajd@linux.ibm.com>
Cc: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Cc: Frederic Barrat <fbarrat@linux.ibm.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Nicolin Chen <nicolinc@nvidia.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Will Deacon <will@kernel.org>
Cc: Zhi Wang <zhi.wang.linux@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-08-18 10:12:41 -07:00
..
e820 x86/PCI: Revert "x86/PCI: Clip only host bridge windows for E820 regions" 2022-06-17 14:24:14 -05:00
fpu Updates for the x86 boot process: 2023-06-26 13:39:10 -07:00
numachip
shared - Fix a race window where load_unaligned_zeropad() could cause 2023-06-26 16:32:47 -07:00
trace x86/fpu: Convert tracing to fpstate 2021-10-20 22:35:04 +02:00
uv x86/platform/uv: UV support for sub-NUMA clustering 2023-05-31 09:34:59 -07:00
vdso clocksource: hyper-v: Adjust hv_read_tsc_page_tsc() to avoid special casing U64_MAX 2023-06-05 21:11:07 +02:00
xen xen: branch for v6.3-rc3 2023-03-17 10:45:49 -07:00
acenv.h ACPICA: Avoid cache flush inside virtual machines 2022-04-07 08:27:54 -07:00
acpi.h acpi: Fix suspend with Xen PV 2023-01-19 13:52:05 -08:00
acrn.h x86/acrn: Set up timekeeping 2022-08-04 11:11:59 +02:00
agp.h char/agp: consolidate {alloc,free}_gatt_pages() 2023-02-13 22:13:12 +01:00
alternative.h x86/alternative: Rename apply_ibt_endbr() 2023-07-10 09:52:23 +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 x86/smpboot: Support parallel startup of secondary CPUs 2023-05-15 13:45:04 +02:00
apicdef.h x86/apic: Fix use of X{,2}APIC_ENABLE in asm with older binutils 2023-05-22 14:06:33 +02: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/gsseg: Add the new <asm/gsseg.h> header to <asm/asm-prototypes.h> 2023-01-13 13:43:20 +01:00
asm.h x86/extable: Prefer local labels in .set directives 2022-04-07 11:27:02 +02:00
atomic64_32.h locking/atomic: treewide: delete arch_atomic_*() kerneldoc 2023-06-05 09:57:24 +02:00
atomic64_64.h locking/atomic: treewide: delete arch_atomic_*() kerneldoc 2023-06-05 09:57:24 +02:00
atomic.h locking/atomic: treewide: delete arch_atomic_*() kerneldoc 2023-06-05 09:57:24 +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
bootparam_utils.h docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06: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 x86/cpu: Switch to arch_cpu_finalize_init() 2023-06-16 10:15:59 +02:00
cache.h
cacheflush.h
cacheinfo.h x86/cacheinfo: Switch cache_ap_init() to hotplug callback 2022-11-10 13:12:45 +01:00
ce4100.h
cfi.h x86: Add support for CONFIG_CFI_CLANG 2022-09-26 10:13:16 -07:00
checksum_32.h
checksum_64.h net: checksum: drop the linux/uaccess.h include 2023-01-27 11:19:46 +00: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 arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
cmpxchg_64.h locking/atomic: x86: add preprocessor symbols 2023-06-05 09:57:17 +02:00
cmpxchg.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
coco.h x86/coco: Get rid of accessor functions 2023-05-09 12:53:16 +02: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 x86/mm: Randomize per-cpu entry area 2022-12-15 10:37:26 -08:00
cpu.h A set of fixes for kexec(), reboot and shutdown issues 2023-06-26 14:45:53 -07:00
cpufeature.h x86/cpu: Remove X86_FEATURE_NAMES 2023-05-15 20:03:08 +02:00
cpufeatures.h s390: 2023-05-01 12:06:20 -07:00
cpuid.h x86/cpuid: Carve out all CPUID functionality 2022-11-29 20:41:24 +01:00
cpuidle_haltpoll.h
cpumask.h x86/smpboot: Move synchronization masks to SMP boot code 2023-05-15 13:44:52 +02:00
crash.h x86/crash: Remove crash_reserve_low_1M() 2021-06-07 12:14:45 +02:00
current.h x86/retbleed: Add SKL return thunk 2022-10-17 16:41:15 +02:00
debugreg.h - Cache the AMD debug registers in per-CPU variables to avoid MSR writes 2023-02-21 14:51:40 -08:00
delay.h
desc_defs.h
desc.h Merge branch 'akpm' (patches from Andrew) 2021-07-02 12:08:10 -07:00
device.h
disabled-features.h x86/mm: Reduce untagged_addr() overhead for systems without LAM 2023-03-16 13:08:39 -07:00
div64.h
dma-mapping.h dma-mapping: no need to pass a bus_type into get_arch_dma_ops() 2023-02-15 12:35:20 +01: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 x86: Avoid missing-prototype warnings for doublefault code 2023-05-18 11:56:18 -07:00
dwarf2.h
edac.h
efi.h efi/libstub: Implement support for unaccepted memory 2023-06-06 16:58:23 +02:00
elf.h Unification of regset and non-regset sides of ELF coredump 2022-12-12 18:18:34 -08:00
elfcore-compat.h
emergency-restart.h
emulate_prefix.h
enclu.h
entry-common.h x86/cpu: Remove unneeded 64-bit dependency in arch_enter_from_user_mode() 2022-11-22 16:11:57 +01: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 arch/x86: Include <asm/fb.h> in fbdev source file 2023-04-26 15:07:57 +02:00
fixmap.h
floppy.h floppy: remove redundant assignment to variable st 2021-04-20 08:59:03 -06:00
frame.h
fsgsbase.h
ftrace.h Tracing updates for 6.5: 2023-06-30 10:33:17 -07: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
gsseg.h x86/gsseg: Use the LKGS instruction if available for load_gs_index() 2023-01-13 10:07:27 +01:00
hardirq.h x86/softirq: Move softirq pending next to current task 2022-10-17 16:41:05 +02:00
highmem.h mm/usercopy: Check kmap addresses properly 2022-04-13 12:15:50 -07:00
hpet.h
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
hyperv_timer.h clocksource/drivers/hyper-v: Include asm/hyperv-tlfs.h not asm/mshyperv.h 2022-11-17 13:58:32 +01:00
hyperv-tlfs.h x86/hyperv: Add VTL specific structs and hypercalls 2023-04-18 17:29:51 +00: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/alternative: Rename apply_ibt_endbr() 2023-07-10 09:52:23 +02:00
idtentry.h x86/entry: KVM: Use dedicated VMX NMI entry for 32-bit kernels too 2023-01-24 10:36:40 -08:00
imr.h
inat_types.h
inat.h
init.h
insn-eval.h x86/insn: Avoid namespace clash by separating instruction decoder MMIO type from MMIO trace type 2023-01-03 18:46:06 +01:00
insn.h x86/insn: Add AVX512-FP16 instructions to the x86 instruction decoder 2022-01-23 20:38:01 +01:00
inst.h
intel_ds.h perf/x86/intel: Enable PEBS format 5 2022-02-02 13:11:43 +01:00
intel_pconfig.h
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
intel_telemetry.h
intel-family.h x86/cpu: Add model number for Intel Arrow Lake processor 2023-04-05 13:36:26 +02:00
intel-mid.h x86/platform/intel-mid: Remove unused definitions from intel-mid.h 2023-03-22 11:08:40 -07:00
invpcid.h
io_apic.h
io_bitmap.h
io.h asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros 2023-08-18 10:12:32 -07:00
iomap.h
iommu.h iommu/vt-d: Allow NVS regions in arch_rmrr_sanity_check() 2022-10-21 10:49:35 +02:00
iosf_mbi.h
irq_remapping.h x86/apic/msi: Remove arch_create_remap_msi_irq_domain() 2022-12-05 22:22:33 +01:00
irq_stack.h x86/percpu: Move irq_stack variables next to current_task 2022-10-17 16:41:05 +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
irq.h init: consolidate prototypes in linux/init.h 2023-06-09 17:44:16 -07:00
irqdomain.h x86/apic: Remove X86_IRQ_ALLOC_CONTIGUOUS_VECTORS 2022-11-17 15:15:22 +01:00
irqflags.h objtool/idle: Validate __cpuidle code as noinstr 2023-01-13 11:48:15 +01: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 x86/kasan: Map shadow for percpu pages on demand 2022-12-15 10:37:26 -08:00
kaslr.h
kbdleds.h
Kbuild x86/unwind/orc: Add ELF section with ORC version identifier 2023-06-16 17:17:42 +02:00
kdebug.h
kexec-bzimage64.h
kexec.h x86/kexec: remove unnecessary arch_kexec_kernel_image_load() 2023-04-08 13:45:38 -07: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: Disallow KVM_SET_SREGS{2} if incoming CR0 is invalid 2023-07-29 11:05:31 -04: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_vcpu_regs.h
kvm-x86-ops.h KVM: x86: Disallow KVM_SET_SREGS{2} if incoming CR0 is invalid 2023-07-29 11:05:31 -04:00
kvm-x86-pmu-ops.h KVM: x86/pmu: Provide Intel PMU's pmc_is_enabled() as generic x86 code 2023-06-06 17:31:44 -07:00
kvmclock.h sched/clock/x86: Mark sched_clock() noinstr 2023-01-31 15:01:47 +01:00
linkage.h x86/linkage: Fix padding for typed functions 2023-04-14 16:08:30 +02:00
local.h locking/arch: Wire up local_try_cmpxchg() 2023-04-29 09:09:16 +02:00
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 x86/mce: Add copy_mc_fragile_handle_tail() prototype 2023-05-18 11:56:18 -07:00
mem_encrypt.h x86/mem_encrypt: Unbreak the AMD_MEM_ENCRYPT=n build 2023-06-16 22:23:27 +02:00
memtype.h x86: Decouple PAT and MTRR handling 2022-11-10 13:12:45 +01:00
microcode_amd.h x86/cpu/amd: Add a Zenbleed fix 2023-07-17 15:48:10 +02:00
microcode_intel.h platform/x86/intel/ifs: Use generic microcode headers and functions 2022-11-19 11:12:06 +01:00
microcode.h x86/cpu/amd: Add a Zenbleed fix 2023-07-17 15:48:10 +02:00
misc.h
mmconfig.h
mmu_context.h Add support for new Linear Address Masking CPU feature. This is similar 2023-04-28 09:43:49 -07:00
mmu.h x86/mm/iommu/sva: Make LAM and SVA mutually exclusive 2023-03-16 13:08:40 -07:00
mmzone_32.h
mmzone_64.h
mmzone.h
module.h
mpspec_def.h
mpspec.h
mshyperv.h clocksource: hyper-v: Provide noinstr sched_clock() 2023-06-05 21:11:08 +02:00
msi.h x86/apic/msi: Enable MSI_FLAG_PCI_MSIX_ALLOC_DYN 2022-12-05 22:22:34 +01:00
msr-index.h x86/cpu/amd: Add a Zenbleed fix 2023-07-17 15:48:10 +02: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 unused code 2023-06-01 15:04:33 +02:00
mwait.h cpuidle, mwait: Make the mwait code noinstr clean 2023-01-13 11:48:16 +01:00
nmi.h x86/nmi: Make register_nmi_handler() more robust 2022-05-17 09:25:25 +02:00
nops.h x86/alternatives: Add longer 64-bit NOPs 2023-05-31 10:21:21 +02:00
nospec-branch.h x86/cfi: Extend {JMP,CAKK}_NOSPEC comment 2023-07-10 09:52:23 +02:00
numa_32.h
numa.h
olpc_ofw.h
olpc.h
orc_header.h x86/unwind/orc: Add ELF section with ORC version identifier 2023-06-16 17:17:42 +02:00
orc_lookup.h
orc_types.h x86,objtool: Split UNWIND_HINT_EMPTY in two 2023-03-23 23:18:58 +01:00
page_32_types.h
page_32.h mm, arch: add generic implementation of pfn_valid() for FLATMEM 2023-02-09 16:51:41 -08:00
page_64_types.h docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
page_64.h mm, arch: add generic implementation of pfn_valid() for FLATMEM 2023-02-09 16:51:41 -08:00
page_types.h x86/mm: Remove P*D_PAGE_MASK and P*D_PAGE_SIZE macros 2022-12-15 10:37:27 -08:00
page.h mm: add vma_alloc_zeroed_movable_folio() 2023-02-02 22:33:18 -08: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 x86/paravirt: Convert simple paravirt functions to asm 2023-03-17 13:29:47 +01:00
paravirt.h x86/paravirt: Merge activate_mm() and dup_mmap() callbacks 2023-03-06 09:41:37 +01: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 x86/apic/vector: Provide MSI parent domain 2022-12-05 22:22:33 +01:00
percpu.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
perf_event_p4.h
perf_event.h Perf events changes for v6.5: 2023-06-27 14:43:02 -07: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 mm: remove kern_addr_valid() completely 2022-11-08 17:37:18 -08:00
pgtable_64_types.h docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
pgtable_64.h x86/mm: Fix __swp_entry_to_pte() for Xen PV guests 2023-05-08 15:25:24 +02:00
pgtable_areas.h x86/mm: Randomize per-cpu entry area 2022-12-15 10:37:26 -08:00
pgtable_types.h procfs: consolidate arch_report_meminfo declaration 2023-05-17 09:24:49 +02:00
pgtable-2level_types.h
pgtable-2level.h x86/mm: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE also on 32bit 2023-02-02 22:33:10 -08:00
pgtable-3level_types.h x86/mm/pae: Make pmd_t similar to pte_t 2022-12-15 10:37:27 -08:00
pgtable-3level.h x86/mm: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE also on 32bit 2023-02-02 22:33:10 -08:00
pgtable-invert.h
pgtable.h mm/page_table_check: remove unused parameter in [__]page_table_check_pud_set 2023-08-18 10:12:29 -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
pm-trace.h
posix_types.h
preempt.h x86/percpu: Move preempt_count next to current_task 2022-10-17 16:41:04 +02: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 x86: CPUID and CR3/CR4 flags for Linear Address Masking 2023-03-16 13:08:39 -07:00
processor.h x86/smpboot: Get rid of cpu_init_secondary() 2023-05-15 13:44:51 +02: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 sched/clock/x86: Mark sched_clock() noinstr 2023-01-31 15:01:47 +01:00
qrwlock.h
qspinlock_paravirt.h x86/paravirt: Use common macro for creating simple asm paravirt functions 2022-11-24 13:56:44 +01:00
qspinlock.h x86/qspinlock, kcsan: Instrument barrier of pv_queued_spin_unlock() 2021-12-09 16:42:28 -08:00
realmode.h x86/smpboot: Implement a bit spinlock to protect the realmode stack 2023-05-15 13:45:03 +02:00
reboot_fixups.h
reboot.h cpu: Mark nmi_panic_self_stop() __noreturn 2023-04-14 17:31:26 +02:00
required-features.h x86/cpu, kvm: Add support for CPUID_80000021_EAX 2023-01-25 12:33:06 +01:00
resctrl.h x86/resctl: fix scheduler confusion with 'current' 2023-03-08 11:48:11 -08:00
rmwcc.h asm goto: eradicate CC_HAS_ASM_GOTO 2022-08-21 10:06:28 -07:00
seccomp.h
sections.h
segment.h x86/cpu: Provide the full setup for getcpu() on x86-32 2023-02-06 15:48:54 +01:00
serial.h
set_memory.h x86/mm: Implement native set_memory_rox() 2022-12-15 10:37:27 -08:00
setup_arch.h
setup.h x86/head: Mark *_start_kernel() __noreturn 2023-04-14 17:31:24 +02:00
sev-common.h x86/sev: Put PSC struct on the stack in prep for unaccepted memory support 2023-06-06 18:28:25 +02:00
sev.h - Some SEV and CC platform helpers cleanup and simplifications now that 2023-06-27 13:26:30 -07:00
sgx.h x86/sgx: Allow enclaves to use Asynchrounous Exit Notification 2022-11-04 15:33:30 -07:00
shmparam.h
sigcontext.h
sigframe.h x86/init: Initialize signal frame size late 2023-06-16 10:16:00 +02:00
sighandling.h x86/signal: Add ABI prefixes to frame setup functions 2022-10-19 09:58:49 +02:00
signal.h x86/signal: Remove sigset_t parameter from frame setup functions 2022-10-19 09:58:48 +02:00
simd.h
smap.h x86/cpu: Remove CONFIG_X86_SMAP and "nosmap" 2022-04-04 10:16:57 +02:00
smp.h A set of fixes for kexec(), reboot and shutdown issues 2023-06-26 14:45:53 -07:00
softirq_stack.h
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 - Cache the AMD debug registers in per-CPU variables to avoid MSR writes 2023-02-21 14:51:40 -08:00
spinlock_types.h
spinlock.h
sta2x11.h
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01: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: kmsan: use C versions of memset16/memset32/memset64 2023-03-28 16:20:11 -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 KVM: SVM: Remove a duplicate definition of VMCB_AVIC_APIC_BAR_MASK 2023-04-04 11:08:12 -07:00
switch_to.h x86: Rewrite ret_from_fork() in C 2023-07-10 09:52:25 +02:00
sync_bitops.h
sync_core.h
syscall_wrapper.h x86/syscall: Include asm/ptrace.h in syscall_wrapper header 2022-10-24 17:57:28 +02:00
syscall.h x86/entry: Add do_SYSENTER_32() prototype 2023-05-18 11:56:18 -07:00
syscalls.h
tdx.h x86/tdx: Add unaccepted memory support 2023-06-06 18:25:57 +02:00
text-patching.h x86/alternatives: Introduce int3_emulate_jcc() 2023-01-31 15:05:30 +01:00
thermal.h x86/thermal: Fix LVT thermal setup for SMI delivery mode 2021-05-31 22:32:26 +02:00
thread_info.h thread_info: move function declarations to linux/thread_info.h 2023-06-09 17:44:16 -07:00
time.h init: consolidate prototypes in linux/init.h 2023-06-09 17:44:16 -07:00
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 mmu_notifiers: call invalidate_range() when invalidating TLBs 2023-08-18 10:12:41 -07:00
topology.h x86/apic: Provide cpu_primary_thread mask 2023-05-15 13:45:02 +02:00
trace_clock.h
trap_pf.h
trapnr.h
traps.h x86/traps: Use pt_regs directly in fixup_bad_iret() 2022-05-03 11:18:59 +02:00
tsc.h - Arnd Bergmann has fixed a bunch of -Wmissing-prototypes in 2023-06-28 10:59:38 -07:00
uaccess_32.h x86: uaccess: move 32-bit and 64-bit parts into proper <asm/uaccess_N.h> header 2023-05-03 10:37:22 -07:00
uaccess_64.h x86-64: mm: clarify the 'positive addresses' user address rules 2023-05-03 10:37:22 -07:00
uaccess.h x86: uaccess: move 32-bit and 64-bit parts into proper <asm/uaccess_N.h> header 2023-05-03 10:37:22 -07:00
umip.h
unaccepted_memory.h x86/sev: Add SNP-specific unaccepted memory support 2023-06-06 18:31:37 +02:00
unistd.h fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT 2022-04-26 13:35:45 -07:00
unwind_hints.h drm/vmwgfx: Add unwind hints around RBP clobber 2023-06-07 10:03:12 -07: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/vdso: Move VDSO image init to vdso2c generated code 2023-01-25 12:33:40 +01:00
vermagic.h
vga.h
vgtod.h
virtext.h x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows) 2023-01-24 10:05:21 -08:00
vm86.h
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: Fix header file dependency of asm/vmx.h 2023-05-19 13:56:25 -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 - Fix a race window where load_unaligned_zeropad() could cause 2023-06-26 16:32:47 -07: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