mirror_ubuntu-kernels/arch/x86/include/asm
Uros Bizjak 1d10f3aec2 x86/percpu: Use C for arch_raw_cpu_ptr(), to improve code generation
Implement arch_raw_cpu_ptr() in C to allow the compiler to perform
better optimizations, such as setting an appropriate base to compute
the address. The compiler is free to choose either MOV or ADD from
this_cpu_off address to construct the optimal final address.

There are some other issues when memory access to the percpu area is
implemented with an asm. Compilers can not eliminate asm common
subexpressions over basic block boundaries, but are extremely good
at optimizing memory access. By implementing arch_raw_cpu_ptr() in C,
the compiler can eliminate additional redundant loads from this_cpu_off,
further reducing the number of percpu offset reads from 1646 to 1631
on a test build, a -0.9% reduction.

Co-developed-by: Nadav Amit <namit@vmware.com>
Signed-off-by: Nadav Amit <namit@vmware.com>
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Uros Bizjak <ubizjak@gmail.com>
Cc: Sean Christopherson <seanjc@google.com>
Link: https://lore.kernel.org/r/20231015202523.189168-2-ubizjak@gmail.com
2023-10-16 12:52:02 +02: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: Add PTRACE interface for shadow stack 2023-08-02 15:01:51 -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 efi/runtime-wrappers: Remove duplicated macro for service returning void 2023-08-22 10:39:26 +02: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 dma-maping updates for Linux 6.6 2023-08-29 20:32:10 -07:00
acenv.h ACPICA: Avoid cache flush inside virtual machines 2022-04-07 08:27:54 -07:00
acpi.h Merge branch 'acpi-processor' 2023-08-25 20:40:50 +02: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/apic: Turn on static calls 2023-08-09 12:00:55 -07: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 x86/audit: Fix -Wmissing-variable-declarations warning for ia32_xyz_class 2023-08-30 10:11:16 +02:00
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_clz{l|ll} to evaluate constant expressions 2023-09-07 00:05:50 +02:00
boot.h x86/decompressor: Factor out kernel decompression and relocation 2023-08-07 20:59:13 +02:00
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 treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cacheflush.h asm-generic: don't include <linux/mm.h> in cacheflush.h 2020-06-08 11:05:57 -07:00
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 i386: propagate the calling conventions change down to csum_partial_copy_generic() 2020-08-20 15:45:18 -04:00
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 x86/cpu: Add a X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS() macro 2020-05-07 13:48:05 +02:00
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 Add x86 shadow stack support 2023-08-31 12:20:12 -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 x86/delay: Introduce TPAUSE delay 2020-05-07 16:06:20 +02:00
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/shstk: Add user control-protection fault handler 2023-08-02 15:01:50 -07:00
div64.h x86/asm: Avoid unneeded __div64_32 function definition 2023-08-03 12:08:35 +02:00
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 x86/efistub: Avoid legacy decompressor when doing EFI boot 2023-08-07 21:07:43 +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 [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 x86/CPU/AMD: Fix the DIV(0) initial fix attempt 2023-08-14 11:02:50 +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 arch/x86: Include <asm/fb.h> in fbdev source file 2023-04-26 15:07:57 +02:00
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 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 x86/hpet: Move MSI support into hpet.c 2020-10-28 20:26:25 +01:00
hugetlb.h mm/hugetlb: define a generic fallback for arch_clear_hugepage_flags() 2020-06-03 20:09:46 -07:00
hw_breakpoint.h perf/hw_breakpoint: Optimize constant number of breakpoint slots 2022-08-30 10:56:22 +02:00
hw_irq.h x86/vector: Rename send_cleanup_vector() to vector_schedule_cleanup() 2023-08-06 14:15:09 +02:00
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 hv_isolation_type_tdx() to detect TDX guests 2023-08-25 00:04:56 +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 Add x86 shadow stack support 2023-08-31 12:20:12 -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 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 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 platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel-family.h x86/cpu: Update Hybrids 2023-08-09 21:51:07 +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 x86/cpu: Use INVPCID mnemonic in invpcid.h 2020-05-12 16:05:30 +02:00
io_apic.h x86/apic/ioapic: Rename skip_ioapic_setup 2023-08-09 11:58:16 -07:00
io_bitmap.h x86/ioperm: Fix io bitmap invalidation on Xen PV 2020-07-18 12:31:49 +02:00
io.h asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros 2023-08-18 10:12:32 -07: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/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/vector: Replace IRQ_MOVE_CLEANUP_VECTOR with a timer callback 2023-08-06 14:15:10 +02:00
irq_work.h x86/entry: Convert various system vectors 2020-06-11 15:15:14 +02:00
irq.h nmi_backtrace: allow excluding an arbitrary CPU 2023-08-18 10:19:00 -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 x86/mm: simplify init_trampoline() and surrounding logic 2020-06-09 09:39:13 -07:00
kbdleds.h
Kbuild x86/unwind/orc: Add ELF section with ORC version identifier 2023-06-16 17:17:42 +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 crash: hotplug support for kexec_load() 2023-08-24 16:25:14 -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: 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: 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 typo of BUILD_VDSO in asm/linkage.h 2023-08-08 23:13:17 +02:00
local.h locking/arch: Avoid variable shadowing in local_try_cmpxchg() 2023-07-10 09:52:36 +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/sev: Make enc_dec_hypercall() accept a size instead of npages 2023-08-25 13:33:48 +02:00
memtype.h x86: Decouple PAT and MTRR handling 2022-11-10 13:12:45 +01:00
microcode.h Misc x86 cleanups. 2023-08-28 17:05:58 -07:00
misc.h
mmconfig.h
mmu_context.h x86/shstk: Handle thread shadow stack 2023-08-02 15:01:50 -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 x86/mm: Drop deprecated DISCONTIGMEM support for 32-bit 2020-05-28 18:34:30 +02:00
mmzone_64.h
mmzone.h
module.h arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
mpspec_def.h
mpspec.h x86/apic/32: Decrapify the def_bigsmp mechanism 2023-08-09 11:58:25 -07:00
mshyperv.h hyperv-next for v6.6 2023-09-04 11:26:29 -07:00
msi.h x86/apic/msi: Enable MSI_FLAG_PCI_MSIX_ALLOC_DYN 2022-12-05 22:22:34 +01:00
msr-index.h Mitigate Gather Data Sampling issue 2023-08-07 17:03:54 -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 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/cpu/kvm: Provide UNTRAIN_RET_VM 2023-08-16 21:58:59 +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_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 x86/build: Fix vmlinux size check on 64-bit 2020-10-29 21:54:35 +01:00
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: Silence unused native_pv_lock_init() function warning 2023-08-03 16:50:19 +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 x86/apic/vector: Provide MSI parent domain 2022-12-05 22:22:33 +01:00
percpu.h x86/percpu: Use C for arch_raw_cpu_ptr(), to improve code generation 2023-10-16 12:52:02 +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 Add x86 shadow stack support 2023-08-31 12:20:12 -07:00
pgtable-2level_types.h x86/mm/32: implement arch_sync_kernel_mappings() 2020-06-02 10:59:11 -07:00
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 Add x86 shadow stack support 2023-08-31 12:20:12 -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 x86/percpu: Use compiler segment prefix qualifier 2023-10-05 09:01:52 +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 Add x86 shadow stack support 2023-08-31 12:20:12 -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 sched/clock/x86: Mark sched_clock() noinstr 2023-01-31 15:01:47 +01:00
qrwlock.h
qspinlock_paravirt.h x86/qspinlock-paravirt: Fix missing-prototype warning 2023-08-03 17:15:05 +02:00
qspinlock.h x86/paravirt: Silence unused native_pv_lock_init() function warning 2023-08-03 16:50:19 +02: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 x86/asm: replace custom COUNT_ARGS() & CONCATENATE() implementations 2023-08-18 10:18:56 -07:00
seccomp.h x86: Enable seccomp architecture tracking 2020-11-20 11:16:34 -08:00
sections.h lockdep: fix static memory detection even more 2023-08-21 13:46:24 -07:00
segment.h x86/vdso: Choose the right GDT_ENTRY_CPUNODE for 32-bit getcpu() on 64-bit kernel 2023-08-08 09:31:43 +02: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 x86/efistub: Avoid legacy decompressor when doing EFI boot 2023-08-07 21:07:43 +02:00
sgx.h x86/sgx: Allow enclaves to use Asynchrounous Exit Notification 2022-11-04 15:33:30 -07:00
shmparam.h
shstk.h x86/shstk: Add ARCH_SHSTK_STATUS 2023-08-02 15:01:51 -07:00
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 * Rework apic callbacks, getting rid of unnecessary ones and 2023-08-30 10:44:46 -07: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/shstk: Introduce routines modifying shstk 2023-08-02 15:01:50 -07:00
spinlock_types.h x86/spinlock: Remove obsolete ticket spinlock macros and types 2020-05-28 21:18:40 +02:00
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 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 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 Add x86 shadow stack support 2023-08-31 12:20:12 -07:00
topology.h cpu/SMT: Remove topology_smt_supported() 2023-07-28 09:53:37 +02:00
trace_clock.h
trap_pf.h x86/mm: Check shadow stack page fault errors 2023-07-11 14:12:19 -07:00
trapnr.h x86/boot/compressed/64: Add stage1 #VC handler 2020-09-07 19:45:25 +02:00
traps.h x86/ibt: Convert IBT selftest to asm 2023-08-17 17:07:09 +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: bring back rep movsq for user access on CPUs without ERMS 2023-08-30 09:45:12 -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 arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
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 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: 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