mirror-linux/arch/x86/include/asm
Linus Torvalds c9f016e72b A set of X86 fixes:
- x2apic_disable() clears x2apic_state and x2apic_mode unconditionally,
     even when the state is X2APIC_ON_LOCKED, which prevents the kernel to
     disable it thereby creating inconsistent state.
 
     Reorder the logic so it actually works correctly
 
   - The XSTATE logic for handling LBR is incorrect as it assumes that
     XSAVES supports LBR when the CPU supports LBR. In fact both conditions
     need to be true. Otherwise the enablement of LBR in the IA32_XSS MSR
     fails and subsequently the machine crashes on the next XRSTORS
     operation because IA32_XSS is not initialized.
 
     Cache the XSTATE support bit during init and make the related functions
     use this cached information and the LBR CPU feature bit to cure this.
 
   - Cure a long standing bug in KASLR
 
     KASLR uses the full address space between PAGE_OFFSET and vaddr_end to
     randomize the starting points of the direct map, vmalloc and vmemmap
     regions.  It thereby limits the size of the direct map by using the
     installed memory size plus an extra configurable margin for hot-plug
     memory.  This limitation is done to gain more randomization space
     because otherwise only the holes between the direct map, vmalloc,
     vmemmap and vaddr_end would be usable for randomizing.
 
     The limited direct map size is not exposed to the rest of the kernel, so
     the memory hot-plug and resource management related code paths still
     operate under the assumption that the available address space can be
     determined with MAX_PHYSMEM_BITS.
 
     request_free_mem_region() allocates from (1 << MAX_PHYSMEM_BITS) - 1
     downwards.  That means the first allocation happens past the end of the
     direct map and if unlucky this address is in the vmalloc space, which
     causes high_memory to become greater than VMALLOC_START and consequently
     causes iounmap() to fail for valid ioremap addresses.
 
     Cure this by exposing the end of the direct map via PHYSMEM_END and use
     that for the memory hot-plug and resource management related places
     instead of relying on MAX_PHYSMEM_BITS. In the KASLR case PHYSMEM_END
     maps to a variable which is initialized by the KASLR initialization and
     otherwise it is based on MAX_PHYSMEM_BITS as before.
 
   - Prevent a data leak in mmio_read(). The TDVMCALL exposes the value of
     an initialized variabled on the stack to the VMM. The variable is only
     required as output value, so it does not have to exposed to the VMM in
     the first place.
 
   - Prevent an array overrun in the resource control code on systems with
     Sub-NUMA Clustering enabled because the code failed to adjust the index
     by the number of SNC nodes per L3 cache.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmbUUu0THHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYodFsEADFgxq2wjnH+VpuaIhLiQIfUa7iVeUl
 bwHAakZRMJ+Cb8BsvaRCMdAWWF+cRdLabAHuh7MRJFFzzdwrVTswnxT9baUBBjEe
 Kd3ZeQOS4AvWxpJNQEDg9r7tYtavmml9ix+Jh0OF+YmXLIweQk5RhDN+ncha07cJ
 0DuPt4ngI24iyAyUX+7gZsRZiwoOm0HqImaRiisaspTbGpNwnrwFQCEioCdwnAv0
 H5S7WTAlsZURCINLBNT+fV5oPjk2E3Ckj/CCJGoG1LYedGUD/44M1Hj0Xsqm4pHF
 Zd0+CuFyYpGqkAuBY6moWOheYP8V2U+yhf9Rtvh8/+h3qxZ/yon5i0ycO/2wMjiF
 0NBomMeKh4PNyefYq8lHWK3kcXphrXH3yv09wVBDdLMXDy98beuS5NScGgza8148
 /nqq0l1uLUyM9TkWg9H+4wW73EzQW1DYIliDU3tC98u+E77kQbyCx+2f0WI2k+ar
 3wy7nYzyEJXl38NUTB+La4xXbhsELcaYQ/Q6scIsWAL+6+KlRb3FNBn+HT+KmOmF
 y702km/28C0uxrLk2OQCjX/zXQtXe2/4aoUzGqFf9atsifa0IBrc8YBzdIDB49Jt
 zz/MOAZTcz4jfyD3sRfYuG2QhBbdTz3f/kd3OryquitdAGozpoeztMIGs1PU2Y6s
 zInlLtUwaosadg==
 =T4i1
 -----END PGP SIGNATURE-----

