linux/arch/loongarch/include/asm
Xianglai Li 5203012fa6 LoongArch: KVM: Compile switch.S directly into the kernel
If we directly compile the switch.S file into the kernel, the address of
the kvm_exc_entry function will definitely be within the DMW memory area.
Therefore, we will no longer need to perform a copy relocation of the
kvm_exc_entry.

So this patch compiles switch.S directly into the kernel, and then remove
the copy relocation execution logic for the kvm_exc_entry function.

Cc: stable@vger.kernel.org
Signed-off-by: Xianglai Li <lixianglai@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2026-05-04 09:00:37 +08:00
..
vdso LoongArch: vDSO: Drop custom __arch_vdso_hres_capable() 2026-05-04 09:00:20 +08:00
acenv.h LoongArch: Align ACPI structures if ARCH_STRICT_ALIGN enabled 2025-09-18 19:44:01 +08:00
acpi.h ACPI: PPTT: Use acpi_get_cpu_uid() and remove get_acpi_id_for_cpu() 2026-04-06 16:55:16 +02:00
addrspace.h LoongArch: Adjust memory management for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
alternative-asm.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
alternative.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
asm-extable.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
asm-offsets.h
asm-prototypes.h LoongArch: KVM: Compile switch.S directly into the kernel 2026-05-04 09:00:37 +08:00
asm.h LoongArch: Adjust common macro definitions for 32BIT/64BIT 2025-12-06 10:40:32 +08:00
asmmacro.h LoongArch: Adjust common macro definitions for 32BIT/64BIT 2025-12-06 10:40:32 +08:00
atomic-amo.h LoongArch: Add atomic operations for 32BIT/64BIT 2025-12-06 10:40:32 +08:00
atomic-llsc.h LoongArch: Add atomic operations for 32BIT/64BIT 2025-12-06 10:40:32 +08:00
atomic.h LoongArch: Add atomic operations for 32BIT/64BIT 2025-12-06 10:40:32 +08:00
barrier.h
bitops.h LoongArch: Adjust misc routines for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
bitrev.h LoongArch: Simplify __arch_bitrev32() implementation 2025-12-06 10:39:39 +08:00
bootinfo.h LoongArch: Get correct cores_per_package for SMT systems 2024-10-21 22:11:18 +08:00
branch.h
bug.h bugs/LoongArch: Concatenate 'cond_str' with '__FILE__' in __BUG_ENTRY(), to extend WARN_ON/BUG_ON output 2025-07-28 08:01:23 +02:00
cache.h LoongArch: Increase ARCH_DMA_MINALIGN up to 16 2025-03-30 16:31:09 +08:00
cacheflush.h LoongArch: Add flush_icache_all()/local_flush_icache_all() 2026-04-22 15:45:12 +08:00
cacheops.h
checksum.h LoongArch: Adjust misc routines for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
clocksource.h
cmpxchg.h LoongArch: Only use SC.Q when supported by the assembler 2026-03-16 10:36:00 +08:00
cpu-features.h LoongArch: Define instruction formats for AM{SWAP/ADD}.{B/H} and DBAR 2026-04-22 15:45:13 +08:00
cpu-info.h LoongArch: Remove the deprecated notifier hook mechanism 2025-02-13 12:02:40 +08:00
cpu.h LoongArch: Define instruction formats for AM{SWAP/ADD}.{B/H} and DBAR 2026-04-22 15:45:13 +08:00
cpufeature.h
crash_reserve.h LoongArch: Fix Kconfig item and left code related to CRASH_CORE 2024-04-24 12:36:07 +08:00
delay.h
dma.h
dmi.h LoongArch: Adjust boot & setup for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
efi.h efi/loongarch: Directly position the loaded image file 2023-12-19 11:16:37 +01:00
elf.h LoongArch: Adjust process management for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
entry-common.h LoongArch: Enable HAVE_ARCH_STACKLEAK 2025-05-30 21:45:42 +08:00
exception.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
exec.h
extable.h
fixmap.h LoongArch: Add HIGHMEM (PKMAP and FIX_KMAP) support 2026-04-22 15:44:54 +08:00
fpregdef.h
fprobe.h fprobe: Add fprobe_header encoding feature 2024-12-26 10:50:05 -05:00
fpu.h LoongArch: Handle fp, lsx, lasx and lbt assembly symbols 2025-04-26 09:58:12 +08:00
ftrace.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
futex.h
gpr-num.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
hardirq.h LoongArch: Architectural preparation for AVEC irqchip 2024-08-23 20:40:27 +02:00
highmem.h LoongArch: Add HIGHMEM (PKMAP and FIX_KMAP) support 2026-04-22 15:44:54 +08:00
hugetlb.h mm/hugetlb: remove prepare_hugepage_range() 2025-07-13 16:38:19 -07:00
hw_breakpoint.h LoongArch: Use correct accessor to read FWPC/MWPC 2025-11-10 08:37:06 +08:00
hw_irq.h LoongArch: Define ARCH_IRQ_INIT_FLAGS as IRQ_NOPROBE 2024-08-26 23:11:32 +08:00
idle.h
image.h LoongArch: Add EFI binary support for kexec_file 2025-10-02 22:39:07 +08:00
inst.h LoongArch: Define instruction formats for AM{SWAP/ADD}.{B/H} and DBAR 2026-04-22 15:45:13 +08:00
io.h LoongArch: Consolidate early_ioremap()/ioremap_prot() 2025-11-10 08:37:06 +08:00
irq_regs.h
irq_work.h LoongArch: Make arch_irq_work_has_interrupt() true only if IPI HW exist 2026-04-22 15:45:12 +08:00
irq.h genirq/matrix, LoongArch: Delete IRQ_MATRIX_BITS leftovers 2026-03-17 10:57:03 +01:00
irqflags.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
jump_label.h LoongArch: Batch the icache maintenance for jump_label 2026-04-22 15:45:13 +08:00
kasan.h kasan: introduce ARCH_DEFER_KASAN and unify static key across modes 2025-09-21 14:21:58 -07:00
Kbuild LoongArch: Adjust system call for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
kdebug.h
kexec.h LoongArch: Add ELF binary support for kexec_file 2025-10-02 22:39:08 +08:00
kfence.h LoongArch: Use accessors to page table entries instead of direct dereference 2024-08-07 17:37:11 +08:00
kgdb.h LoongArch: Add basic KGDB & KDB support 2023-09-06 22:53:55 +08:00
kprobes.h
kvm_csr.h LoongArch: KVM: Add PMU support for guest 2024-09-12 20:53:40 +08:00
kvm_dmsintc.h LoongArch: KVM: Add DMSINTC inject msi to vCPU 2026-04-09 18:56:37 +08:00
kvm_eiointc.h LoongArch: KVM: Use 64-bit register definition for EIOINTC 2025-11-27 11:00:18 +08:00
kvm_host.h LoongArch: KVM: Compile switch.S directly into the kernel 2026-05-04 09:00:37 +08:00
kvm_ipi.h LoongArch: KVM: Add IPI read and write function 2024-11-13 16:18:27 +08:00
kvm_mmu.h LoongArch: KVM: Fix VM migration failure with PTW enabled 2025-09-18 19:44:22 +08:00
kvm_para.h LoongArch: KVM: Add paravirt preempt feature in hypervisor side 2026-02-06 09:28:01 +08:00
kvm_pch_pic.h LoongArch: KVM: Add DMSINTC inject msi to vCPU 2026-04-09 18:56:37 +08:00
kvm_types.h LoongArch: KVM: Add kvm related header files 2023-10-02 10:01:20 +08:00
kvm_vcpu.h LoongArch: KVM: Add AVEC basic support 2025-11-27 11:00:18 +08:00
lbt.h LoongArch: Handle fp, lsx, lasx and lbt assembly symbols 2025-04-26 09:58:12 +08:00
linkage.h LoongArch: Fix SYM_SIGFUNC_START definition for 32BIT 2026-05-04 09:00:01 +08:00
local.h LoongArch: Add atomic operations for 32BIT/64BIT 2025-12-06 10:40:32 +08:00
loongarch.h LoongArch: KVM: Handle LOONGARCH_CSR_IPR during vCPU context switch 2026-02-06 09:27:46 +08:00
loongson.h
mmu_context.h LoongArch: Improve hardware page table walker 2024-09-24 15:32:20 +08:00
mmu.h
module.h LoongArch: Adjust module loader for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
module.lds.h
numa.h LoongArch: Introduce the numa_memblks conversion 2025-05-30 21:45:43 +08:00
orc_header.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
orc_lookup.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
orc_types.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
page.h LoongArch changes for v7.1 2026-04-24 09:54:45 -07:00
paravirt.h loongarch/paravirt: Use common code for paravirt_steal_clock() 2026-01-12 16:47:20 +01:00
pci.h
percpu.h LoongArch: Adjust module loader for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
perf_event.h LoongArch: Fix callchain parse error with kernel tracepoint events again 2024-05-14 12:24:18 +08:00
pgalloc.h LoongArch: mm: enable MMU_GATHER_RCU_TABLE_FREE 2026-02-06 15:47:18 -08:00
pgtable-bits.h LoongArch: Adjust memory management for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
pgtable.h LoongArch changes for v7.1 2026-04-24 09:54:45 -07:00
prefetch.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
processor.h LoongArch: Align FPU register state to 32 bytes 2026-04-22 15:45:11 +08:00
ptrace.h LoongArch: Fix MAX_REG_OFFSET calculation 2025-05-14 22:17:43 +08:00
qspinlock.h LoongArch: KVM: Make vcpu_is_preempted() as a macro rather than function 2026-04-09 18:56:36 +08:00
regdef.h
seccomp.h
serial.h
set_memory.h arch: introduce set_direct_map_valid_noflush() 2024-11-07 14:25:15 -08:00
setup.h LoongArch: Handle percpu handler address for ORC unwinder 2026-02-10 19:31:13 +08:00
sigframe.h LoongArch: vDSO: Emit GNU_EH_FRAME correctly 2026-03-26 14:29:09 +08:00
smp.h LoongArch: Handle KCOV __init vs inline mismatches 2025-06-26 20:07:18 +08:00
sparsemem.h LoongArch: Introduce the numa_memblks conversion 2025-05-30 21:45:43 +08:00
spinlock_types.h
spinlock.h
stackframe.h LoongArch: Adjust common macro definitions for 32BIT/64BIT 2025-12-06 10:40:32 +08:00
stackprotector.h LoongArch: Use get_random_canary() for stack canary init 2026-04-22 15:45:12 +08:00
stacktrace.h LoongArch: Enable HAVE_ARCH_STACKLEAK 2025-05-30 21:45:42 +08:00
string.h LoongArch: Adjust misc routines for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
suspend.h
switch_to.h LoongArch: Add Loongson Binary Translation (LBT) extension support 2023-09-06 22:53:55 +08:00
syscall.h LoongArch: Handle CONFIG_32BIT in syscall_get_arch() 2026-04-22 15:45:11 +08:00
thread_info.h LoongArch: Fix bitflag conflict for TIF_FIXADE 2025-09-20 09:55:56 +02:00
time.h
timex.h LoongArch: Adjust time routines for 32BIT/64BIT 2025-12-08 18:09:17 +08:00
tlb.h LoongArch: Fix a build error due to __tlb_remove_tlb_entry() 2024-04-24 12:36:07 +08:00
tlbflush.h
topology.h LoongArch: Make cpumask_of_node() robust against NUMA_NO_NODE 2026-02-10 19:31:12 +08:00
types.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
uaccess.h LoongArch: Give more information if kmem access failed 2026-03-16 10:36:01 +08:00
unistd.h LoongArch: Wire up memfd_secret system call 2026-02-10 19:31:12 +08:00
unwind_hints.h LoongArch: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers 2025-06-26 20:07:10 +08:00
unwind.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
uprobes.h LoongArch: uprobes: Remove redundant code about resume_era 2025-05-14 22:18:10 +08:00
vdso.h LoongArch: vDSO: Switch to generic storage implementation 2025-02-21 09:54:02 +01:00
vermagic.h
video.h arch: Rename fbdev header and source files 2024-05-03 17:07:50 +02:00
vmalloc.h