linux/arch/arm64/include/asm
Paolo Bonzini e89f0e9a0a KVM/arm64 fixes for 6.19
- Ensure early return semantics are preserved for pKVM fault handlers
 
  - Fix case where the kernel runs with the guest's PAN value when
    CONFIG_ARM64_PAN is not set
 
  - Make stage-1 walks to set the access flag respect the access
    permission of the underlying stage-2, when enabled
 
  - Propagate computed FGT values to the pKVM view of the vCPU at
    vcpu_load()
 
  - Correctly program PXN and UXN privilege bits for hVHE's stage-1 page
    tables
 
  - Check that the VM is actually using VGICv3 before accessing the GICv3
    CPU interface
 
  - Delete some unused code
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYKADUWIQSNXHjWXuzMZutrKNKivnWIJHzdFgUCaWiyJBccb2xpdmVyLnVw
 dG9uQGxpbnV4LmRldgAKCRCivnWIJHzdFqVhAQDM4Lbrq0F80X+YzvO7oxWioOy4
 JiTATSii9Lit8KY6fgEAvLD4qaggLdF3+WY+V37YmTj3UDgI31ClBr+xSvSengA=
 =XaL0
 -----END PGP SIGNATURE-----

Merge tag 'kvmarm-fixes-6.19-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

KVM/arm64 fixes for 6.19

 - Ensure early return semantics are preserved for pKVM fault handlers

 - Fix case where the kernel runs with the guest's PAN value when
   CONFIG_ARM64_PAN is not set

 - Make stage-1 walks to set the access flag respect the access
   permission of the underlying stage-2, when enabled

 - Propagate computed FGT values to the pKVM view of the vCPU at
   vcpu_load()

 - Correctly program PXN and UXN privilege bits for hVHE's stage-1 page
   tables

 - Check that the VM is actually using VGICv3 before accessing the GICv3
   CPU interface

 - Delete some unused code