Merge tag 'x86-urgent-2024-09-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Thomas Gleixner:

 - x2apic_disable() clears x2apic_state and x2apic_mode unconditionally,
   even when the state is X2APIC_ON_LOCKED, which prevents the kernel to
   disable it thereby creating inconsistent state.

   Reorder the logic so it actually works correctly

 - The XSTATE logic for handling LBR is incorrect as it assumes that
   XSAVES supports LBR when the CPU supports LBR. In fact both
   conditions need to be true. Otherwise the enablement of LBR in the
   IA32_XSS MSR fails and subsequently the machine crashes on the next
   XRSTORS operation because IA32_XSS is not initialized.

   Cache the XSTATE support bit during init and make the related
   functions use this cached information and the LBR CPU feature bit to
   cure this.

 - Cure a long standing bug in KASLR

   KASLR uses the full address space between PAGE_OFFSET and vaddr_end
   to randomize the starting points of the direct map, vmalloc and
   vmemmap regions. It thereby limits the size of the direct map by
   using the installed memory size plus an extra configurable margin for
   hot-plug memory. This limitation is done to gain more randomization
   space because otherwise only the holes between the direct map,
   vmalloc, vmemmap and vaddr_end would be usable for randomizing.

   The limited direct map size is not exposed to the rest of the kernel,
   so the memory hot-plug and resource management related code paths
   still operate under the assumption that the available address space
   can be determined with MAX_PHYSMEM_BITS.

   request_free_mem_region() allocates from (1 << MAX_PHYSMEM_BITS) - 1
   downwards. That means the first allocation happens past the end of
   the direct map and if unlucky this address is in the vmalloc space,
   which causes high_memory to become greater than VMALLOC_START and
   consequently causes iounmap() to fail for valid ioremap addresses.

   Cure this by exposing the end of the direct map via PHYSMEM_END and
   use that for the memory hot-plug and resource management related
   places instead of relying on MAX_PHYSMEM_BITS. In the KASLR case
   PHYSMEM_END maps to a variable which is initialized by the KASLR
   initialization and otherwise it is based on MAX_PHYSMEM_BITS as
   before.

 - Prevent a data leak in mmio_read(). The TDVMCALL exposes the value of
   an initialized variabled on the stack to the VMM. The variable is
   only required as output value, so it does not have to exposed to the
   VMM in the first place.

 - Prevent an array overrun in the resource control code on systems with
   Sub-NUMA Clustering enabled because the code failed to adjust the
   index by the number of SNC nodes per L3 cache.

* tag 'x86-urgent-2024-09-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/resctrl: Fix arch_mbm_* array overrun on SNC
  x86/tdx: Fix data leak in mmio_read()
  x86/kaslr: Expose and use the end of the physical memory address space
  x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported
  x86/apic: Make x2apic_disable() work correctly
