linux-stable/arch/x86/include/asm
Thomas Gleixner be5341eb0d x86/entry: Convert INT 0x80 emulation to IDTENTRY
There is no real reason to have a separate ASM entry point implementation
for the legacy INT 0x80 syscall emulation on 64-bit.

IDTENTRY provides all the functionality needed with the only difference
that it does not:

  - save the syscall number (AX) into pt_regs::orig_ax
  - set pt_regs::ax to -ENOSYS

Both can be done safely in the C code of an IDTENTRY before invoking any of
the syscall related functions which depend on this convention.

Aside of ASM code reduction this prepares for detecting and handling a
local APIC injected vector 0x80.

[ kirill.shutemov: More verbose comments ]
Suggested-by: Linus Torvalds <torvalds@linuxfoundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Borislav Petkov (AMD) <bp@alien8.de>
Cc: <stable@vger.kernel.org> # v6.0+
2023-12-07 09:51:29 -08:00
..
e820
fpu x86/fpu: Allow caller to constrain xfeatures when copying to uabi buffer 2023-10-12 11:08:58 -04:00
numachip
shared configfs-tsm for v6.7 2023-11-04 15:58:13 -10:00
trace
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 acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0 2023-11-13 07:22:00 +01:00
acenv.h
acpi.h acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0 2023-11-13 07:22:00 +01:00
acrn.h
agp.h char/agp: consolidate {alloc,free}_gatt_pages() 2023-02-13 22:13:12 +01:00
alternative.h x86/speculation, objtool: Use absolute relocations for annotations 2023-09-22 11:41:24 +02:00
amd-ibs.h perf/x86/amd: Add IBS OP_DATA2 DataSrc bit definitions 2022-09-29 12:20:54 +02:00
amd_hsmp.h
amd_nb.h
apic.h Major microcode loader restructuring, cleanup and improvements by Thomas 2023-11-04 08:46:37 -10: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
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
atomic.h locking/atomic: treewide: delete arch_atomic_*() kerneldoc 2023-06-05 09:57:24 +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
audit.h x86/audit: Fix -Wmissing-variable-declarations warning for ia32_xyz_class 2023-08-30 10:11:16 +02:00
barrier.h
bios_ebda.h
bitops.h Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
boot.h Changes to the x86 boot code in v6.7: 2023-10-30 14:11:57 -10:00
bootparam_utils.h docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
bug.h
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/cpu: Move cpu_l[l2]c_id into topology info 2023-10-10 14:38:18 +02:00
ce4100.h
cfi.h
checksum.h x86: kasan: kmsan: support CONFIG_GENERIC_CSUM on x86, enable it for KASAN/KMSAN 2022-10-03 14:03:24 -07:00
checksum_32.h
checksum_64.h net: checksum: drop the linux/uaccess.h include 2023-01-27 11:19:46 +00:00
clocksource.h
cmdline.h
cmpxchg.h locking/atomic/x86: Introduce arch_sync_try_cmpxchg() 2023-10-09 18:14:25 +02:00
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
coco.h x86/coco: Get rid of accessor functions 2023-05-09 12:53:16 +02:00
compat.h
cpu.h x86/microcode/intel: Rework intel_find_matching_signature() 2023-10-24 15:05:54 +02:00
cpu_device_id.h
cpu_entry_area.h x86/mm: Randomize per-cpu entry area 2022-12-15 10:37:26 -08:00
cpufeature.h x86/cpu: Remove X86_FEATURE_NAMES 2023-05-15 20:03:08 +02:00
cpufeatures.h x86: KVM: Add feature flag for CPUID.80000021H:EAX[bit 1] 2023-10-18 13:50:28 -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
crash_core.h x86: kdump: use generic interface to simplify crashkernel reservation code 2023-10-04 10:41:58 -07: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.h
desc_defs.h
device.h
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
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/x86: Move EFI runtime call setup/teardown helpers out of line 2023-09-11 06:37:50 +00:00
elf.h x86/elf: Make loading of 32bit processes depend on ia32_enabled() 2023-09-14 13:19:53 +02:00
elfcore-compat.h
emergency-restart.h
emulate_prefix.h
enclu.h
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.h
extable_fixup_types.h
fb.h fbdev: Replace fb_pgprotect() with pgprot_framebuffer() 2023-10-12 09:20:46 +02:00
fixmap.h
floppy.h
frame.h
fsgsbase.h
ftrace.h Tracing updates for 6.5: 2023-06-30 10:33:17 -07:00
futex.h
gart.h
GEN-for-each-reg.h
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
hpet.h
hugetlb.h
hw_breakpoint.h
hw_irq.h x86/msi: Fix compile error caused by CONFIG_GENERIC_MSI_IRQ=y && !CONFIG_X86_LOCAL_APIC 2023-10-12 08:13:27 +02:00
hyperv-tlfs.h x86/hyperv: Add hv_isolation_type_tdx() to detect TDX guests 2023-08-25 00:04:56 +00: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
hypervisor.h
i8259.h x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility 2023-10-27 20:36:49 +02:00
ia32.h x86/coco: Disable 32-bit emulation by default on TDX and SEV 2023-12-07 09:51:10 -08:00
ia32_unistd.h
ibt.h x86/alternative: Rename apply_ibt_endbr() 2023-07-10 09:52:23 +02:00
idtentry.h x86/entry: Convert INT 0x80 emulation to IDTENTRY 2023-12-07 09:51:29 -08:00
imr.h
inat.h
inat_types.h
init.h x86/head/64: Move the __head definition to <asm/init.h> 2023-10-17 14:51:14 +02:00
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
inst.h
intel-family.h x86/cpu: Add model number for Intel Arrow Lake mobile processor 2023-10-27 10:19:26 -07:00
intel-mid.h x86/platform/intel-mid: Remove unused definitions from intel-mid.h 2023-03-22 11:08:40 -07:00
intel_ds.h
intel_pconfig.h
intel_pt.h
intel_punit_ipc.h
intel_scu_ipc.h
intel_telemetry.h
invpcid.h
io.h asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros 2023-08-18 10:12:32 -07:00
io_apic.h x86/apic/ioapic: Rename skip_ioapic_setup 2023-08-09 11:58:16 -07:00
io_bitmap.h
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.h nmi_backtrace: allow excluding an arbitrary CPU 2023-08-18 10:19:00 -07: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
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
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/headers: Remove <asm/export.h> 2023-10-03 10:38:08 +02:00
kdebug.h
kexec-bzimage64.h
kexec.h ARM: 2023-09-07 13:52:20 -07:00
kfence.h
kgdb.h
kmsan.h x86: kmsan: handle CPU entry area 2022-10-03 14:03:26 -07:00
kprobes.h kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
kvm-x86-ops.h KVM SVM changes for 6.7: 2023-10-31 10:22:43 -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
kvm_host.h KVM SVM changes for 6.7: 2023-10-31 10:22:43 -04:00
kvm_page_track.h KVM: x86/mmu: Handle KVM bookkeeping in page-track APIs, not callers 2023-08-31 14:08:19 -04:00
kvm_para.h
kvm_types.h
kvm_vcpu_regs.h
kvmclock.h sched/clock/x86: Mark sched_clock() noinstr 2023-01-31 15:01:47 +01:00
linkage.h x86/asm: Fix build of UML with KASAN 2023-09-18 19:30:08 +02:00
local.h locking/local, arch: Rewrite local_add_unless() as a static inline function 2023-10-04 11:38:11 +02:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h x86/mce: Cleanup mce_usable_address() 2023-10-16 15:37:01 +02:00
mem_encrypt.h x86/sev: Move sev_setup_arch() to mem_encrypt.c 2023-10-11 10:15:47 +02:00
memtype.h x86: Decouple PAT and MTRR handling 2022-11-10 13:12:45 +01:00
microcode.h x86/microcode/intel: Add a minimum required revision for late loading 2023-10-24 15:05:55 +02:00
misc.h
mman.h x86: Remove the arch_calc_vm_prot_bits() macro from the UAPI 2023-09-06 23:50:46 +02:00
mmconfig.h
mmu.h x86/mm/iommu/sva: Make LAM and SVA mutually exclusive 2023-03-16 13:08:40 -07:00
mmu_context.h x86/shstk: Handle vfork clone failure correctly 2023-09-19 09:18:34 -07:00
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h x86/apic: Use u32 for APIC IDs in global data 2023-10-10 14:38:18 +02:00
mpspec_def.h
mshyperv.h X86 core code updates: 2023-10-30 17:37:47 -10:00
msi.h x86/apic/msi: Enable MSI_FLAG_PCI_MSIX_ALLOC_DYN 2022-12-05 22:22:34 +01:00
msr-index.h ARM: 2023-11-02 15:45:15 -10:00
msr-trace.h
msr.h
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
nops.h x86/alternatives: Add longer 64-bit NOPs 2023-05-31 10:21:21 +02:00
nospec-branch.h Misc fixes and cleanups: 2023-10-30 13:20:02 -10:00
numa.h x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size 2023-10-20 10:40:22 +02:00
numa_32.h
olpc.h
olpc_ofw.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.h mm: add vma_alloc_zeroed_movable_folio() 2023-02-02 22:33:18 -08:00
page_32.h mm, arch: add generic implementation of pfn_valid() for FLATMEM 2023-02-09 16:51:41 -08:00
page_32_types.h
page_64.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_types.h x86/mm: Remove P*D_PAGE_MASK and P*D_PAGE_SIZE macros 2022-12-15 10:37:27 -08:00
paravirt.h x86/paravirt: Silence unused native_pv_lock_init() function warning 2023-08-03 16:50:19 +02:00
paravirt_api_clock.h
paravirt_types.h x86/xen: move paravirt lazy code 2023-09-19 07:04:49 +02:00
parport.h
pc-conf-reg.h
pci-direct.h
pci-functions.h
pci.h x86/apic/vector: Provide MSI parent domain 2022-12-05 22:22:33 +01:00
pci_x86.h
percpu.h x86/percpu: Do not clobber %rsi in percpu_{try_,}cmpxchg{64,128}_op 2023-09-21 09:35:50 +02:00
perf_event.h perf/x86/amd/uncore: Add memory controller support 2023-10-09 16:12:25 +02:00
perf_event_p4.h
pgalloc.h
pgtable-2level.h x86/mm: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE also on 32bit 2023-02-02 22:33:10 -08:00
pgtable-2level_types.h
pgtable-3level.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-invert.h
pgtable.h x86 MM handling code changes for v6.7: 2023-10-30 15:40:57 -10:00
pgtable_32.h mm: remove kern_addr_valid() completely 2022-11-08 17:37:18 -08:00
pgtable_32_areas.h
pgtable_32_types.h
pgtable_64.h x86/mm: Fix __swp_entry_to_pte() for Xen PV guests 2023-05-08 15:25:24 +02:00
pgtable_64_types.h docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06: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
pkeys.h
pkru.h
platform_sst_audio.h
pm-trace.h
posix_types.h
preempt.h x86/percpu: Use raw_cpu_try_cmpxchg() in preempt_count_set() 2023-09-15 13:19:22 +02:00
probe_roms.h
processor-cyrix.h
processor-flags.h x86: CPUID and CR3/CR4 flags for Linear Address Masking 2023-03-16 13:08:39 -07:00
processor.h X86 core code updates: 2023-10-30 17:37:47 -10:00
prom.h x86/of: Move the x86_flattree_get_config() call out of x86_dtb_init() 2023-10-02 21:30:09 +02:00
proto.h x86/entry: Convert INT 0x80 emulation to IDTENTRY 2023-12-07 09:51:29 -08:00
pti.h
ptrace.h
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.h x86/paravirt: Silence unused native_pv_lock_init() function warning 2023-08-03 16:50:19 +02:00
qspinlock_paravirt.h x86/qspinlock-paravirt: Fix missing-prototype warning 2023-08-03 17:15:05 +02:00
realmode.h x86/smpboot: Implement a bit spinlock to protect the realmode stack 2023-05-15 13:45:03 +02:00
reboot.h x86/reboot: Expose VMCS crash hooks if and only if KVM_{INTEL,AMD} is enabled 2023-08-03 15:37:14 -07:00
reboot_fixups.h
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
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.h x86/boot/32: De-uglify the 2/3 level paging difference in mk_early_pgtbl_32() 2023-10-18 18:27:30 +02:00
setup_arch.h
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
smp.h X86 core code updates: 2023-10-30 17:37:47 -10:00
softirq_stack.h
sparsemem.h x86/numa: Introduce numa_fill_memblks() 2023-09-12 16:13:05 -07:00
spec-ctrl.h x86/speculation: Add __update_spec_ctrl() helper 2023-10-07 11:33:28 +02:00
special_insns.h x86/shstk: Introduce routines modifying shstk 2023-08-02 15:01:50 -07:00
spinlock.h
spinlock_types.h
sta2x11.h
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
stacktrace.h
static_call.h
string.h
string_32.h
string_64.h x86: kmsan: use C versions of memset16/memset32/memset64 2023-03-28 16:20:11 -07:00
suspend.h
suspend_32.h
suspend_64.h
svm.h - Make sure the "svm" feature flag is cleared from /proc/cpuinfo when 2023-10-30 12:10:24 -10: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.h x86/entry/64: Convert SYSRET validation tests to C 2023-10-13 13:05:28 +02:00
syscall_wrapper.h x86/syscall: Include asm/ptrace.h in syscall_wrapper header 2022-10-24 17:57:28 +02:00
syscalls.h
tdx.h configfs-tsm for v6.7 2023-11-04 15:58:13 -10:00
text-patching.h x86/alternatives: Introduce int3_emulate_jcc() 2023-01-31 15:05:30 +01:00
thermal.h
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
tlb.h
tlbbatch.h
tlbflush.h Add x86 shadow stack support 2023-08-31 12:20:12 -07:00
topology.h x86/cpu: Move cpu_l[l2]c_id into topology info 2023-10-10 14:38:18 +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
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.h iov_iter, x86: Be consistent about the __user tag on copy_mc_to_user() 2023-09-25 14:30:27 +02: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
umip.h
unaccepted_memory.h x86/sev: Add SNP-specific unaccepted memory support 2023-06-06 18:31:37 +02:00
unistd.h
unwind.h
unwind_hints.h drm/vmwgfx: Add unwind hints around RBP clobber 2023-06-07 10:03:12 -07:00
uprobes.h
user.h
user32.h
user_32.h
user_64.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
vm86.h
vmalloc.h
vmware.h
vmx.h KVM: VMX: Rename XSAVES control to follow KVM's preferred "ENABLE_XYZ" 2023-08-17 11:38:28 -07:00
vmxfeatures.h
vsyscall.h
vvar.h
word-at-a-time.h
x86_init.h x86/cpu: Move phys_proc_id into topology info 2023-10-10 14:38:17 +02:00
xor.h
xor_32.h
xor_64.h
xor_avx.h