linux/arch/x86/include/asm
Harry Yoo 6659d02799 x86/mm/64: define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings()
Define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() to ensure
page tables are properly synchronized when calling p*d_populate_kernel().

For 5-level paging, synchronization is performed via
pgd_populate_kernel().  In 4-level paging, pgd_populate() is a no-op, so
synchronization is instead performed at the P4D level via
p4d_populate_kernel().

This fixes intermittent boot failures on systems using 4-level paging and
a large amount of persistent memory:

  BUG: unable to handle page fault for address: ffffe70000000034
  #PF: supervisor write access in kernel mode
  #PF: error_code(0x0002) - not-present page
  PGD 0 P4D 0
  Oops: 0002 [#1] SMP NOPTI
  RIP: 0010:__init_single_page+0x9/0x6d
  Call Trace:
   <TASK>
   __init_zone_device_page+0x17/0x5d
   memmap_init_zone_device+0x154/0x1bb
   pagemap_range+0x2e0/0x40f
   memremap_pages+0x10b/0x2f0
   devm_memremap_pages+0x1e/0x60
   dev_dax_probe+0xce/0x2ec [device_dax]
   dax_bus_probe+0x6d/0xc9
   [... snip ...]
   </TASK>

It also fixes a crash in vmemmap_set_pmd() caused by accessing vmemmap
before sync_global_pgds() [1]:

  BUG: unable to handle page fault for address: ffffeb3ff1200000
  #PF: supervisor write access in kernel mode
  #PF: error_code(0x0002) - not-present page
  PGD 0 P4D 0
  Oops: Oops: 0002 [#1] PREEMPT SMP NOPTI
  Tainted: [W]=WARN
  RIP: 0010:vmemmap_set_pmd+0xff/0x230
   <TASK>
   vmemmap_populate_hugepages+0x176/0x180
   vmemmap_populate+0x34/0x80
   __populate_section_memmap+0x41/0x90
   sparse_add_section+0x121/0x3e0
   __add_pages+0xba/0x150
   add_pages+0x1d/0x70
   memremap_pages+0x3dc/0x810
   devm_memremap_pages+0x1c/0x60
   xe_devm_add+0x8b/0x100 [xe]
   xe_tile_init_noalloc+0x6a/0x70 [xe]
   xe_device_probe+0x48c/0x740 [xe]
   [... snip ...]

Link: https://lkml.kernel.org/r/20250818020206.4517-4-harry.yoo@oracle.com
Fixes: 8d400913c2 ("x86/vmemmap: handle unpopulated sub-pmd ranges")
Signed-off-by: Harry Yoo <harry.yoo@oracle.com>
Closes: https://lore.kernel.org/linux-mm/20250311114420.240341-1-gwan-gyeong.mun@intel.com [1]
Suggested-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Kiryl Shutsemau <kas@kernel.org>
Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: bibo mao <maobibo@loongson.cn>
Cc: Borislav Betkov <bp@alien8.de>
Cc: Christoph Lameter (Ampere) <cl@gentwo.org>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Dev Jain <dev.jain@arm.com>
Cc: Dmitriy Vyukov <dvyukov@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jane Chu <jane.chu@oracle.com>
Cc: Joao Martins <joao.m.martins@oracle.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Peter Xu <peterx@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Thomas Gleinxer <tglx@linutronix.de>
Cc: Thomas Huth <thuth@redhat.com>
Cc: "Uladzislau Rezki (Sony)" <urezki@gmail.com>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-08-27 22:45:44 -07:00
..
amd Move FCH header to a location accessible by all archs 2025-06-30 13:42:11 +03:00
cpuid x86/cpuid: Rename hypervisor_cpuid_base()/for_each_possible_hypervisor_cpuid_base() to cpuid_base_hypervisor()/for_each_possible_cpuid_base_hypervisor() 2025-05-16 10:54:47 +02:00
e820 x86/e820: Drop obsolete E820_TYPE_RESERVED_KERN and related code 2025-02-21 16:05:00 +01:00
fpu x86/fpu/xstate: Add CET supervisor xfeature support as a guest-only feature 2025-06-24 13:46:33 -07:00
numachip
shared KVM: TDX: Exit to userspace for SetupEventNotifyInterrupt 2025-06-20 14:09:50 -04:00
trace x86/fpu: Remove unused trace events 2025-05-31 09:40:40 +02:00
uv
vdso x86/asm: Rename rep_nop() to native_pause() 2025-04-18 10:19:26 +02:00
xen compiler: remove __ADDRESSABLE_ASM{_STR,}() again 2025-08-18 14:48:16 +02:00
GEN-for-each-reg.h
Kbuild x86/cpufeatures: Generate the <asm/cpufeaturemasks.h> header based on build config 2025-03-19 11:15:11 +01:00
acenv.h
acpi.h x86: Handle KCOV __init vs inline mismatches 2025-07-24 16:55:11 -07:00
acrn.h x86/cpuid: Rename hypervisor_cpuid_base()/for_each_possible_hypervisor_cpuid_base() to cpuid_base_hypervisor()/for_each_possible_cpuid_base_hypervisor() 2025-05-16 10:54:47 +02:00
agp.h
alternative.h Merge commit 'its-for-linus-20250509-merge' into x86/core, to resolve conflicts 2025-05-13 10:47:10 +02:00
apic.h x86/apic: Rename 'reg_off' to 'reg' 2025-07-10 09:44:44 -07:00
apicdef.h
apm.h
arch_hweight.h objtool, x86/hweight: Remove ANNOTATE_IGNORE_ALTERNATIVE 2025-04-13 09:52:42 +02:00
archrandom.h
asm-offsets.h
asm-prototypes.h x86/asm: Make asm export of __ref_stack_chk_guard unconditional 2025-03-21 08:34:28 +01:00
asm.h Merge branch 'x86/msr' into x86/core, to resolve conflicts 2025-05-13 10:42:06 +02:00
atomic.h x86/locking/atomic: Improve performance by using asm_inline() for atomic locking instructions 2025-03-19 11:26:58 +01:00
atomic64_32.h x86/alternatives: Simplify alternative_call() interface 2025-03-04 11:21:40 +01:00
atomic64_64.h x86/locking/atomic: Improve performance by using asm_inline() for atomic locking instructions 2025-03-19 11:26:58 +01:00
audit.h
barrier.h x86/locking: Remove semicolon from "lock" prefix 2025-02-28 10:18:26 +01:00
bios_ebda.h
bitops.h x86/bitops: Simplify variable_ffz() as variable__ffs(~word) 2025-03-28 23:24:16 +01:00
boot.h x86/boot/compressed: Merge the local pgtable.h include into <asm/boot.h> 2025-04-06 20:15:14 +02:00
bootparam_utils.h
bug.h x86/bug: Add ARCH_WARN_ASM macro for BUG/WARN asm code sharing with Rust 2025-07-22 23:58:55 +02:00
bugs.h
cache.h
cacheflush.h
cacheinfo.h
ce4100.h serial: 8250: Move CE4100 quirks to a module under 8250 driver 2025-06-29 14:24:46 +02:00
cfi.h cfi: Move BPF CFI types and helpers to generic code 2025-07-31 18:23:53 -07:00
checksum.h
checksum_32.h
checksum_64.h
clocksource.h
cmdline.h
cmpxchg.h [ Merge note: this pull request depends on you having merged 2025-03-24 22:06:11 -07:00
cmpxchg_32.h [ Merge note: this pull request depends on you having merged 2025-03-24 22:06:11 -07:00
cmpxchg_64.h x86/locking/atomic: Improve performance by using asm_inline() for atomic locking instructions 2025-03-19 11:26:58 +01:00
coco.h x86/boot: Drop RIP_REL_REF() uses from SME startup code 2025-04-12 11:13:05 +02:00
compat.h
cpu.h Merge branch 'x86/asm' into x86/core, to pick up dependent commits 2025-03-04 20:29:35 +01:00
cpu_device_id.h x86/cpu: Add cpu_type to struct x86_cpu_id 2025-03-19 11:17:03 +01:00
cpu_entry_area.h
cpufeature.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
cpufeatures.h x86/sev: Evict cache lines during SNP memory validation 2025-08-06 19:17:22 +02:00
cpuidle_haltpoll.h
cpumask.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
crash.h
crash_reserve.h
current.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
debugreg.h x86/traps: Initialize DR7 by writing its architectural reset value 2025-06-24 13:15:52 -07:00
delay.h
desc.h x86/percpu/64: Remove INIT_PER_CPU macros 2025-02-18 10:15:50 +01:00
desc_defs.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
device.h
div64.h
dma-mapping.h
dma.h
dmi.h
doublefault.h
dwarf2.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
edac.h x86/locking: Remove semicolon from "lock" prefix 2025-02-28 10:18:26 +01:00
efi.h efi/libstub: Simplify GOP handling code 2025-01-14 08:35:08 +01:00
elf.h x86/vdso: Remove #ifdeffery around page setup variants 2025-04-22 14:24:07 +02:00
elfcore-compat.h
emergency-restart.h
emulate_prefix.h
enclu.h
entry-common.h x86/fpu: Shift fpregs_assert_state_consistent() from arch_exit_work() to its caller 2025-05-04 10:29:25 +02:00
espfix.h
exec.h
extable.h
extable_fixup_types.h
fixmap.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
floppy.h
fpu.h
frame.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
fred.h x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
fsgsbase.h x86/msr: Rename 'wrmsrl()' to 'wrmsrq()' 2025-04-10 11:58:33 +02:00
ftrace.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
futex.h futex: improve user space accesses 2024-11-25 12:11:55 -08:00
gart.h
genapic.h
geode.h
gsseg.h
hardirq.h x86/softirq: Move softirq_pending to percpu hot section 2025-03-04 20:30:33 +01:00
highmem.h arch, mm: streamline HIGHMEM freeing 2025-03-17 22:06:53 -07:00
hpet.h rtc: Remove hpet_rtc_dropped_irq() 2025-01-13 23:07:18 +01:00
hugetlb.h
hw_breakpoint.h
hw_irq.h x86/irq: Plug vector setup race 2025-08-04 23:34:03 +02:00
hyperv_timer.h
hypervisor.h
i8259.h
ia32.h
ibt.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
idtentry.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
imr.h
inat.h x86/insn: Stop decoding i64 instructions in x86-64 mode at opcode 2025-05-06 12:03:16 +02:00
inat_types.h
init.h compiler_types: Provide __no_kstack_erase to disable coverage only on Clang 2025-07-29 17:19:35 -07:00
insn-eval.h
insn.h
inst.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
intel-family.h x86/cpu: Add new Intel CPU model numbers for Wildcatlake and Novalake 2025-08-01 18:22:34 +02:00
intel-mid.h
intel_ds.h
intel_pt.h
intel_punit_ipc.h platform/x86: intel: punit_ipc: Remove unused function 2025-01-15 16:26:30 +02:00
intel_telemetry.h platform/x86: intel_telemetry: Remove unused telemetry_raw_read_events() 2025-06-11 10:56:06 +03:00
invpcid.h
io.h x86/asm: Remove semicolon from "rep" prefixes 2025-04-18 09:33:33 +02:00
io_apic.h
io_bitmap.h
iomap.h
iommu.h
iosf_mbi.h x86/platform/iosf_mbi: Remove unused iosf_mbi_unregister_pmic_bus_access_notifier() 2025-04-01 20:31:39 +02:00
irq.h
irq_remapping.h iommu/amd: KVM: SVM: Allow KVM to control need for GA log interrupts 2025-06-23 09:50:51 -07:00
irq_stack.h x86/irq: Move irq stacks to percpu hot section 2025-03-04 20:30:33 +01:00
irq_vectors.h
irq_work.h
irqdomain.h
irqflags.h x86/bugs: Rename MDS machinery to something more generic 2025-06-16 18:45:18 +02:00
ist.h
jailhouse_para.h
jump_label.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
kasan.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
kaslr.h
kbdleds.h
kdebug.h
kexec-bzimage64.h
kexec.h x86/kexec: Add 8250 MMIO serial port output 2025-04-10 12:17:14 +02:00
kfence.h
kgdb.h
kmsan.h
kprobes.h
kvm-x86-ops.h Merge tag 'kvm-x86-misc-6.17' of https://github.com/kvm-x86/linux into HEAD 2025-07-29 08:36:43 -04:00
kvm-x86-pmu-ops.h
kvm_host.h Merge tag 'kvm-x86-mmu-6.17' of https://github.com/kvm-x86/linux into HEAD 2025-07-29 08:36:43 -04:00
kvm_page_track.h
kvm_para.h
kvm_types.h
kvm_vcpu_regs.h
kvmclock.h
linkage.h x86/linkage: Add SYM_PIC_ALIAS() macro helper to emit symbol aliases 2025-05-04 15:59:43 +02:00
local.h
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h x86/mce/inject: Remove call to mce_notify_irq() 2025-02-26 12:18:37 +01:00
mem_encrypt.h x86/boot: Drop RIP_REL_REF() uses from SME startup code 2025-04-12 11:13:05 +02:00
memtype.h
microcode.h Merge branch 'x86/msr' into x86/core, to resolve conflicts 2025-05-13 10:42:06 +02:00
misc.h
mman.h
mmconfig.h
mmu.h x86/mm: Fix false positive warning in switch_mm_irqs_off() 2025-05-06 11:28:57 +02:00
mmu_context.h x86/mm: Fix false positive warning in switch_mm_irqs_off() 2025-05-06 11:28:57 +02:00
module.h x86/its: move its_pages array to struct mod_arch_specific 2025-06-11 11:20:51 +02:00
mpspec.h
mpspec_def.h
mshyperv.h x86/hyperv: Expose hv_map_msi_interrupt() 2025-07-15 06:24:16 +00:00
msi.h
msr-index.h ARM: 2025-07-30 17:14:01 -07:00
msr-trace.h
msr.h Generic: 2025-06-02 12:24:58 -07:00
mtrr.h x86/mtrr: Rename mtrr_overwrite_state() to guest_force_mtrr_state() 2024-12-06 20:06:52 +01:00
mwait.h x86/process: Move the buffer clearing before MONITOR 2025-06-17 17:17:12 +02:00
nmi.h x86/nmi: Improve <asm/nmi.h> documentation 2025-04-01 22:26:21 +02:00
nops.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
nospec-branch.h x86/bugs: Add a Transient Scheduler Attacks mitigation 2025-06-17 17:17:02 +02:00
numa.h arch, mm: streamline HIGHMEM freeing 2025-03-17 22:06:53 -07:00
olpc.h
olpc_ofw.h
orc_header.h
orc_lookup.h
orc_types.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
page.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
page_32.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
page_32_types.h x86/mm: Consolidate initmem_init() 2025-04-09 22:02:30 +02:00
page_64.h x86/mm/64: Make 5-level paging support unconditional 2025-05-17 10:38:16 +02:00
page_64_types.h x86/mm/64: Make 5-level paging support unconditional 2025-05-17 10:38:16 +02:00
page_types.h x86/boot: Use __ALIGN_KERNEL_MASK() instead of open coded analogue 2025-04-06 20:06:36 +02:00
paravirt.h x86/paravirt: Restrict PARAVIRT_XXL to 64-bit only 2025-05-17 10:38:29 +02:00
paravirt_api_clock.h
paravirt_types.h x86/paravirt: Restrict PARAVIRT_XXL to 64-bit only 2025-05-17 10:38:29 +02:00
parport.h
pc-conf-reg.h
pci-direct.h
pci-functions.h
pci.h
pci_x86.h
percpu.h x86/percpu: Refer __percpu_prefix to __force_percpu_prefix 2025-04-13 09:48:24 +02:00
perf_event.h perf/x86/intel: Add CPUID enumeration for the auto counter reload 2025-04-08 20:55:49 +02:00
perf_event_p4.h
pgalloc.h x86/mm: Fix _pgd_alloc() for Xen PV mode 2025-04-23 07:49:14 -07:00
pgtable-2level.h
pgtable-2level_types.h x86/mm: Remove now unused SHARED_KERNEL_PMD 2025-04-17 10:39:25 -07:00
pgtable-3level.h
pgtable-3level_types.h x86/mm: Remove now unused SHARED_KERNEL_PMD 2025-04-17 10:39:25 -07:00
pgtable-invert.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
pgtable.h mm: remove devmap related functions and page table bits 2025-07-09 22:42:18 -07:00
pgtable_32.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
pgtable_32_areas.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
pgtable_32_types.h
pgtable_64.h x86/mm/64: Make 5-level paging support unconditional 2025-05-17 10:38:16 +02:00
pgtable_64_types.h x86/mm/64: define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() 2025-08-27 22:45:44 -07:00
pgtable_areas.h
pgtable_types.h Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
pkeys.h
pkru.h
platform_sst_audio.h
pm-trace.h
posix_types.h
posted_intr.h x86/irq: KVM: Add helper for harvesting PIR to deduplicate KVM and posted MSIs 2025-04-24 11:19:41 -07:00
preempt.h x86/preempt: Move preempt count to percpu hot section 2025-03-04 20:30:33 +01:00
probe_roms.h
processor-cyrix.h
processor-flags.h
processor.h x86/cpuid: Set <asm/cpuid/api.h> as the main CPUID header 2025-05-15 18:23:55 +02:00
prom.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
proto.h x86/arch_prctl: Simplify sys_arch_prctl() 2025-02-21 22:32:25 +01:00
pti.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
ptrace.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
purgatory.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
pvclock-abi.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
pvclock.h
qrwlock.h
qspinlock.h
qspinlock_paravirt.h
realmode.h x86: Handle KCOV __init vs inline mismatches 2025-07-24 16:55:11 -07:00
reboot.h
reboot_fixups.h
resctrl.h Carve out the resctrl filesystem-related code into fs/resctrl/ so that 2025-05-27 09:53:02 -07:00
rmwcc.h x86/locking/atomic: Improve performance by using asm_inline() for atomic locking instructions 2025-03-19 11:26:58 +01:00
rqspinlock.h rqspinlock: Add basic support for CONFIG_PARAVIRT 2025-03-19 08:03:05 -07:00
runtime-const.h x86/runtime-const: Add the RUNTIME_CONST_PTR assembly macro 2025-03-19 11:26:24 +01:00
seccomp.h
sections.h x86/kexec: Move relocate_kernel to kernel .data section 2024-12-06 10:41:59 +01:00
segment.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
serial.h
set_memory.h Revert "x86/mm: Remove unused __set_memory_prot()" 2025-05-21 10:48:21 -07:00
setup.h - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
setup_arch.h
setup_data.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
sev-common.h x86/sev: Fix operator precedence in GHCB_MSR_VMPL_REQ_LEVEL macro 2025-05-11 11:38:03 +02:00
sev-internal.h Merge branch 'x86/msr' into x86/core, to resolve conflicts 2025-05-13 10:42:06 +02:00
sev.h x86/sev: Evict cache lines during SNP memory validation 2025-08-06 19:17:22 +02:00
sgx.h
shmparam.h
shstk.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
sigcontext.h
sigframe.h
sighandling.h x86/fred/signal: Prevent immediate repeat of single step trap on return from SIGTRAP handler 2025-06-09 08:50:58 -07:00
signal.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
simd.h x86: Make simd.h more resilient 2025-04-16 15:36:23 +08:00
smap.h objtool: Remove ANNOTATE_IGNORE_ALTERNATIVE from CLAC/STAC 2025-04-08 22:03:51 +02:00
smp.h x86/lib: Add WBINVD and WBNOINVD helpers to target multiple CPUs 2025-07-10 13:30:17 +02:00
softirq_stack.h
sparsemem.h
spec-ctrl.h x86/msr: Rename 'native_wrmsrl()' to 'native_wrmsrq()' 2025-04-10 11:59:28 +02:00
special_insns.h x86/lib: Add WBNOINVD helper functions 2025-07-10 13:23:10 +02:00
spinlock.h
spinlock_types.h
stackprotector.h x86/stackprotector: Move __stack_chk_guard to percpu hot section 2025-03-04 20:30:33 +01:00
stacktrace.h
static_call.h x86/static-call: provide a way to do very early static-call updates 2024-12-13 09:28:32 +01:00
string.h
string_32.h x86/asm: Remove semicolon from "rep" prefixes 2025-04-18 09:33:33 +02:00
string_64.h x86/cfi: Clean up linkage 2025-02-14 10:32:05 +01:00
suspend.h
suspend_32.h x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
suspend_64.h x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
svm.h KVM: SVM: Generate GA log IRQs only if the associated vCPUs is blocking 2025-06-23 09:50:52 -07:00
switch_to.h x86/msr: Replace wrmsr(msr, low, 0) with wrmsrq(msr, low) 2025-05-02 10:36:36 +02:00
sync_bitops.h x86/locking: Remove semicolon from "lock" prefix 2025-02-28 10:18:26 +01:00
sync_core.h x86/static-call: provide a way to do very early static-call updates 2024-12-13 09:28:32 +01:00
syscall.h syscall.h: introduce syscall_set_nr() 2025-05-11 17:48:15 -07:00
syscall_wrapper.h
syscalls.h
tdx.h x86/virt/tdx: Avoid indirect calls to TDX assembly functions 2025-06-10 12:32:52 -07:00
tdx_global_metadata.h KVM: VMX: Initialize TDX during KVM module load 2025-03-14 14:20:50 -04:00
text-patching.h x86/alternatives: Rename 'apply_relocation()' to 'text_poke_apply_relocation()' 2025-04-11 11:01:35 +02:00
thermal.h
thread_info.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
time.h
timer.h
timex.h
tlb.h x86/mm: Always set the ASID valid bit for the INVLPGB instruction 2025-03-19 11:12:29 +01:00
tlbbatch.h x86/mm: Only do broadcast flush from reclaim if pages were unmapped 2025-03-19 21:56:42 +01:00
tlbflush.h mm: remove arch_flush_tlb_batched_pending() arch helper 2025-07-24 19:12:32 -07:00
topology.h cpu/SMT: Provide a default topology_is_primary_thread() 2025-03-14 17:31:02 +00:00
trace_clock.h
trap_pf.h
trapnr.h
traps.h x86: Move sysctls into arch/x86 2025-02-18 11:08:36 +01:00
tsc.h x86/msr: Move rdtsc{,_ordered}() to <asm/tsc.h> 2025-05-02 10:24:39 +02:00
uaccess.h
uaccess_32.h
uaccess_64.h x86/uaccess: Use asm_inline() instead of asm() in __untagged_addr() 2025-04-13 21:12:04 +02:00
umip.h
unaccepted_memory.h
unistd.h
unwind.h
unwind_hints.h x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-UAPI headers 2025-03-19 11:47:30 +01:00
uprobes.h
user.h
user32.h
user_32.h
user_64.h
vdso.h x86/vdso: Remove #ifdeffery around page setup variants 2025-04-22 14:24:07 +02:00
vermagic.h x86/cpu: Drop configuration options for early 64-bit CPUs 2025-02-27 11:19:06 +01:00
vga.h
vgtod.h
video.h
vm86.h
vmalloc.h
vmware.h
vmx.h Merge branch 'kvm-tdx-initial' into HEAD 2025-04-07 07:36:33 -04:00
vmxfeatures.h
vsyscall.h
word-at-a-time.h
x86_init.h x86/nmi: Add missing description x86_platform_ops::get_nmi_reason to <asm/x86_init.h> 2025-04-01 22:26:27 +02:00
xor.h
xor_32.h
xor_64.h
xor_avx.h