linux/arch/x86/include/asm
Nicholas Piggin 6f680e70b6 mm/vmalloc: provide fallback arch huge vmap support functions
If an architecture doesn't support a particular page table level as a huge
vmap page size then allow it to skip defining the support query function.

Link: https://lkml.kernel.org/r/20210317062402.533919-11-npiggin@gmail.com
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Suggested-by: Christoph Hellwig <hch@lst.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Ding Tianhong <dingtianhong@huawei.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Miaohe Lin <linmiaohe@huawei.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Uladzislau Rezki (Sony) <urezki@gmail.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-04-30 11:20:40 -07:00
..
e820
fpu x86/fpu/64: Don't FNINIT in kernel_fpu_begin() 2021-01-29 12:27:47 +01:00
numachip
trace x86/mm/tlb: Flush remote and local TLBs concurrently 2021-03-06 12:59:10 +01:00
uv x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
vdso vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter() 2020-08-06 10:57:30 +02:00
xen Revert "xen: fix p2m size in dom0 for disabled memory hotplug case" 2021-03-24 18:33:36 -05:00
acenv.h
acpi.h x86/mce, cper: Pass x86 CPER through the MCA handling chain 2020-11-21 12:05:41 +01:00
acrn.h x86/acrn: Introduce hypercall interfaces 2021-02-09 10:58:18 +01:00
agp.h x86: Fix various typos in comments, take #2 2021-03-21 23:50:28 +01:00
alternative.h x86/alternatives: Optimize optimize_nops() 2021-04-02 12:41:17 +02:00
amd_nb.h
apic.h x86/apic: Add extra serialization for non-serializing MSRs 2021-02-04 19:36:31 +01:00
apicdef.h x86/apic: Cleanup delivery mode defines 2020-10-28 20:26:24 +01:00
apm.h
arch_hweight.h
archrandom.h
asm-offsets.h
asm-prototypes.h objtool/x86: Rewrite retpoline thunk calls 2021-04-02 12:47:28 +02:00
asm.h Orphan link sections were a long-standing source of obscure bugs, 2020-10-12 13:39:19 -07:00
atomic.h asm-generic/atomic: Add try_cmpxchg() fallbacks 2020-10-12 18:27:27 +02:00
atomic64_32.h locking/atomics: Flip fallbacks and instrumentation 2020-06-11 08:03:24 +02:00
atomic64_64.h asm-generic/atomic: Add try_cmpxchg() fallbacks 2020-10-12 18:27:27 +02:00
audit.h
barrier.h x86/apic: Add extra serialization for non-serializing MSRs 2021-02-04 19:36:31 +01: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
bug.h compiler.h: Move instrumentation_begin()/end() to new <linux/instrumentation.h> header 2020-07-24 13:56:23 +02:00
bugs.h
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/CPU/AMD: Save AMD NodeId as cpu_die_id 2020-11-19 11:43:13 +01:00
ce4100.h
checksum.h unify generic instances of csum_partial_copy_nocheck() 2020-08-20 15:45:14 -04: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 amd64: switch csum_partial_copy_generic() to new calling conventions 2020-08-20 15:45:22 -04:00
clocksource.h
cmdline.h
cmpxchg.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
cmpxchg_32.h x86: cmpxchg_32.h: Delete duplicated word 2020-07-26 12:47:22 +02:00
cmpxchg_64.h
compat.h [amd64] clean PRSTATUS_SIZE/SET_PR_FPVALID up properly 2021-01-06 08:40:56 -05:00
cpu.h Perf events changes in this cycle were: 2021-04-28 13:03:44 -07:00
cpu_device_id.h
cpu_entry_area.h x86/sev-es: Allocate and map an IST stack for #VC handler 2020-09-09 11:33:19 +02:00
cpufeature.h x86/alternative: Use ALTERNATIVE_TERNARY() in _static_cpu_has() 2021-03-11 19:33:43 +01:00
cpufeatures.h Perf events changes in this cycle were: 2021-04-28 13:03:44 -07:00
cpuidle_haltpoll.h
cpumask.h x86/entry, cpumask: Provide non-instrumented variant of cpu_is_offline() 2020-06-15 14:10:09 +02:00
crash.h
current.h
debugreg.h x86/debug: Remove aout_dump_debugregs() 2020-09-04 15:12:55 +02:00
delay.h
desc.h x86/idt: Make IDT init functions static inlines 2020-09-07 22:44:43 +02:00
desc_defs.h x86/idt: Make IDT init functions static inlines 2020-09-07 22:44:43 +02:00
device.h x86: Remove dev->archdata.iommu pointer 2020-06-30 11:59:48 +02:00
disabled-features.h x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX] 2021-01-28 17:41:24 +01:00
div64.h sched/cputime: Improve cputime_adjust() 2020-06-15 14:10:00 +02:00
dma-mapping.h dma-mapping: move dma-debug.h to kernel/dma/ 2020-10-06 07:07:05 +02:00
dma.h
dmi.h
doublefault.h
dwarf2.h
edac.h
efi.h - Have 64-bit kernel code which uses 387 insns request a x87 init 2021-02-20 20:07:44 -08:00
elf.h x86: Remove unusual Unicode characters from comments 2021-03-21 23:50:07 +01: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/entry: Enable random_kstack_offset support 2021-04-08 14:05:20 +02:00
espfix.h
exec.h
extable.h x86/mce: Provide method to find out the type of an exception handler 2020-10-07 11:08:59 +02:00
fb.h
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 livepatch: Use the default ftrace_ops instead of REGS when ARGS is available 2020-11-13 12:15:28 -05:00
futex.h
gart.h
GEN-for-each-reg.h
genapic.h
geode.h
hardirq.h x86/kvm/vmx: Move guest enter/exit into .noinstr.text 2020-07-09 07:08:40 -04:00
highmem.h x86/mm/highmem: Use generic kmap atomic implementation 2020-11-06 23:14:55 +01: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
hw_irq.h iommu/amd: Fix IOMMU interrupt generation in X2APIC mode 2020-11-18 20:55:59 +01:00
hyperv-tlfs.h Drivers: hv: Redo Hyper-V synthetic MSR get/set functions 2021-03-08 17:32:59 +00:00
hypervisor.h
i8259.h
ia32.h
ia32_unistd.h
idtentry.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
imr.h
inat.h x86/insn: Add a __ignore_sync_check__ marker 2021-03-15 11:00:57 +01:00
inat_types.h
init.h
insn-eval.h x86/insn: Rename insn_decode() to insn_decode_from_regs() 2021-03-15 10:53:10 +01:00
insn.h x86: Add insn_decode_kernel() 2021-03-31 16:20:22 +02:00
inst.h x86/asm: Drop unused RDPID macro 2020-11-26 12:58:56 +01:00
intel-family.h x86/cpu: Comment Skylake server stepping too 2021-04-10 11:14:33 +02:00
intel-mid.h x86/platform/intel-mid: Update Copyright year and drop file names 2021-02-15 20:10:30 +01:00
intel_ds.h
intel_pconfig.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
intel_pt.h x86: Fix various typos in comments, take #2 2021-03-21 23:50:28 +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
invpcid.h
io.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
io_apic.h x86/ioapic: Handle Extended Destination ID field in RTE 2020-10-28 20:26:28 +01:00
io_bitmap.h x86/ioperm: Fix io bitmap invalidation on Xen PV 2020-07-18 12:31:49 +02:00
iomap.h io-mapping: Cleanup atomic iomap 2020-11-06 23:14:58 +01:00
iommu.h
iommu_table.h
iosf_mbi.h media: atomisp: move CCK endpoint address to generic header 2020-07-18 07:17:16 +02:00
irq.h Rework of the X86 irq stack handling: 2021-02-24 16:32:23 -08:00
irq_remapping.h x86: Kill all traces of irq_remapping_get_irq_domain() 2020-10-28 20:26:28 +01:00
irq_stack.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
irq_vectors.h
irq_work.h x86/entry: Convert various system vectors 2020-06-11 15:15:14 +02:00
irqdomain.h x86/apic: Add select() method on vector irqdomain 2020-10-28 20:26:27 +01:00
irqflags.h x86/paravirt: Switch functions with custom code to ALTERNATIVE 2021-03-11 20:07:01 +01:00
ist.h
jailhouse_para.h
jump_label.h Locking changes for this cycle were: 2021-04-28 12:37:53 -07:00
kasan.h
kaslr.h x86/mm: simplify init_trampoline() and surrounding logic 2020-06-09 09:39:13 -07:00
kbdleds.h
Kbuild
kdebug.h x86/dumpstack: Add log_lvl to __show_regs() 2020-07-22 23:56:53 +02:00
kexec-bzimage64.h
kexec.h x86: Use ELF fields defined in 'struct kimage' 2021-03-08 12:06:29 -07:00
kfence.h kfence, x86: fix preemptible warning on KPTI-enabled systems 2021-04-09 14:54:23 -07:00
kgdb.h
kprobes.h x86/kprobes: Use int3 instead of debug trap for single-step 2021-03-23 16:07:56 +01:00
kvm-x86-ops.h KVM: VMX: Dynamically enable/disable PML based on memslot dirty logging 2021-02-19 03:08:34 -05:00
kvm_host.h Merge branch 'linus' into x86/cleanups, to resolve conflict 2021-03-21 22:16:08 +01:00
kvm_page_track.h
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
kvmclock.h
linkage.h
livepatch.h livepatch: Use the default ftrace_ops instead of REGS when ARGS is available 2020-11-13 12:15:28 -05:00
local.h
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mce.h thermal: Move therm_throt there from x86/mce 2021-02-08 11:43:20 +01:00
mem_encrypt.h x86,swiotlb: Adjust SWIOTLB bounce buffer size for SEV guests 2020-12-11 15:43:41 -05:00
memtype.h
microcode.h x86/microcode: Make microcode_init() static 2020-12-31 11:44:00 +01:00
microcode_amd.h
microcode_intel.h
misc.h
mmconfig.h
mmu.h x86/mm: Convert mmu context ia32_compat into a proper flags field 2020-10-26 13:46:47 +01:00
mmu_context.h asm-generic: mmu-context cleanup 2020-12-15 23:58:04 -08:00
mmx.h
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h x86/init: Remove unused init ops 2020-09-16 16:52:28 +02:00
mpspec_def.h
mshyperv.h drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status 2021-04-21 09:49:19 +00:00
msi.h x86/apic: Support 15 bits of APIC ID in MSI where available 2020-10-28 20:26:29 +01:00
msr-index.h Perf events changes in this cycle were: 2021-04-28 13:03:44 -07:00
msr-trace.h
msr.h x86: __always_inline __{rd,wr}msr() 2021-01-12 21:10:59 +01:00
mtrr.h
mwait.h sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
nmi.h arch: x86: Remove CONFIG_OPROFILE support 2021-01-29 10:05:51 +05:30
nops.h x86: Remove dynamic NOP selection 2021-03-15 16:24:59 +01:00
nospec-branch.h - turn the stack canary into a normal __percpu variable on 32-bit which 2021-04-27 17:45:09 -07:00
numa.h ACPI updates for 5.10-rc1 2020-10-14 11:42:04 -07:00
numa_32.h
olpc.h
olpc_ofw.h
orc_lookup.h
orc_types.h objtool: Fix x86 orc generation on big endian cross-compiles 2021-01-13 18:13:13 -06:00
page.h
page_32.h
page_32_types.h x86/build: Fix vmlinux size check on 64-bit 2020-10-29 21:54:35 +01:00
page_64.h
page_64_types.h x86/asm: Fixup TASK_SIZE_MAX comment 2021-02-05 10:37:39 +01:00
page_types.h
paravirt.h The x86 MM changes in this cycle were: 2021-04-29 11:41:43 -07:00
paravirt_types.h The x86 MM changes in this cycle were: 2021-04-29 11:41:43 -07:00
parport.h
pci-direct.h
pci-functions.h
pci.h x86/irq: Cleanup the arch_*_msi_irqs() leftovers 2020-09-16 16:52:38 +02:00
pci_x86.h x86/pci: Reducde #ifdeffery in PCI init code 2020-09-16 16:52:35 +02:00
percpu.h x86/percpu: Remove unused PER_CPU() macro 2020-07-23 11:46:43 +02:00
perf_event.h perf/x86/intel: Add perf core PMU support for Sapphire Rapids 2021-02-01 15:31:37 +01:00
perf_event_p4.h
pgalloc.h asm-generic: pgalloc: provide generic pgd_free() 2020-08-07 11:33:26 -07:00
pgtable-2level.h
pgtable-2level_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-3level_types.h x86/paravirt: Remove 32-bit support from CONFIG_PARAVIRT_XXL 2020-08-15 13:52:11 +02:00
pgtable-invert.h
pgtable.h x86: Fix various typos in comments 2021-03-18 15:31:53 +01:00
pgtable_32.h x86/build: Fix vmlinux size check on 64-bit 2020-10-29 21:54:35 +01:00
pgtable_32_areas.h
pgtable_32_types.h
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_64_types.h x86: Support kmap_local() forced debugging 2020-11-24 14:42:09 +01:00
pgtable_areas.h
pgtable_types.h x86/mm: Remove duplicate definition of _PAGE_PAT_LARGE 2021-01-08 22:04:51 +01:00
pkeys.h
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 sched,x86: Allow !PREEMPT_DYNAMIC 2021-02-17 14:12:43 +01:00
probe_roms.h
processor-cyrix.h
processor-flags.h
processor.h - turn the stack canary into a normal __percpu variable on 32-bit which 2021-04-27 17:45:09 -07:00
prom.h
proto.h x86/asm: Ensure asm/proto.h can be included stand-alone 2021-04-12 13:12:46 +02:00
pti.h
ptrace.h Linux 5.12-rc3 2021-03-15 10:49:00 +01:00
purgatory.h
pvclock-abi.h
pvclock.h
qrwlock.h
qspinlock.h x86/kvm: Add "nopvspin" parameter to disable PV spinlocks 2020-07-08 16:21:57 -04:00
qspinlock_paravirt.h
realmode.h x86/head/64: Don't call verify_cpu() on starting APs 2020-09-09 11:33:20 +02:00
reboot.h
reboot_fixups.h
required-features.h x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX] 2021-01-28 17:41:24 +01:00
resctrl.h x86/resctrl: Apply READ_ONCE/WRITE_ONCE to task_struct.{rmid,closid} 2021-01-11 11:43:23 +01:00
rmwcc.h
seccomp.h x86: Enable seccomp architecture tracking 2020-11-20 11:16:34 -08:00
sections.h
segment.h x86/stackprotector/32: Make the canary into a regular percpu variable 2021-03-08 13:19:05 +01:00
serial.h
set_memory.h x86: Fix various typos in comments, take #2 2021-03-21 23:50:28 +01:00
setup.h x86/setup: Remove unused RESERVE_BRK_ARRAY() 2021-03-11 11:47:37 +01:00
setup_arch.h
sev-es.h x86/efi: Add GHCB mappings when SEV-ES is active 2020-09-10 21:48:50 +02:00
sgx.h Trivial cleanups and fixes all over the place. 2021-04-26 09:25:47 -07:00
shmparam.h
sigcontext.h
sigframe.h
sighandling.h
signal.h x86/entry: Use generic syscall exit functionality 2020-07-24 15:04:59 +02:00
simd.h
smap.h First big cleanup to the paravirt infra to use alternatives and thus 2021-04-26 09:01:29 -07:00
smp.h ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m 2021-04-07 19:02:43 +02:00
softirq_stack.h x86/softirq/64: Inline do_softirq_own_stack() 2021-02-10 23:34:17 +01:00
sparsemem.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
spec-ctrl.h
special_insns.h x86: Remove dynamic NOP selection 2021-03-15 16:24:59 +01:00
spinlock.h
spinlock_types.h
sta2x11.h
stackprotector.h x86/stackprotector/32: Make the canary into a regular percpu variable 2021-03-08 13:19:05 +01:00
stacktrace.h x86/dumpstack: Make show_trace_log_lvl() static 2020-11-17 19:05:32 +01:00
static_call.h static_call: Allow module use without exposing static_call_key 2021-02-17 14:12:42 +01:00
string.h
string_32.h
string_64.h x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() 2020-10-06 11:18:04 +02:00
suspend.h
suspend_32.h x86/stackprotector/32: Make the canary into a regular percpu variable 2021-03-08 13:19:05 +01:00
suspend_64.h
svm.h KVM: SVM: Provide support for SEV-ES vCPU loading 2020-12-15 05:20:59 -05:00
swiotlb.h
switch_to.h x86/process/64: Move cpu_current_top_of_stack out of TSS 2021-03-28 22:40:10 +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.h
syscall_wrapper.h x86/syscalls: Fix -Wmissing-prototypes warnings from COND_SYSCALL() 2021-03-25 16:20:41 +01:00
syscalls.h
sysfb.h
text-patching.h x86/alternatives: Teach text_poke_bp() to emulate RET 2020-09-01 09:58:05 +02:00
thermal.h thermal: Move therm_throt there from x86/mce 2021-02-08 11:43:20 +01:00
thread_info.h x86/process/64: Move cpu_current_top_of_stack out of TSS 2021-03-28 22:40:10 +02:00
time.h
timer.h
timex.h
tlb.h tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs 2021-01-29 20:02:29 +01:00
tlbbatch.h
tlbflush.h x86/mm/tlb: Privatize cpu_tlbstate 2021-03-06 12:59:10 +01:00
topology.h x86/topology: Make __max_die_per_package available unconditionally 2021-01-14 12:18:36 +01:00
trace_clock.h
trap_pf.h x86/mm: Signal SIGSEGV with PF_SGX 2020-11-17 14:36:13 +01:00
trapnr.h x86/boot/compressed/64: Add stage1 #VC handler 2020-09-07 19:45:25 +02:00
traps.h This feature enhances the current guest memory encryption support 2020-10-14 10:21:34 -07:00
tsc.h A set of locking fixes and updates: 2020-08-10 19:07:44 -07:00
uaccess.h x86/uaccess: fix code generation in put_user() 2020-10-23 13:44:24 -07:00
uaccess_32.h
uaccess_64.h x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() 2020-10-06 11:18:04 +02:00
umip.h
unaligned.h
unistd.h
unwind.h
unwind_hints.h objtool: Combine UNWIND_HINT_RET_OFFSET and UNWIND_HINT_FUNC 2021-01-26 11:12:00 -06:00
uprobes.h
user.h
user32.h
user_32.h
user_64.h
vdso.h A set of updates for entry/exit handling: 2020-12-14 17:13:53 -08:00
vermagic.h
vga.h
vgtod.h
virtext.h KVM: VMX: Use the kernel's version of VMXOFF 2021-02-04 05:27:33 -05: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: Enable bus lock VM exit 2021-02-04 05:27:21 -05:00
vmxfeatures.h KVM: VMX: Enable bus lock VM exit 2021-02-04 05:27:21 -05:00
vsyscall.h
vvar.h
word-at-a-time.h
x86_init.h x86/apic: Support 15 bits of APIC ID in MSI where available 2020-10-28 20:26:29 +01:00
xor.h
xor_32.h
xor_64.h
xor_avx.h