2026-01-24 08:42:14 +01:00
..
stacktrace arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
vdso arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
xen arm64: ptrace: Replace interrupts_enabled() with regs_irqs_disabled() 2025-09-11 15:55:34 +01:00
acenv.h
acpi.h arm64: Handle KCOV __init vs inline mismatches 2025-07-24 16:55:11 -07:00
alternative-macros.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
alternative.h arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
apple_m1_pmu.h drivers/perf: apple_m1: Support host/guest event filtering 2025-03-11 12:52:32 -07:00
arch_gicv3.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
arch_timer.h arm64/arch_timer: include <linux/percpu.h> 2024-06-12 15:44:19 +01:00
archrandom.h arm64: head: Move early kernel mapping routines into C code 2024-02-16 12:42:33 +00:00
arm-cci.h
arm_dsu_pmu.h
arm_pmuv3.h perf/arm_pmuv3: Add PMUv3.9 per counter EL0 access control 2024-10-28 17:27:15 +00:00
asm-bug.h arm64/bug: Add ARCH_WARN_ASM macro for BUG/WARN asm code sharing with Rust 2025-07-23 00:04:53 +02:00
asm-extable.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
asm-offsets.h
asm-prototypes.h
asm-uaccess.h arm64: lib: Use MOPS for usercopy routines 2025-03-07 18:30:16 +00:00
asm_pointer_auth.h arm64/sysreg: Add _EL1 into ID_AA64ISAR2_EL1 definition names 2022-07-05 11:45:46 +01:00
assembler.h Merge branch 'for-next/sysreg' into for-next/core 2025-11-28 15:47:53 +00:00
atomic.h locking/atomic: make atomic*_{cmp,}xchg optional 2023-06-05 09:57:14 +02:00
atomic_ll_sc.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
atomic_lse.h arm64: atomics: lse: Remove unused parameters from ATOMIC_FETCH_OP_AND macros 2025-11-27 18:15:24 +00:00
barrier.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
bitops.h include: move find.h from asm_generic to linux 2022-01-15 08:47:31 -08:00
bitrev.h
boot.h
brk-imm.h arm64: kretprobes: acquire the regs via a BRK exception 2024-02-20 18:13:57 +00:00
bug.h bugs/core: Extend __WARN_FLAGS() with the 'cond_str' parameter 2025-06-13 10:20:52 +02:00
cache.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
cacheflush.h mm: remove page_mapping() 2024-07-03 19:29:59 -07:00
cfi.h arm64/cfi,bpf: Support kCFI + BPF on arm64 2025-07-31 18:23:54 -07:00
checksum.h
clocksource.h
cmpxchg.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
compat.h arm64: avoid prototype warnings for syscalls 2023-05-25 17:44:01 +01:00
compiler.h arm64: move PAC masks to <asm/pointer_auth.h> 2023-04-13 12:27:11 +01:00
cpu.h arm64: Expose AIDR_EL1 via sysfs 2025-04-29 14:03:18 +01:00
cpu_ops.h arm64: cpuidle: remove generic cpuidle support 2022-06-23 14:19:33 +01:00
cpucaps.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
cpufeature.h Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/efi-preempt', 'for-next/assembler-macro', 'for-next/typos', 'for-next/sme-ptrace-disable', 'for-next/local-tlbi-page-reused', 'for-next/mpam', 'for-next/acpi' and 'for-next/documentation', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2025-11-28 15:47:12 +00:00
cpuidle.h arm64: cpuidle: remove generic cpuidle support 2022-06-23 14:19:33 +01:00
cputype.h Merge branch 'for-next/sysreg' into for-next/core 2025-11-28 15:47:53 +00:00
crash_reserve.h kexec: split crashkernel reservation code out from crash_core.c 2024-02-23 17:48:21 -08:00
current.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
daifflags.h arm64: ptrace: Replace interrupts_enabled() with regs_irqs_disabled() 2025-09-11 15:55:34 +01:00
dcc.h
debug-monitors.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
device.h
dmi.h
efi.h arm64/efi: Don't fail check current_in_efi() if preemptible 2026-01-06 11:54:31 +00:00
el2_setup.h arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
elf.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
entry-common.h arm64: entry: Switch to generic IRQ entry 2025-09-11 15:55:35 +01:00
esr.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
exception.h arm64: entry: Switch to generic IRQ entry 2025-09-11 15:55:35 +01:00
exec.h
extable.h arm64: mm: Handle PAN faults on uaccess CPY* instructions 2025-03-07 18:28:29 +00:00
fixmap.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
fpsimd.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
fpsimdmacros.h arm64: Delete the zero_za macro 2023-12-11 13:18:06 +00:00
fpu.h arm64/fpsimd: Allocate kernel mode FP/SIMD buffers on the stack 2025-11-12 09:52:03 +01:00
ftrace.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
futex.h arm64: extable: add a dedicated uaccess handler 2021-10-21 10:45:22 +01:00
gcs.h arm64: uaccess: Add additional userspace GCS accessors 2025-09-16 21:32:53 +01:00
gpr-num.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
hardirq.h arm64: errata: Work around AmpereOne's erratum AC04_CPU_23 2025-05-19 12:46:26 +01:00
hugetlb.h mm: introduce memdesc_flags_t 2025-09-13 16:55:07 -07:00
hw_breakpoint.h arm64/hw_breakpoint: Directly use ESR_ELx_WNR for an watchpoint exception 2024-03-01 17:36:51 +00:00
hwcap.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
hyp_image.h
hypervisor.h smccc/kvm_guest: Enable errata based on implementation CPUs 2025-02-26 13:30:37 -08:00
image.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
insn-def.h arm64: move AARCH64_BREAK_FAULT into insn-def.h 2022-02-22 21:25:48 +00:00
insn.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
io.h arm64: Enable EFI secret area Securityfs support 2025-09-19 10:12:01 +01:00
irq.h arm64: irq: include <linux/cpumask.h> 2024-01-12 12:44:18 +00:00
irq_work.h arch: consolidate arch_irq_work_raise prototypes 2023-11-23 11:32:29 +01:00
irqflags.h arm64: Remove unnecessary irqflags alternative.h include 2024-04-10 17:15:09 +01:00
jump_label.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kasan.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
Kbuild fprobe: Add fprobe_header encoding feature 2024-12-26 10:50:05 -05:00
kernel-pgtable.h arm64: Work around convergence issue with LLD linker 2025-06-02 12:53:18 +01:00
kexec.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kfence.h arm64: mm: Don't sleep in split_kernel_leaf_mapping() when in atomic context 2025-11-07 14:43:15 +00:00
kgdb.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kprobes.h arm64: debug: call software breakpoint handlers statically 2025-07-08 13:27:41 +01:00
kvm_arm.h KVM: arm64: at: Use correct HA bit in TCR_EL2 when regime is EL2 2025-12-01 00:44:03 -08:00
kvm_asm.h KVM: arm64: Don't blindly set set PSTATE.PAN on guest exit 2026-01-09 15:43:14 -08:00
kvm_emulate.h KVM: arm64: Remove unused vcpu_{clear,set}_wfx_traps() 2026-01-09 15:40:18 -08:00
kvm_host.h Merge branch 'kvm-arm64/vgic-lr-overflow' into kvmarm/next 2025-12-01 00:47:32 -08:00
kvm_hyp.h KVM: arm64: GICv3: nv: Resync LRs/VMCR/HCR early for better MI emulation 2025-11-24 14:29:14 -08:00
kvm_mmu.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kvm_mte.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kvm_nested.h KVM: arm64: Implement HW access flag management in stage-1 SW PTW 2025-12-01 00:44:02 -08:00
kvm_pgtable.h KVM: arm64: Invert KVM_PGTABLE_WALK_HANDLE_FAULT to fix pKVM walkers 2026-01-10 02:19:52 -08:00
kvm_pkvm.h KVM: arm64: Split kvm_pgtable_stage2_destroy() 2025-11-19 14:11:57 -08:00
kvm_ptrauth.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
kvm_types.h
linkage.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
lse.h arm64: Remove system_uses_lse_atomics() 2023-10-18 10:58:59 +01:00
mem_encrypt.h arm64: Add missing includes for mem_encrypt 2025-04-29 16:20:11 +01:00
memory.h Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/efi-preempt', 'for-next/assembler-macro', 'for-next/typos', 'for-next/sme-ptrace-disable', 'for-next/local-tlbi-page-reused', 'for-next/mpam', 'for-next/acpi' and 'for-next/documentation', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2025-11-28 15:47:12 +00:00
mman.h mm: update architecture and driver code to use vm_flags_t 2025-07-09 22:42:14 -07:00
mmu.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
mmu_context.h Merge branch 'for-next/sysreg' into for-next/core 2025-11-28 15:47:53 +00:00
module.h arm64: ftrace: fix unreachable PLT for ftrace_caller in init_module with CONFIG_DYNAMIC_FTRACE 2025-09-05 16:56:20 +01:00
module.lds.h arm64: ftrace: fix unreachable PLT for ftrace_caller in init_module with CONFIG_DYNAMIC_FTRACE 2025-09-05 16:56:20 +01:00
mshyperv.h arm64/hyperv: Add some missing functions to arm64 2025-03-20 21:23:03 +00:00
mte-def.h arm64: mte: Define the number of bytes for storing the tags in a page 2022-02-15 22:53:29 +00:00
mte-kasan.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
mte.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
neon-intrinsics.h
neon.h arm64/fpsimd: Allocate kernel mode FP/SIMD buffers on the stack 2025-11-12 09:52:03 +01:00
numa.h
page-def.h vdso: Introduce vdso/page.h 2024-10-16 00:13:04 +02:00
page.h arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
paravirt.h
paravirt_api_clock.h sched/headers: Add initial new headers as identity mappings 2022-02-23 10:58:28 +01:00
pci.h asm-generic: Add new pci.h and use it 2022-07-22 17:34:57 -05:00
percpu.h arm64: Use load LSE atomics for the non-return per-CPU atomic operations 2025-11-07 14:20:07 +00:00
perf_event.h perf/core: Correct perf sampling with guest VMs 2024-11-14 10:40:01 +01:00
pgalloc.h arm64: pgtable: use mmu gather to free p4d level page table 2025-01-25 20:22:21 -08:00
pgtable-hwdef.h arm64/sysreg: Replace TCR_EL1 field macros 2025-11-13 15:58:30 +00:00
pgtable-prot.h Merge branch 'for-next/sysreg' into for-next/core 2025-11-28 15:47:53 +00:00
pgtable-types.h arm64/mm: define ptdesc_t 2025-05-11 17:48:19 -07:00
pgtable.h arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
pkeys.h arm64: pkeys: remove redundant WARN 2024-09-10 18:19:59 +01:00
pointer_auth.h arm64: move PAC masks to <asm/pointer_auth.h> 2023-04-13 12:27:11 +01:00
por.h arm64/sysreg: Move POR_EL0_INIT to asm/por.h 2025-03-10 18:10:41 +00:00
preempt.h arm64: entry: Switch to generic IRQ entry 2025-09-11 15:55:35 +01:00
probes.h arm64: probes: Remove probe_opcode_t 2024-10-15 18:16:20 +01:00
proc-fns.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
processor.h arm64 FPSIMD buffer on-stack for 6.19 2025-12-02 18:53:50 -08:00
ptdump.h arm64: Enable vmalloc-huge with ptdump 2025-09-22 11:53:24 +01:00
ptrace.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
pvclock-abi.h
rqspinlock.h bpf: Use architecture provided res_smp_cond_load_acquire 2025-04-10 12:47:07 -07:00
rsi.h arm64: realm: ioremap: Allow mapping memory as encrypted 2025-09-19 10:12:01 +01:00
rsi_cmds.h arm64: Add missing includes for mem_encrypt 2025-04-29 16:20:11 +01:00
rsi_smc.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
runtime-const.h arm64: add 'runtime constant' support 2024-07-09 07:30:43 -07:00
rwonce.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
scs.h arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
sdei.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
seccomp.h arm64: Remove duplicate included header 2025-01-10 13:44:22 +00:00
sections.h KVM: arm64: Add .hyp.data section 2025-05-06 09:56:18 +01:00
semihost.h serial: earlycon-arm-semihost: Move smh_putc() variants in respective arch's semihost.h 2023-01-19 14:58:19 +01:00
set_memory.h - The series "zram: optimal post-processing target selection" from 2024-11-23 09:58:07 -08:00
setup.h arm64: mm: Rework the 'rodata=' options 2025-09-16 20:53:13 +01:00
shmparam.h
signal.h
signal32.h
simd.h arm64/simd: Avoid pointless clearing of FP/SIMD buffer 2025-12-14 10:18:22 -08:00
smp.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
smp_plat.h
sparsemem.h arm64/mm: Reduce PA space to 48 bits when LPA2 is not enabled 2024-12-19 17:23:52 +00:00
spectre.h arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
spinlock.h
spinlock_types.h Improve consistency of '#error' directive messages 2024-11-11 17:17:04 -08:00
stack_pointer.h
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
stacktrace.h arm64: remove CONFIG_VMAP_STACK checks from stacktrace overflow logic 2025-07-08 13:41:09 +01:00
stage2_pgtable.h KVM: arm64: Move VTCR_EL2 into struct s2_mmu 2023-10-23 18:48:46 +00:00
stat.h
string.h Revert "arm64: Mitigate MTE issues with str{n}cmp()" 2022-03-07 21:57:02 +00:00
suspend.h arm64: Fix cleared E0POE bit after cpu_suspend()/resume() 2026-01-09 10:41:45 +00:00
sync_bitops.h
syscall.h syscall.h: introduce syscall_set_nr() 2025-05-11 17:48:15 -07:00
syscall_wrapper.h posix-timers: Get rid of [COMPAT_]SYS_NI() uses 2023-12-20 21:30:27 -08:00
sysreg.h KVM: arm64: Don't blindly set set PSTATE.PAN on guest exit 2026-01-09 15:43:14 -08:00
system_misc.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
text-patching.h asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
thread_info.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
timex.h
tlb.h mm: pgtable: introduce generic __tlb_remove_table() 2025-01-25 20:22:23 -08:00
tlbbatch.h arm64: support batched/deferred tlb shootdown during page reclamation/migration 2023-08-18 10:12:37 -07:00
tlbflush.h Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/efi-preempt', 'for-next/assembler-macro', 'for-next/typos', 'for-next/sme-ptrace-disable', 'for-next/local-tlbi-page-reused', 'for-next/mpam', 'for-next/acpi' and 'for-next/documentation', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2025-11-28 15:47:12 +00:00
topology.h arch_topology: move parse_acpi_topology() to common code 2025-10-22 08:10:57 +02:00
trans_pgd.h
traps.h KVM: arm64: Dump instruction on hyp panic 2025-09-15 13:04:22 +01:00
uaccess.h arm64: uaccess: Use unsafe wrappers for ASM GOTO 2025-11-04 08:27:20 +01:00
unistd.h arm64: rework compat syscall macros 2024-07-10 14:23:38 +02:00
unistd32.h arm64: convert unistd_32.h to syscall.tbl format 2024-07-10 14:23:38 +02:00
uprobes.h arm64: debug: call step handlers statically 2025-07-08 13:27:41 +01:00
vdso.h arm64: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-11-11 19:35:59 +00:00
vectors.h arm64: Avoid cpus_have_const_cap() for ARM64_UNMAP_KERNEL_AT_EL0 2023-10-16 14:17:06 +01:00
vermagic.h
virt.h ARM: 2025-12-05 17:01:20 -08:00
vmalloc.h arm64: Enable vmalloc-huge with ptdump 2025-09-22 11:53:24 +01:00
vmap_stack.h arm64: Remove assertion on CONFIG_VMAP_STACK 2025-11-07 19:46:39 +00:00
vncr_mapping.h KVM: arm64: Add trap configs for PMSDSFR_EL1 2025-09-19 14:30:49 +01:00
word-at-a-time.h arm64: word-at-a-time: improve byte count calculations for LE 2024-06-19 12:35:19 -07:00
xor.h arm64/xorblocks: Switch to 'ksimd' scoped guard API 2025-11-12 09:52:02 +01:00