linux/arch/x86/include/asm
Dave Jiang 7f5933f81b x86/asm: Add an enqcmds() wrapper for the ENQCMDS instruction
Currently, the MOVDIR64B instruction is used to atomically submit
64-byte work descriptors to devices. Although it can encounter errors
like device queue full, command not accepted, device not ready, etc when
writing to a device MMIO, MOVDIR64B can not report back on errors from
the device itself. This means that MOVDIR64B users need to separately
interact with a device to see if a descriptor was successfully queued,
which slows down device interactions.

ENQCMD and ENQCMDS also atomically submit 64-byte work descriptors
to devices. But, they *can* report back errors directly from the
device, such as if the device was busy, or device not enabled or does
not support the command. This immediate feedback from the submission
instruction itself reduces the number of interactions with the device
and can greatly increase efficiency.

ENQCMD can be used at any privilege level, but can effectively only
submit work on behalf of the current process. ENQCMDS is a ring0-only
instruction and can explicitly specify a process context instead of
being tied to the current process or needing to reprogram the IA32_PASID
MSR.

Use ENQCMDS for work submission within the kernel because a Process
Address ID (PASID) is setup to translate the kernel virtual address
space. This PASID is provided to ENQCMDS from the descriptor structure
submitted to the device and not retrieved from IA32_PASID MSR, which is
setup for the current user address space.

See Intel Software Developer’s Manual for more information on the
instructions.

 [ bp:
   - Make operand constraints like movdir64b() because both insns are
     basically doing the same thing, more or less.
   - Fixup comments and cleanup. ]