2024-09-01 14:43:08 -07:00
..
e820 x86/e820: Add a new e820 table update helper 2024-04-29 11:15:31 +02:00
fpu x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported 2024-08-14 19:40:20 +02:00
numachip
shared x86/virt/tdx: Get module global metadata for module initialization 2023-12-08 09:12:18 -08:00
trace
uv arch/x86: Fix typos 2024-01-03 11:46:22 +01:00
vdso Random number generator updates for Linux 6.11-rc1. 2024-07-24 10:29:50 -07:00
xen x86/xen: fix memblock_reserve() usage on PVH 2024-07-25 13:11:08 +02:00
GEN-for-each-reg.h
Kbuild x86/headers: Remove <asm/export.h> 2023-10-03 10:38:08 +02:00
acenv.h
acpi.h x86/acpi: Add support for CPU offlining for ACPI MADT wakeup method 2024-06-17 17:46:25 +02:00
acrn.h
agp.h
alternative.h x86/alternatives, kvm: Fix a couple of CALLs without a frame pointer 2024-07-01 12:41:11 +02:00
amd-ibs.h
amd_hsmp.h
amd_nb.h x86/amd_nb: Enhance SMN access error checking 2024-06-12 11:38:58 +02:00
apic.h X86 interrupt handling update: 2024-05-14 10:01:29 -07:00
apicdef.h x86/apic: Drop struct local_apic 2023-11-21 17:23:35 +01:00
apm.h
arch_hweight.h
archrandom.h
asm-offsets.h
asm-prototypes.h x86/bugs: Fix the SRSO mitigation on Zen3/4 2024-03-29 12:13:12 -07:00
asm.h x86/extable: Remove unused fixup type EX_TYPE_COPY 2024-04-04 17:01:40 +02:00
atomic.h locking/atomic/x86: Define arch_atomic_sub() family using arch_atomic_add() functions 2024-04-10 15:04:55 +02:00
atomic64_32.h x86/asm changes for v6.10: 2024-05-13 17:36:32 -07:00
atomic64_64.h locking/atomic/x86: Define arch_atomic_sub() family using arch_atomic_add() functions 2024-04-10 15:04:55 +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: improve array_index_mask_nospec() code generation 2024-05-22 14:12:11 -07:00
bios_ebda.h
bitops.h x86: improve bitop code generation with clang 2024-05-22 14:12:11 -07:00
boot.h x86/build changes for v6.10: 2024-05-13 18:05:08 -07:00
bootparam_utils.h
bug.h
bugs.h
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 x86/alternatives: Make FineIBT mode Kconfig selectable 2024-06-19 12:41:08 -07:00
checksum.h
checksum_32.h
checksum_64.h
clocksource.h
cmdline.h x86/setup: Parse the builtin command line before merging 2024-07-31 21:46:35 +02:00
cmpxchg.h locking/atomic/x86: Introduce arch_sync_try_cmpxchg() 2023-10-09 18:14:25 +02:00
cmpxchg_32.h x86-32: fix cmpxchg8b_emu build error with clang 2024-06-30 09:21:29 -07:00
cmpxchg_64.h locking/atomic/x86: Introduce arch_try_cmpxchg64_local() 2024-04-14 22:40:54 +02:00
coco.h x86/tdx: Preserve shared bit on mprotect() 2024-04-24 08:11:43 -07:00
compat.h
cpu.h x86/cpu/topology: Rework possible CPU management 2024-02-15 22:07:43 +01:00
cpu_device_id.h x86/cpu: Switch to new Intel CPU model defines 2024-05-28 10:59:03 -07:00
cpu_entry_area.h
cpufeature.h - Switch the in-place instruction patching which lead to at least one weird bug 2024-05-14 08:51:37 -07:00
cpufeatures.h Power management updates for 6.11-rc1 2024-07-16 15:54:03 -07:00
cpuid.h x86/cpu: Provide cpuid_read() et al. 2024-02-15 22:07:36 +01:00
cpuidle_haltpoll.h
cpumask.h
crash.h
crash_reserve.h crash: use macro to add crashk_res into iomem early for specific arch 2024-03-26 11:14:12 -07:00
current.h Merge branch 'x86/bugs' into x86/core, to pick up pending changes before dependent patches 2024-02-14 10:49:37 +01:00
debugreg.h x86/msr: Prepare for including <linux/percpu.h> into <asm/msr.h> 2024-03-04 12:01:39 +01:00
delay.h
desc.h Merge branch 'linus' into x86/boot, to resolve conflict 2024-03-12 09:55:57 +01:00
desc_defs.h x86/asm: Always set A (accessed) flag in GDT descriptors 2023-12-20 10:57:51 +01:00
device.h
disabled-features.h x86/cpufeatures: Add new word for scattered features 2024-03-25 11:16:54 +01:00
div64.h
dma-mapping.h
dma.h
dmi.h
doublefault.h
dwarf2.h
edac.h
efi.h x86/efistub: Enable SMBIOS protocol handling for x86 2024-07-08 10:17:44 +02:00
elf.h x86/vdso: Move vDSO to mmap region 2024-02-27 00:23:55 +01:00
elfcore-compat.h
emergency-restart.h
emulate_prefix.h
enclu.h
entry-common.h randomize_kstack: Remove non-functional per-arch entropy filtering 2024-06-28 08:54:56 -07:00
espfix.h
exec.h
extable.h
extable_fixup_types.h x86/extable: Remove unused fixup type EX_TYPE_COPY 2024-04-04 17:01:40 +02:00
fixmap.h
floppy.h
fpu.h x86: implement ARCH_HAS_KERNEL_FPU_SUPPORT 2024-05-19 14:36:19 -07:00
frame.h
fred.h x86/fred: Add FRED initialization functions 2024-01-31 22:03:32 +01:00
fsgsbase.h x86/msr: Prepare for including <linux/percpu.h> into <asm/msr.h> 2024-03-04 12:01:39 +01:00
ftrace.h function_graph: Everyone uses HAVE_FUNCTION_GRAPH_RET_ADDR_PTR, remove it 2024-06-11 11:18:24 -04:00
futex.h
gart.h
genapic.h
geode.h
gsseg.h
hardirq.h x86/irq: Install posted MSI notification handler 2024-04-30 00:54:42 +02:00
highmem.h
hpet.h
hugetlb.h
hw_breakpoint.h
hw_irq.h genirq/matrix: Dynamic bitmap allocation 2024-02-23 10:18:44 +01:00
hyperv-tlfs.h hyperv-tlfs: Change prefix of generic HV_REGISTER_* MSRs to HV_MSR_* 2024-03-04 06:59:18 +00:00
hyperv_timer.h
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/32: Remove unused IA32_STACK_TOP and two externs 2024-04-02 15:01:40 +02:00
ibt.h
idtentry.h x86/irq: Install posted MSI notification handler 2024-04-30 00:54:42 +02:00
imr.h
inat.h x86/insn: Add support for APX EVEX to the instruction decoder logic 2024-05-02 13:13:45 +02:00
inat_types.h
init.h x86/mm: Introduce kernel_ident_mapping_free() 2024-06-17 17:46:22 +02:00
insn-eval.h
insn.h x86/insn: Add support for APX EVEX to the instruction decoder logic 2024-05-02 13:13:45 +02:00
inst.h
intel-family.h x86/cpu/vfm: Update arch/x86/include/asm/intel-family.h 2024-04-22 11:44:00 +02:00
intel-mid.h
intel_ds.h perf/x86/intel: Support the PEBS event mask 2024-07-04 16:00:36 +02:00
intel_pt.h
intel_punit_ipc.h
intel_scu_ipc.h
intel_telemetry.h
invpcid.h
io.h The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
io_apic.h x86/platform/ce4100: Dont override x86_init.mpparse.setup_ioapic_ids 2024-02-15 22:07:39 +01:00
io_bitmap.h
iomap.h
iommu.h iommu/amd: Don't rely on external callers to enable IOMMU SNP support 2024-01-29 17:19:28 +01:00
iosf_mbi.h arch/x86: Fix typos 2024-01-03 11:46:22 +01:00
irq.h x86: replace CONFIG_HAVE_KVM with IS_ENABLED(CONFIG_KVM) 2024-02-08 08:45:35 -05:00
irq_remapping.h iommu/vt-d: Make posted MSI an opt-in command line option 2024-04-30 00:54:43 +02:00
irq_stack.h x86/asm: Use %c/%n instead of %P operand modifier in asm templates 2024-03-19 13:15:35 +01:00
irq_vectors.h x86/irq: Reserve a per CPU IDT vector for posted MSIs 2024-04-30 00:54:42 +02:00
irq_work.h arch: consolidate arch_irq_work_raise prototypes 2023-11-23 11:32:29 +01:00
irqdomain.h
irqflags.h x86/irqflags: Provide native versions of the local_irq_save()/restore() 2024-06-11 07:22:46 +02:00
ist.h
jailhouse_para.h
jump_label.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
kasan.h
kaslr.h
kbdleds.h
kdebug.h
kexec-bzimage64.h
kexec.h crash: add a new kexec flag for hotplug support 2024-04-23 14:59:01 +10:00
kfence.h
kgdb.h
kmsan.h mm, kmsan: fix infinite recursion due to RCU critical section 2024-01-25 23:52:21 -08:00
kprobes.h kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
kvm-x86-ops.h KVM: x86: Replace static_call_cond() with static_call() 2024-07-16 12:14:11 -04:00
kvm-x86-pmu-ops.h KVM: x86: Replace static_call_cond() with static_call() 2024-07-16 12:14:11 -04:00
kvm_host.h KVM: x86: Disallow read-only memslots for SEV-ES and SEV-SNP (and TDX) 2024-08-14 12:28:24 -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 kvmclock: Unexport kvmclock clocksource 2024-02-07 17:05:21 +01:00
linkage.h x86/bugs: Rename CONFIG_RETHUNK => CONFIG_MITIGATION_RETHUNK 2024-01-10 10:52:29 +01:00
local.h locking/x86: Implement local_xchg() using CMPXCHG without the LOCK prefix 2024-03-01 12:54:25 +01:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h x86/mce: Remove unused variable and return value in machine_check_poll() 2024-05-27 10:49:25 +02:00
mem_encrypt.h x86/sme: Move early SME kernel encryption handling into .head.text 2024-03-04 18:12:33 +01:00
memtype.h
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: delete unused cpu argument to leave_mm() 2024-02-22 10:24:41 -08: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 printk: Change type of CONFIG_BASE_SMALL to bool 2024-05-06 17:39:09 +02:00
mpspec_def.h
mshyperv.h hyperv-tlfs: Change prefix of generic HV_REGISTER_* MSRs to HV_MSR_* 2024-03-04 06:59:18 +00:00
msi.h
msr-index.h Performance events changes for v6.11: 2024-07-16 17:13:31 -07:00
msr-trace.h
msr.h Misc cleanups, including a large series from Thomas Gleixner to 2024-03-11 19:37:56 -07:00
mtrr.h
mwait.h x86: Fix CPUIDLE_FLAG_IRQ_ENABLE leaking timer reprogram 2023-11-29 15:44:01 +01:00
nmi.h x86/nmi: Drop unused declaration of proc_nmi_enabled() 2024-03-06 10:13:33 +01:00
nops.h
nospec-branch.h x86/bhi: Mitigate KVM by default 2024-04-08 19:27:06 +02: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
orc_lookup.h
orc_types.h
page.h x86/mm: Ensure input to pfn_to_kaddr() is treated as a 64-bit type 2023-11-23 11:13:21 +01:00
page_32.h
page_32_types.h
page_64.h x86/kaslr: Expose and use the end of the physical memory address space 2024-08-20 13:44:57 +02:00
page_64_types.h
page_types.h x86/build changes for v6.10: 2024-05-13 18:05:08 -07:00
paravirt.h header cleanups for 6.8 2024-01-10 16:43:55 -08:00
paravirt_api_clock.h
paravirt_types.h header cleanups for 6.8 2024-01-10 16:43:55 -08:00
parport.h
pc-conf-reg.h
pci-direct.h
pci-functions.h
pci.h x86/setup: Move internal setup_data structures into setup_data.h 2024-01-30 15:17:12 +01:00
pci_x86.h
percpu.h x86/percpu: Clean up <asm/percpu.h> vertical alignment details 2024-05-20 10:56:25 +02:00
perf_event.h perf/x86/intel: Support PERFEVTSEL extension 2024-07-04 16:00:40 +02:00
perf_event_p4.h x86/cpu/topology: Rename smp_num_siblings 2024-02-15 22:07:45 +01:00
pgalloc.h x86/bugs: Rename CONFIG_PAGE_TABLE_ISOLATION => CONFIG_MITIGATION_PAGE_TABLE_ISOLATION 2024-01-10 10:52:28 +01:00
pgtable-2level.h
pgtable-2level_types.h
pgtable-3level.h x86/bugs: Rename CONFIG_PAGE_TABLE_ISOLATION => CONFIG_MITIGATION_PAGE_TABLE_ISOLATION 2024-01-10 10:52:28 +01:00
pgtable-3level_types.h
pgtable-invert.h
pgtable.h x86/tdx: Convert shared memory back to private on kexec 2024-06-17 17:46:05 +02:00
pgtable_32.h
pgtable_32_areas.h
pgtable_32_types.h
pgtable_64.h x86/mm: implement HAVE_ARCH_UNMAPPED_AREA_VMFLAGS 2024-04-25 20:56:28 -07:00
pgtable_64_types.h x86/kaslr: Expose and use the end of the physical memory address space 2024-08-20 13:44:57 +02:00
pgtable_areas.h
pgtable_types.h x86/mm: Return correct level from lookup_address() if pte is none 2024-06-17 17:45:57 +02:00
pkeys.h
pkru.h
platform_sst_audio.h
pm-trace.h
posix_types.h
posted_intr.h x86/irq: Extend checks for pending vectors to posted interrupts 2024-04-30 00:54:43 +02:00
preempt.h Linux 6.8-rc4 2024-02-14 10:45:07 +01:00
probe_roms.h
processor-cyrix.h
processor-flags.h x86/bugs: Rename CONFIG_PAGE_TABLE_ISOLATION => CONFIG_MITIGATION_PAGE_TABLE_ISOLATION 2024-01-10 10:52:28 +01:00
processor.h x86/CPU/AMD: Always inline amd_clear_divider() 2024-06-13 14:40:29 +02:00
prom.h x86/of: Change x86_dtb_parse_smp_config() to static 2024-04-03 08:49:56 +02:00
proto.h x86/entry: Convert INT 0x80 emulation to IDTENTRY 2023-12-07 09:51:29 -08:00
pti.h x86/bugs: Rename CONFIG_PAGE_TABLE_ISOLATION => CONFIG_MITIGATION_PAGE_TABLE_ISOLATION 2024-01-10 10:52:28 +01:00
ptrace.h x86/ptrace: Add FRED additional information to the pt_regs structure 2024-01-31 22:01:20 +01:00
purgatory.h
pvclock-abi.h
pvclock.h
qrwlock.h
qspinlock.h x86/paravirt: Fix incorrect virt spinlock setting on bare metal 2024-08-07 20:04:38 +02:00
qspinlock_paravirt.h locking/pvqspinlock/x86: Use _Q_LOCKED_VAL in PV_UNLOCK_ASM macro 2024-04-24 11:48:08 +02:00
realmode.h
reboot.h
reboot_fixups.h
required-features.h x86/cpufeatures: Add new word for scattered features 2024-03-25 11:16:54 +01:00
resctrl.h x86/resctrl: Fix arch_mbm_* array overrun on SNC 2024-08-28 11:13:08 +02:00
rmwcc.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
runtime-const.h runtime constants: add x86 architecture support 2024-06-19 12:34:34 -07:00
seccomp.h x86/syscall/compat: Remove ia32_unistd.h 2024-03-22 09:37:09 +01:00
sections.h
segment.h
serial.h
set_memory.h x86/tdx: Convert shared memory back to private on kexec 2024-06-17 17:46:05 +02:00
setup.h x86/setup: Warn when option parsing is done too early 2024-05-27 18:54:45 +02:00
setup_arch.h
setup_data.h x86/setup: Move internal setup_data structures into setup_data.h 2024-01-30 15:17:12 +01:00
sev-common.h ARM: 2024-07-20 12:41:03 -07:00
sev.h ARM: 2024-07-20 12:41:03 -07:00
sgx.h
shmparam.h
shstk.h uprobe: Add uretprobe syscall to speed up return probe 2024-06-12 08:44:28 +09:00
sigcontext.h
sigframe.h
sighandling.h
signal.h
simd.h
smap.h
smp.h x86/smp: Add smp_ops.stop_this_cpu() callback 2024-06-17 17:46:20 +02:00
softirq_stack.h
sparsemem.h x86/numa: Fix SRAT lookup of CFMWS ranges with numa_fill_memblks() 2024-05-07 13:47:15 +02:00
spec-ctrl.h x86/cpu: Provide a declaration for itlb_multihit_kvm_mitigation 2024-03-04 12:09:13 +01:00
special_insns.h x86/asm: Use "m" operand constraint in WRUSSQ asm template 2024-03-20 12:04:38 +01:00
spinlock.h
spinlock_types.h
sta2x11.h
stackprotector.h
stacktrace.h
static_call.h x86/bugs: Rename CONFIG_RETHUNK => CONFIG_MITIGATION_RETHUNK 2024-01-10 10:52:29 +01:00
string.h
string_32.h
string_64.h x86/asm/64: Clean up memset16(), memset32(), memset64() assembly constraints in <asm/string_64.h> 2024-03-22 11:47:34 +01:00
suspend.h
suspend_32.h x86/pm: Work around false positive kmemleak report in msr_build_context() 2024-03-22 11:01:31 +01:00
suspend_64.h
svm.h KVM: SEV: Support SEV-SNP AP Creation NAE event 2024-05-12 04:09:32 -04:00
switch_to.h x86/fred: Update MSR_IA32_FRED_RSP0 during task switch 2024-01-31 22:01:36 +01:00
sync_bitops.h
sync_core.h
syscall.h x86/bhi: Add support for clearing branch history at syscall entry 2024-04-08 19:27:05 +02:00
syscall_wrapper.h x86/entry/ia32: Ensure s32 is sign extended to s64 2024-01-24 11:49:19 +01:00
syscalls.h
tdx.h x86/mce: Differentiate real hardware #MCs from TDX erratum ones 2023-12-12 08:46:46 -08:00
text-patching.h x86/alternatives: Use a temporary buffer when optimizing NOPs 2024-04-09 18:08:11 +02:00
thermal.h
thread_info.h x86/fred: Reserve space for the FRED stack frame 2024-01-31 22:01:31 +01:00
time.h
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 - Add a FRU (Field Replaceable Unit) memory poison manager which 2024-03-11 18:14:06 -07:00
trace_clock.h
trap_pf.h x86/traps: Define RMP violation #PF error code 2024-01-29 17:26:56 +01:00
trapnr.h x86/trapnr: Add event type macros to <asm/trapnr.h> 2024-01-25 19:10:29 +01:00
traps.h arch: include linux/cpu.h for trap_init() prototype 2023-11-23 11:32:31 +01:00
tsc.h x86/tsc: Remove obsolete ART to TSC conversion functions 2024-06-03 11:18:51 +02:00
uaccess.h x86/uaccess: Fix missed zeroing of ia32 u64 get_user() range checking 2024-06-11 16:08:43 -07:00
uaccess_32.h
uaccess_64.h Core x86 changes for v6.9: 2024-03-11 19:53:15 -07:00
umip.h
unaccepted_memory.h
unistd.h clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
unwind.h
unwind_hints.h
uprobes.h
user.h
user32.h
user_32.h
user_64.h
vdso.h
vermagic.h
vga.h
vgtod.h x86/vgtod: Remove unused typedef gtod_long_t 2024-07-03 21:27:04 +02:00
video.h arch: Rename fbdev header and source files 2024-05-03 17:07:50 +02:00
vm86.h x86/vm86: Make sure the free_vm86(task) definition uses its parameter even in the !CONFIG_VM86 case 2024-03-29 14:24:50 +01:00
vmalloc.h
vmware.h x86/vmware: Add TDX hypercall support 2024-06-25 17:15:48 +02:00
vmx.h KVM, x86: add architectural support code for #VE 2024-04-19 12:15:20 -04:00
vmxfeatures.h - Flip the logic to add feature names to /proc/cpuinfo to having to 2024-07-15 20:25:16 -07:00
vsyscall.h x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h 2024-02-15 19:21:39 -08:00
vvar.h x86: vdso: Wire up getrandom() vDSO implementation 2024-07-19 20:22:12 +02:00
word-at-a-time.h x86-64: word-at-a-time: improve byte count calculations 2024-06-19 12:35:18 -07:00
x86_init.h x86/mm: Add callbacks to prepare encrypted memory for kexec 2024-06-17 17:46:02 +02:00
xor.h
xor_32.h
xor_64.h
xor_avx.h