Link: https://lkml.kernel.org/r/20200924180041.34056-3-dave.jiang@intel.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/20201005151126.657029-3-dave.jiang@intel.com
2020-10-07 17:53:08 +02:00
..
crypto crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN 2020-01-09 11:30:53 +08:00
e820 x86/efi: EFI soft reservation to E820 enumeration 2019-11-07 15:44:14 +01:00
fpu x86/mmu: Allocate/free a PASID 2020-09-17 20:22:15 +02:00
numachip
trace x86/entry: Convert reschedule interrupt to IDTENTRY_SYSVEC_SIMPLE 2020-06-11 15:15:16 +02:00
uv The biggest change is the removal of SGI UV1 support, which allowed the 2020-08-03 17:38:43 -07:00
vdso vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter() 2020-08-06 10:57:30 +02:00
xen xen: hypercall.h: fix duplicated word 2020-08-03 07:48:39 +02:00
acenv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
acpi.h x86/ACPI/sleep: Move acpi_get_wakeup_address() into sleep.c, remove <asm/realmode.h> from <asm/acpi.h> 2019-12-10 10:15:48 +01:00
agp.h mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
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 x86/mce/amd: Cleanup threshold device remove path 2020-04-14 15:49:51 +02:00
apb_timer.h x86/apb_timer: Drop unused declaration and macro 2020-05-27 13:12:49 +02:00
apic.h x86/entry: Convert various hypervisor vectors to IDTENTRY_SYSVEC 2020-06-11 15:15:15 +02:00
apicdef.h
apm.h x86/apm: Don't access __preempt_count with zeroed fs 2018-07-16 17:59:57 +02:00
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 x86/cpu: Use RDRAND and RDSEED mnemonics in archrandom.h 2020-05-18 19:50:47 +02:00
asm-offsets.h
asm-prototypes.h mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
asm.h x86/asm: Unify __ASSEMBLY__ blocks 2020-06-15 19:29:36 +02:00
atomic64_32.h locking/atomics: Flip fallbacks and instrumentation 2020-06-11 08:03:24 +02:00
atomic64_64.h locking/atomics: Flip fallbacks and instrumentation 2020-06-11 08:03:24 +02:00
atomic.h locking/atomic: Move ATOMIC_INIT into linux/types.h 2020-07-29 16:14:18 +02:00
audit.h x86/audit: Fix a -Wmissing-prototypes warning for ia32_classify_syscall() 2020-05-19 18:03:07 +02:00
barrier.h x86: Remove X86_FEATURE_MFENCE_RDTSC 2019-07-22 12:00:51 +02:00
bios_ebda.h
bitops.h x86, kcsan: Remove __no_kcsan_or_inline usage 2020-06-15 14:10:08 +02:00
boot.h x86: Add support for ZSTD compressed kernel 2020-07-31 11:49:09 +02:00
bootparam_utils.h x86/boot: Preserve boot_params.secure_boot from sanitizing 2019-09-02 09:17:45 +02:00
bug.h compiler.h: Move instrumentation_begin()/end() to new <linux/instrumentation.h> header 2020-07-24 13:56:23 +02:00
bugs.h x86/mpx: remove MPX from arch/x86 2020-01-23 10:41:20 -08:00
cache.h
cacheflush.h asm-generic: don't include <linux/mm.h> in cacheflush.h 2020-06-08 11:05:57 -07:00
cacheinfo.h x86/cpu: Get cache info and setup cache cpumap for Hygon Dhyana 2018-09-27 18:28:57 +02:00
ce4100.h
checksum_32.h x86: switch 32bit csum_and_copy_to_user() to user_access_{begin,end}() 2020-05-29 16:11:48 -04:00
checksum_64.h x86: switch 32bit csum_and_copy_to_user() to user_access_{begin,end}() 2020-05-29 16:11:48 -04:00
checksum.h x86: switch 32bit csum_and_copy_to_user() to user_access_{begin,end}() 2020-05-29 16:11:48 -04:00
clocksource.h x86: Introduce asm/vdso/clocksource.h 2020-03-21 15:23:54 +01:00
cmdline.h
cmpxchg_32.h x86: cmpxchg_32.h: Delete duplicated word 2020-07-26 12:47:22 +02:00
cmpxchg_64.h locking/atomics/x86: Reduce arch_cmpxchg64*() instrumentation 2018-07-25 11:53:58 +02:00
cmpxchg.h x86: Fix various typos in comments 2018-12-03 10:49:13 +01:00
compat.h signal: refactor copy_siginfo_to_user32 2020-05-05 16:46:09 -04: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/entry: Remove DBn stacks 2020-06-11 15:15:23 +02:00
cpu.h x86/cpu: Reinitialize IA32_FEAT_CTL MSR on BSP during wakeup 2020-06-15 14:18:37 +02:00
cpufeature.h x86/cpufeature: Explain the macro duplication 2019-08-28 08:38:39 +02:00
cpufeatures.h x86/cpufeatures: Enumerate ENQCMD and ENQCMDS instructions 2020-09-17 20:03:54 +02:00
cpuidle_haltpoll.h cpuidle-haltpoll: vcpu hotplug support 2019-09-03 09:36:36 +02:00
cpumask.h x86/entry, cpumask: Provide non-instrumented variant of cpu_is_offline() 2020-06-15 14:10:09 +02:00
crash.h Merge branch 'x86-kdump-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-11-26 09:48:19 -08:00
current.h
debugreg.h x86/entry: __always_inline debugreg for noinstr 2020-06-11 15:15:26 +02:00
delay.h x86/delay: Introduce TPAUSE delay 2020-05-07 16:06:20 +02:00
desc_defs.h
desc.h x86/idt: Consolidate idt functionality 2020-06-11 15:15:26 +02:00
device.h x86: Remove dev->archdata.iommu pointer 2020-06-30 11:59:48 +02:00
disabled-features.h x86/cpufeatures: Mark ENQCMD as disabled when configured out 2020-09-17 20:22:15 +02:00
div64.h sched/cputime: Improve cputime_adjust() 2020-06-15 14:10:00 +02:00
dma-mapping.h docs: fix references for DMA*.txt files 2020-06-26 10:01:32 -06:00
dma.h x86/dma: Fix max PFN arithmetic overflow on 32 bit systems 2020-05-28 20:21:32 +02:00
dmi.h x86: Don't include linux/irq.h from asm/hardirq.h 2018-08-05 09:53:13 +02:00
doublefault.h x86/32: Remove CONFIG_DOUBLEFAULT 2020-04-14 14:24:05 +02:00
dwarf2.h x86: remove always-defined CONFIG_AS_CFI_SECTIONS 2020-04-09 00:01:59 +09:00
edac.h
efi.h efi/x86: Move 32-bit code into efi_32.c 2020-08-20 11:18:36 +02:00
elf.h kill elf_fpxregs_t 2020-07-27 14:29:23 -04:00
emergency-restart.h
emulate_prefix.h x86: xen: kvm: Gather the definition of emulate prefixes 2019-10-17 21:31:57 +02:00
entry-common.h x86/entry: Fix AC assertion 2020-09-04 15:09:29 +02:00
espfix.h init: Invoke init_espfix_bsp() from mm_init() 2017-12-22 20:13:05 +01:00
exec.h
extable.h x86/fault: Plumb error code and fault address through to fault handlers 2018-09-03 15:12:09 +02:00
fb.h
fixmap.h locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
floppy.h floppy: use symbolic register names in the x86 port 2020-05-12 19:34:53 +03:00
frame.h x86/stackframe: Move ENCODE_FRAME_POINTER to asm/frame.h 2019-06-25 10:23:45 +02:00
fsgsbase.h x86/ptrace: Fix 32-bit PTRACE_SETREGS vs fsbase and gsbase 2020-07-01 15:27:20 +02:00
ftrace.h Various tracing fixes: 2020-05-14 11:46:52 -07:00
futex.h x86: get rid of user_atomic_cmpxchg_inatomic() 2020-03-27 23:58:55 -04:00
gart.h
GEN-for-each-reg.h x86: Simplify retpoline declaration 2020-04-30 20:14:34 +02:00
genapic.h
geode.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
hardirq.h x86/kvm/vmx: Move guest enter/exit into .noinstr.text 2020-07-09 07:08:40 -04:00
highmem.h arch/kmap: define kmap_atomic_prot() for all arch's 2020-06-04 19:06:22 -07:00
hpet.h x86/hpet: Move clockevents into channels 2019-06-28 00:57:24 +02: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: Remove default hw_breakpoint_arch_parse() 2018-06-26 09:07:58 +02:00
hw_irq.h x86/entry: Convert reschedule interrupt to IDTENTRY_SYSVEC_SIMPLE 2020-06-11 15:15:16 +02:00
hyperv-tlfs.h ARM: 2020-06-03 15:13:47 -07:00
hypervisor.h x86/paravirt: Remove const mark from x86_hyper_xen_hvm variable 2019-07-17 08:09:59 +02:00
i8259.h x86: i8259: Add missing include file 2018-08-15 13:44:10 -07:00
ia32_unistd.h
ia32.h
idtentry.h s390: implement diag318 2020-08-06 12:59:31 -07:00
imr.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
inat_types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
inat.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 x86: xen: insn: Decode Xen and KVM emulate-prefix signature 2019-10-17 21:31:57 +02:00
inst.h Support for FSGSBASE. Almost 5 years after the first RFC to support it, 2020-08-04 21:16:22 -07:00
intel_ds.h perf/x86/intel: Add Icelake support 2019-04-16 12:26:18 +02:00
intel_mid_vrtc.h x86: Convert x86_platform_ops to timespec64 2018-05-19 14:03:14 +02:00
intel_pconfig.h x86/pconfig: Provide defines and helper to run MKTME_KEY_PROG leaf 2018-03-12 12:10:54 +01:00
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_legacy.h platform/x86: intel_scu_ipc: Introduce new SCU IPC API 2020-04-24 11:17:28 +01:00
intel_scu_ipc.h platform/x86: intel_scu_ipc: Add managed function to register SCU IPC 2020-04-24 11:17:44 +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: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family 2020-07-25 12:16:59 +02:00
intel-mid.h x86/platform/intel-mid: Add empty stubs for intel_scu_devices_[create|destroy]() 2020-04-24 11:18:21 +01:00
invpcid.h x86/cpu: Use INVPCID mnemonic in invpcid.h 2020-05-12 16:05:30 +02:00
io_apic.h x86/ioapic: Remove unused "IOAPIC_AUTO" define 2020-07-25 12:00:56 +02:00
io_bitmap.h x86/ioperm: Fix io bitmap invalidation on Xen PV 2020-07-18 12:31:49 +02:00
io.h x86/asm: Carve out a generic movdir64b() helper for general usage 2020-10-07 17:49:25 +02:00
iomap.h mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
iommu_table.h
iommu.h iommu/vt-d: Check VT-d RMRR region in BIOS is reported as reserved 2019-11-11 16:06:07 +01:00
iosf_mbi.h media: atomisp: move CCK endpoint address to generic header 2020-07-18 07:17:16 +02:00
irq_remapping.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
irq_stack.h x86/entry: Provide helpers for executing on the irqstack 2020-06-11 15:15:07 +02:00
irq_vectors.h x86/irq: Fix outdated comments 2019-04-22 11:42:59 +02:00
irq_work.h x86/entry: Convert various system vectors 2020-06-11 15:15:14 +02:00
irq.h x86/entry: Unbreak __irqentry_text_start/end magic 2020-06-11 15:15:29 +02:00
irqdomain.h genirq/irqdomain: Rename early argument of irq_domain_activate_irq() 2017-12-29 21:13:04 +01:00
irqflags.h x86/entry: __always_inline irqflags for noinstr 2020-06-11 15:15:27 +02:00
ist.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 2019-05-24 17:39:02 +02:00
jailhouse_para.h x86/jailhouse: Fix incorrect SPDX identifier 2018-04-23 10:17:28 +02:00
jump_label.h x86/jump_label: Batch jump label updates 2019-06-17 12:09:23 +02:00
kasan.h kasan: clean up KASAN_SHADOW_SCALE_SHIFT usage 2018-02-06 18:32:43 -08:00
kaslr.h x86/mm: simplify init_trampoline() and surrounding logic 2020-06-09 09:39:13 -07:00
kbdleds.h
Kbuild asm-generic: make more kernel-space headers mandatory 2020-04-02 09:35:25 -07:00
kdebug.h x86/dumpstack: Add log_lvl to __show_regs() 2020-07-22 23:56:53 +02:00
kexec-bzimage64.h kexec_file,x86,powerpc: factor out kexec_file_ops functions 2018-04-13 17:10:27 -07:00
kexec.h x86/kdump: Remove the backup region handling 2019-11-14 18:24:43 +01:00
kgdb.h
kmap_types.h
kprobes.h perf/x86: Add perf text poke events for kprobes 2020-06-15 14:09:49 +02:00
kvm_host.h KVM: Pass MMU notifier range flags to kvm_unmap_hva_range() 2020-08-21 18:03:47 -04:00
kvm_page_track.h KVM: Simplify kvm_free_memslot() and all its descendents 2020-03-16 17:57:22 +01:00
kvm_para.h KVM: x86: Use VMCALL and VMMCALL mnemonics in kvm_para.h 2020-07-08 16:21:49 -04: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: Explicitly #define the VCPU_REGS_* indices 2019-02-20 22:47:38 +01:00
kvmclock.h
linkage.h x86/asm: Remove the last GLOBAL user and remove the macro 2019-10-18 11:29:50 +02:00
livepatch.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
local64.h
local.h x86/asm: 'Simplify' GEN_*_RMWcc() macros 2018-10-16 17:33:54 +02:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h x86: Convert x86_platform_ops to timespec64 2018-05-19 14:03:14 +02:00
mce.h Merge branch 'x86/entry' into ras/core 2020-06-11 15:17:57 +02:00
mcsafe_test.h x86, nfit_test: Add unit test for memcpy_mcsafe() 2018-05-22 23:18:31 -07:00
mem_encrypt.h x86/mm: Fix -Wmissing-prototypes warnings for arch/x86/mm/init.c 2020-06-17 10:45:46 +02:00
memtype.h x86/mm: Move pgprot2cachemode out of line 2020-04-20 12:39:17 +02:00
microcode_amd.h x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE 2020-04-14 17:34:46 +02:00
microcode_intel.h
microcode.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-04-02 15:16:43 -07:00
misc.h
mmconfig.h
mmu_context.h mm: remove unneeded includes of <asm/pgalloc.h> 2020-08-07 11:33:26 -07:00
mmu.h cpuidle: Make CPUIDLE_FLAG_TLB_FLUSHED generic 2020-08-26 12:41:53 +02:00
mmx.h
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 x86: Introduce and use MP IRQ trigger and polarity defines 2018-01-14 21:11:54 +01:00
mpspec.h
mshyperv.h x86/hyperv: Make hv_setup_sched_clock inline 2020-08-11 10:41:15 +00:00
msi.h
msidef.h
msr-index.h x86/msr-index: Define an IA32_PASID MSR 2020-09-17 20:22:15 +02:00
msr-trace.h
msr.h x86: Remove X86_FEATURE_MFENCE_RDTSC 2019-07-22 12:00:51 +02:00
mtrr.h x86/mm/pat: Rename <asm/pat.h> => <asm/memtype.h> 2019-12-10 10:12:55 +01:00
mwait.h KVM: VMX: Stop context switching MSR_IA32_UMWAIT_CONTROL 2020-06-22 20:54:57 -04:00
nmi.h x86/nmi: Remove irq_work from the long duration NMI handler 2020-01-11 15:55:39 +01:00
nops.h
nospec-branch.h x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline 2020-06-11 15:14:40 +02:00
numa_32.h
numa.h
olpc_ofw.h
olpc.h Platform: OLPC: Move EC-specific functionality out from x86 2019-05-20 17:27:08 +03:00
orc_lookup.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
orc_types.h objtool: Remove SAVE/RESTORE hints 2020-04-22 10:53:50 +02:00
page_32_types.h x86/irq/32: Define IRQ_STACK_SIZE 2019-04-17 15:18:36 +02:00
page_32.h
page_64_types.h docs: fix broken documentation links 2019-06-08 13:42:13 -06:00
page_64.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-04-02 15:45:30 -07:00
page_types.h x86/mm: thread pgprot_t through init_memory_mapping() 2020-04-10 15:36:21 -07:00
page.h
paravirt_types.h x86/ioperm: Fix io bitmap invalidation on Xen PV 2020-07-18 12:31:49 +02:00
paravirt.h x86/ioperm: Fix io bitmap invalidation on Xen PV 2020-07-18 12:31:49 +02:00
parport.h
pci_x86.h PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set 2018-12-20 10:19:49 +01:00
pci-direct.h PCI: Make early dump functionality generic 2018-06-29 20:06:07 -05:00
pci-functions.h
pci.h x86/PCI: Define to_pci_sysdata() even when !CONFIG_PCI 2020-02-04 08:44:46 -06:00
percpu.h x86/percpu: Remove unused PER_CPU() macro 2020-07-23 11:46:43 +02:00
perf_event_p4.h
perf_event.h perf/x86/intel/lbr: Support XSAVES/XRSTORS for LBR context switch 2020-07-08 11:38:56 +02:00
pgalloc.h asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
pgtable_32_areas.h mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions 2019-12-10 10:12:55 +01:00
pgtable_32_types.h mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions 2019-12-10 10:12:55 +01:00
pgtable_32.h Merge branch 'uaccess.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-10 16:02:54 -07:00
pgtable_64_types.h Revert "x86/mm/64: Do not sync vmalloc/ioremap mappings" 2020-08-06 12:02:58 -07:00
pgtable_64.h The biggest change is to not sync the vmalloc and ioremap ranges for x86-64 anymore. 2020-08-03 17:25:42 -07:00
pgtable_areas.h mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions 2019-12-10 10:12:55 +01:00
pgtable_types.h x86/hyperv: allocate the hypercall page with only read and execute bits 2020-06-26 00:27:38 -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 Revert "x86/mm/legacy: Populate the user page-table with user pgd's" 2018-09-14 17:08:45 +02:00
pgtable-3level_types.h x86/mm/32: implement arch_sync_kernel_mappings() 2020-06-02 10:59:11 -07:00
pgtable-3level.h mmap locking API: convert mmap_sem comments 2020-06-09 09:39:14 -07:00
pgtable-invert.h x86/speculation/l1tf: Exempt zeroed PTEs from inversion 2018-08-17 10:27:36 -07:00
pgtable.h x86/mm/32: Fix -Wmissing prototypes warnings for init.c 2020-06-18 18:04:00 +02:00
pkeys.h x86/pkeys: Add check for pkey "overflow" 2020-02-24 20:25:21 +01:00
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/entry: Rename ___preempt_schedule 2020-03-21 16:03:53 +01: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 x86/mm/pti: Define X86_CR3_PTI_PCID_USER_BIT on x86_32 2018-07-20 01:11:44 +02:00
processor.h Support for FSGSBASE. Almost 5 years after the first RFC to support it, 2020-08-04 21:16:22 -07:00
prom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
proto.h x86/xen: remove 32-bit Xen PV guest support 2020-08-11 08:26:48 +02:00
pti.h x86: Use the correct SPDX License Identifier in headers 2019-10-01 20:31:35 +02:00
ptrace.h tracing/kprobes, x86/ptrace: Fix regs argument order for i386 2020-09-04 14:40:42 +02:00
purgatory.h x86/kdump: Remove the backup region handling 2019-11-14 18:24:43 +01:00
pvclock-abi.h
pvclock.h x86/vdso: Switch to generic vDSO implementation 2019-06-22 21:21:10 +02:00
qrwlock.h
qspinlock_paravirt.h locking/pvqspinlock/x86: Use LOCK_PREFIX in __pv_queued_spin_unlock() assembly code 2018-07-25 11:22:20 +02:00
qspinlock.h x86/kvm: Add "nopvspin" parameter to disable PV spinlocks 2020-07-08 16:21:57 -04:00
realmode.h x86/boot: Fix a comment's incorrect file reference 2019-12-16 14:09:33 +01:00
reboot_fixups.h
reboot.h x86/headers: Fix -Wmissing-prototypes warning 2018-11-23 07:59:59 +01:00
required-features.h x86/mm: Allow to boot without LA57 if CONFIG_X86_5LEVEL=y 2018-02-16 10:48:49 +01:00
resctrl.h x86/cpu: Move resctrl CPUID code to resctrl/ 2020-05-06 17:51:21 +02:00
rmwcc.h jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
seccomp.h
sections.h x86/setup: Fix static memory detection 2020-03-19 11:58:13 +01:00
segment.h x86/xen: remove 32-bit Xen PV guest support 2020-08-11 08:26:48 +02:00
serial.h
set_memory.h x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned 2020-06-11 15:19:17 +02:00
setup_arch.h
setup.h x86/mm: simplify init_trampoline() and surrounding logic 2020-06-09 09:39:13 -07:00
shmparam.h
sigcontext.h
sigframe.h x86: switch sigframe sigset handling to explict __get_user()/__put_user() 2020-03-18 15:29:54 -04:00
sighandling.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-03-31 11:04:05 -07:00
signal.h x86/entry: Use generic syscall exit functionality 2020-07-24 15:04:59 +02:00
simd.h
smap.h x86,smap: Fix smap_{save,restore}() alternatives 2020-04-30 20:14:31 +02:00
smp.h x86/headers: Remove APIC headers from <asm/smp.h> 2020-08-06 16:13:09 +02:00
sparsemem.h x86/mm: Drop unused MAX_PHYSADDR_BITS 2020-07-24 09:53:06 +02:00
spec-ctrl.h x86/speculation: Prevent stale SPEC_CTRL msr content 2018-11-28 11:57:12 +01:00
special_insns.h x86/asm: Add an enqcmds() wrapper for the ENQCMDS instruction 2020-10-07 17:53:08 +02: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 x86/stackprotector: Pre-initialize canary for secondary CPUs 2020-06-18 13:09:17 +02:00
stacktrace.h x86: add missing const qualifiers for log_lvl 2020-06-09 09:39:12 -07:00
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
string.h
suspend_32.h x86-32/asm/power: Create stack frames in hibernate_asm_32.S 2018-10-03 11:56:33 +02:00
suspend_64.h x86/paravirt: Drop {read,write}_cr8() hooks 2019-07-22 10:12:33 +02:00
suspend.h x86, hibernate: Rename temp_level4_pgt to temp_pgt 2018-10-03 11:56:34 +02:00
svm.h KVM: nSVM: remove trailing padding for struct vmcb_control_area 2020-06-01 04:25:59 -04:00
swiotlb.h x86/dma: Use generic swiotlb_ops 2018-03-20 10:01:57 +01:00
switch_to.h x86/mm: remove vmalloc faulting 2020-06-02 10:59:12 -07:00
sync_bitops.h x86/asm: Modernize sync_bitops.h 2019-04-10 09:53:31 +02:00
sync_core.h x86/cpu: Refactor sync_core() for readability 2020-07-27 12:42:06 +02:00
syscall_wrapper.h x86/entry: Fix build error x86 with !CONFIG_POSIX_TIMERS 2020-03-25 10:06:20 +01:00
syscall.h Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-03-31 11:04:05 -07:00
syscalls.h x86: Remove unneeded includes 2020-03-21 16:03:25 +01:00
sysfb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
text-patching.h x86/int3: Ensure that poke_int3_handler() is not traced 2020-06-11 15:14:52 +02:00
thread_info.h x86/entry: Use generic syscall entry function 2020-07-24 15:04:59 +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: rename HAVE_RCU_TABLE_FREE 2020-02-04 03:05:26 +00:00
tlbbatch.h
tlbflush.h x86/tlb: Restrict access to tlbstate 2020-04-26 18:52:33 +02:00
topology.h x86, sched: check for counters overflow in frequency invariant accounting 2020-06-15 14:10:02 +02:00
trace_clock.h
trapnr.h x86/traps: Split trap numbers out in a separate header 2020-06-11 15:14:42 +02:00
traps.h x86/entry: Convert various system vectors 2020-06-11 15:15:14 +02:00
tsc.h A set of locking fixes and updates: 2020-08-10 19:07:44 -07:00
uaccess_32.h x86: get rid of small constant size cases in raw_copy_{to,from}_user() 2020-03-18 15:53:25 -04:00
uaccess_64.h x86: get rid of small constant size cases in raw_copy_{to,from}_user() 2020-03-18 15:53:25 -04:00
uaccess.h uaccess: remove segment_eq 2020-08-12 10:57:58 -07:00
umip.h x86/Kconfig: Rename UMIP config parameter 2019-11-07 11:07:29 +01:00
unaligned.h
unistd.h x86/entry: Move max syscall number calculation to syscallhdr.sh 2020-03-21 16:03:21 +01:00
unwind_hints.h objtool: Remove SAVE/RESTORE hints 2020-04-22 10:53:50 +02:00
unwind.h x86/unwind/orc: Fix premature unwind stoppage due to IRET frames 2020-04-25 12:22:29 +02:00
uprobes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
user32.h
user_32.h
user_64.h
user.h
vdso.h x86/vdso: Add time napespace page 2020-01-14 12:20:58 +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 um: Fix header inclusion 2020-03-23 18:45:14 +01:00
virtext.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 499 2019-06-19 17:09:53 +02:00
vm86.h
vmalloc.h mm, x86/mm: Untangle address space layout definitions from basic pgtable type definitions 2019-12-10 10:12:55 +01:00
vmware.h x86/cpu/vmware: Fix platform detection VMWARE_PORT macro 2019-10-22 00:51:44 +02:00
vmx.h KVM: nVMX: Tweak handling of failure code for nested VM-Enter failure 2020-05-15 12:07:31 -04:00
vmxfeatures.h KVM: VMX: Add VMX_FEATURE_USR_WAIT_PAUSE 2020-02-21 18:05:19 +01:00
vsyscall.h x86/vsyscall: Show something useful on a read fault 2019-06-28 00:04:39 +02:00
vvar.h x86/vdso: Add time napespace page 2020-01-14 12:20:58 +01:00
word-at-a-time.h
x86_init.h x86/kvm: Handle async page faults directly through do_page_fault() 2020-05-19 15:53:57 +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 x86: remove always-defined CONFIG_AS_AVX 2020-04-09 00:01:59 +09:00
xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 47 2019-05-24 17:27:13 +02:00