linux/arch/arm64/include/asm
Linus Torvalds d129377639 ARM64:
* Fix the guest view of the ID registers, making the relevant fields
   writable from userspace (affecting ID_AA64DFR0_EL1 and ID_AA64PFR1_EL1)
 
 * Correcly expose S1PIE to guests, fixing a regression introduced
   in 6.12-rc1 with the S1POE support
 
 * Fix the recycling of stage-2 shadow MMUs by tracking the context
   (are we allowed to block or not) as well as the recycling state
 
 * Address a couple of issues with the vgic when userspace misconfigures
   the emulation, resulting in various splats. Headaches courtesy
   of our Syzkaller friends
 
 * Stop wasting space in the HYP idmap, as we are dangerously close
   to the 4kB limit, and this has already exploded in -next
 
 * Fix another race in vgic_init()
 
 * Fix a UBSAN error when faking the cache topology with MTE
   enabled
 
 RISCV:
 
 * RISCV: KVM: use raw_spinlock for critical section in imsic
 
 x86:
 
 * A bandaid for lack of XCR0 setup in selftests, which causes trouble
   if the compiler is configured to have x86-64-v3 (with AVX) as the
   default ISA.  Proper XCR0 setup will come in the next merge window.
 
 * Fix an issue where KVM would not ignore low bits of the nested CR3
   and potentially leak up to 31 bytes out of the guest memory's bounds
 
 * Fix case in which an out-of-date cached value for the segments could
   by returned by KVM_GET_SREGS.
 
 * More cleanups for KVM_X86_QUIRK_SLOT_ZAP_ALL
 
 * Override MTRR state for KVM confidential guests, making it WB by
   default as is already the case for Hyper-V guests.
 
 Generic:
 
 * Remove a couple of unused functions
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmcVK54UHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroOfrgf7BRyihd28OGaqVuv2BqGYrxqfOkd6
 ZqpJDOy+X7UE3iG5NhTxw4mghCJFhOwIL7gDSZwPLe6D2k01oqPSP2pLMqXb5oOv
 /EkltRvzG0YIH3sjZY5PROrMMxnvSKkJKxETFxFQQzMKRym2v/T5LAzrium58YIT
 vWZXxo2HTPXOw/U5upAqqMYJMeeJEL3kurVHtOsPytUFjrIOl0BfeKvgjOwonDIh
 Awm4JZwk0+1d8sYfkuzsSrTQmtshDCx1jkFN1juirt90s1EwgmOvVKiHo3gMsVP9
 veDRoLTx2fM/r7TrhoHo46DTA2vbfmCltWcT0cn5x8P24BFGXXe/IDJIHA==
 =IVlI
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull kvm fixes from Paolo Bonzini:
 "ARM64:

   - Fix the guest view of the ID registers, making the relevant fields
     writable from userspace (affecting ID_AA64DFR0_EL1 and
     ID_AA64PFR1_EL1)

   - Correcly expose S1PIE to guests, fixing a regression introduced in
     6.12-rc1 with the S1POE support

   - Fix the recycling of stage-2 shadow MMUs by tracking the context
     (are we allowed to block or not) as well as the recycling state

   - Address a couple of issues with the vgic when userspace
     misconfigures the emulation, resulting in various splats. Headaches
     courtesy of our Syzkaller friends

   - Stop wasting space in the HYP idmap, as we are dangerously close to
     the 4kB limit, and this has already exploded in -next

   - Fix another race in vgic_init()

   - Fix a UBSAN error when faking the cache topology with MTE enabled

  RISCV:

   - RISCV: KVM: use raw_spinlock for critical section in imsic

  x86:

   - A bandaid for lack of XCR0 setup in selftests, which causes trouble
     if the compiler is configured to have x86-64-v3 (with AVX) as the
     default ISA. Proper XCR0 setup will come in the next merge window.

   - Fix an issue where KVM would not ignore low bits of the nested CR3
     and potentially leak up to 31 bytes out of the guest memory's
     bounds

   - Fix case in which an out-of-date cached value for the segments
     could by returned by KVM_GET_SREGS.

   - More cleanups for KVM_X86_QUIRK_SLOT_ZAP_ALL

   - Override MTRR state for KVM confidential guests, making it WB by
     default as is already the case for Hyper-V guests.

  Generic:

   - Remove a couple of unused functions"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (27 commits)
  RISCV: KVM: use raw_spinlock for critical section in imsic
  KVM: selftests: Fix out-of-bounds reads in CPUID test's array lookups
  KVM: selftests: x86: Avoid using SSE/AVX instructions
  KVM: nSVM: Ignore nCR3[4:0] when loading PDPTEs from memory
  KVM: VMX: reset the segment cache after segment init in vmx_vcpu_reset()
  KVM: x86: Clean up documentation for KVM_X86_QUIRK_SLOT_ZAP_ALL
  KVM: x86/mmu: Add lockdep assert to enforce safe usage of kvm_unmap_gfn_range()
  KVM: x86/mmu: Zap only SPs that shadow gPTEs when deleting memslot
  x86/kvm: Override default caching mode for SEV-SNP and TDX
  KVM: Remove unused kvm_vcpu_gfn_to_pfn_atomic
  KVM: Remove unused kvm_vcpu_gfn_to_pfn
  KVM: arm64: Ensure vgic_ready() is ordered against MMIO registration
  KVM: arm64: vgic: Don't check for vgic_ready() when setting NR_IRQS
  KVM: arm64: Fix shift-out-of-bounds bug
  KVM: arm64: Shave a few bytes from the EL2 idmap code
  KVM: arm64: Don't eagerly teardown the vgic on init error
  KVM: arm64: Expose S1PIE to guests
  KVM: arm64: nv: Clarify safety of allowing TLBI unmaps to reschedule
  KVM: arm64: nv: Punt stage-2 recycling to a vCPU request
  KVM: arm64: nv: Do not block when unmapping stage-2 if disallowed
  ...
2024-10-21 11:22:04 -07:00
..
stacktrace
vdso arm64: vDSO: Wire up getrandom() vDSO implementation 2024-09-13 17:28:36 +02:00
xen
acenv.h
acpi.h arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry 2024-06-28 18:38:30 +01:00
alternative-macros.h arm64: alternative: make alternative_has_cap_likely() VDSO compatible 2024-09-13 17:28:35 +02:00
alternative.h
apple_m1_pmu.h
arch_gicv3.h arm64: irqchip/gic-v3: Select priorities at boot time 2024-06-24 18:16:45 +01:00
arch_timer.h arm64/arch_timer: include <linux/percpu.h> 2024-06-12 15:44:19 +01:00
archrandom.h
arm-cci.h
arm_dsu_pmu.h
arm_pmuv3.h perf: arm_pmuv3: Add support for Armv9.4 PMU instruction counter 2024-08-16 13:09:12 +01:00
asm-bug.h arm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY 2024-05-21 19:08:24 +01:00
asm-extable.h arm64: start using 'asm goto' for put_user() 2024-06-19 12:33:38 -07:00
asm-offsets.h
asm-prototypes.h
asm-uaccess.h
asm_pointer_auth.h
assembler.h
atomic.h
atomic_ll_sc.h
atomic_lse.h
barrier.h
bitops.h
bitrev.h
boot.h
brk-imm.h
bug.h
cache.h
cacheflush.h mm: remove page_mapping() 2024-07-03 19:29:59 -07:00
checksum.h
clocksource.h
cmpxchg.h
compat.h
compiler.h
cpu.h
cpu_ops.h
cpucaps.h arm64: errata: Unify speculative SSBS errata logic 2024-06-12 16:07:21 +01:00
cpufeature.h arm64: context switch POR_EL0 register 2024-09-04 12:52:18 +01:00
cpuidle.h
cputype.h arm64: cputype: Add Neoverse-N3 definitions 2024-10-01 12:46:54 +01:00
crash_reserve.h
current.h
daifflags.h
dcc.h
debug-monitors.h
device.h
dmi.h
efi.h
el2_setup.h Merge branch 'for-next/poe' into for-next/core 2024-09-12 13:43:41 +01:00
elf.h
esr.h ARM: 2024-09-16 07:38:18 +02:00
exception.h
exec.h
extable.h
fixmap.h
fpsimd.h arm64/sve: Remove unused declaration read_smcr_features() 2024-08-16 11:48:14 +01:00
fpsimdmacros.h
fpu.h arm64: implement ARCH_HAS_KERNEL_FPU_SUPPORT 2024-05-19 14:36:18 -07: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
gpr-num.h
hardirq.h
hugetlb.h mm: provide mm_struct and address to huge_ptep_get() 2024-07-12 15:52:15 -07:00
hw_breakpoint.h
hwcap.h arm64: enable the Permission Overlay Extension for EL0 2024-09-04 12:52:40 +01:00
hyp_image.h
hyperv-tlfs.h
hypervisor.h drivers/virt: pkvm: Add initial support for running as a protected guest 2024-08-30 16:30:41 +01:00
image.h
insn-def.h
insn.h
io.h arm64: mm: Add confidential computing hook to ioremap_prot() 2024-08-30 16:30:41 +01:00
irq.h
irq_work.h
irqflags.h
jump_label.h arm64: jump_label: Ensure patched jump_labels are visible to all CPUs 2024-08-02 15:07:01 +01:00
kasan.h
Kbuild arch, mm: move definition of node_data to generic code 2024-09-03 21:15:28 -07:00
kernel-pgtable.h
kexec.h
kfence.h
kgdb.h
kprobes.h
kvm_arm.h arm64: Add missing APTable and TCR_ELx.HPD masks 2024-08-30 12:04:19 +01:00
kvm_asm.h KVM: arm64: Shave a few bytes from the EL2 idmap code 2024-10-17 09:17:56 +01:00
kvm_emulate.h Merge branch kvm-arm64/nv-sve into kvmarm/next 2024-07-14 00:27:06 +00:00
kvm_host.h KVM: arm64: nv: Punt stage-2 recycling to a vCPU request 2024-10-08 10:40:27 +01:00
kvm_hyp.h KVM: arm64: Fix __pkvm_init_switch_pgd call ABI 2024-06-20 17:40:53 +00:00
kvm_mmu.h KVM: arm64: nv: Do not block when unmapping stage-2 if disallowed 2024-10-08 10:40:27 +01:00
kvm_mte.h
kvm_nested.h KVM: arm64: nv: Punt stage-2 recycling to a vCPU request 2024-10-08 10:40:27 +01:00
kvm_pgtable.h KVM: arm64: Move pagetable definitions to common header 2024-09-10 17:46:57 +01:00
kvm_pkvm.h KVM: arm64: Allocate memory mapped at hyp for host sve state in pKVM 2024-06-04 15:06:33 +01:00
kvm_ptrauth.h KVM: arm64: Tidying up PAuth code in KVM 2024-08-07 19:11:05 +00:00
kvm_ras.h
kvm_types.h
linkage.h
lse.h
mem_encrypt.h arm64: mm: Add top-level dispatcher for internal mem_encrypt API 2024-08-30 16:30:41 +01:00
memory.h arm64: Expose the end of the linear map in PHYSMEM_END 2024-09-04 16:39:58 +01:00
mman.h Random number generator updates for Linux 6.12-rc1. 2024-09-18 15:26:31 +02:00
mmu.h Merge branch 'for-next/poe' into for-next/core 2024-09-12 13:43:41 +01:00
mmu_context.h arm64: implement PKEYS support 2024-09-04 12:54:04 +01:00
module.h
module.lds.h
mshyperv.h
mte-def.h
mte-kasan.h
mte.h arm64: mte: Make mte_check_tfsr_*() conditional on KASAN instead of MTE 2024-06-12 16:01:57 +01:00
neon-intrinsics.h
neon.h
numa.h
page-def.h
page.h
paravirt.h
paravirt_api_clock.h
patching.h
pci.h
percpu.h
perf_event.h
pgalloc.h
pgtable-hwdef.h ARM: 2024-09-16 07:38:18 +02:00
pgtable-prot.h arm64: enable POE and PIE to coexist 2024-09-04 12:54:05 +01:00
pgtable-types.h
pgtable.h ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
pkeys.h arm64: pkeys: remove redundant WARN 2024-09-10 18:19:59 +01:00
pointer_auth.h
por.h arm64: implement PKEYS support 2024-09-04 12:54:04 +01:00
preempt.h
probes.h
proc-fns.h
processor.h Merge branch 'for-next/timers' into for-next/core 2024-09-12 13:44:03 +01:00
ptdump.h arm64: ptdump: Use the ptdump description from a local context 2024-09-10 21:32:51 +01:00
ptrace.h arm64: irqchip/gic-v3: Select priorities at boot time 2024-06-24 18:16:45 +01:00
pvclock-abi.h
runtime-const.h arm64: add 'runtime constant' support 2024-07-09 07:30:43 -07:00
rwonce.h
scs.h
sdei.h
seccomp.h arm64: rework compat syscall macros 2024-07-10 14:23:38 +02:00
sections.h
semihost.h
set_memory.h arm64: mm: Add top-level dispatcher for internal mem_encrypt API 2024-08-30 16:30:41 +01:00
setup.h
shmparam.h
signal.h
signal32.h
simd.h
smp.h arm64: implement raw_smp_processor_id() using thread_info 2024-06-12 15:44:19 +01:00
smp_plat.h
sparsemem.h
spectre.h
spinlock.h
spinlock_types.h
stack_pointer.h
stackprotector.h
stacktrace.h
stage2_pgtable.h
stat.h
string.h
suspend.h
sync_bitops.h
syscall.h
syscall_wrapper.h
sysreg.h ARM: 2024-09-16 07:38:18 +02:00
system_misc.h
thread_info.h arm64: Implement prctl(PR_{G,S}ET_TSC) 2024-08-27 13:38:56 +01:00
timex.h
tlb.h
tlbbatch.h
tlbflush.h
topology.h arch, mm: move definition of node_data to generic code 2024-09-03 21:15:28 -07:00
trans_pgd.h
traps.h arm64: handle PKEY/POE faults 2024-09-04 12:53:44 +01:00
uaccess.h arm64: uaccess: correct thinko in __get_mem_asm() 2024-08-14 17:51:11 +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: probes: Fix uprobes for big-endian kernels 2024-10-09 16:56:53 +01:00
vdso.h
vectors.h
vermagic.h
virt.h
vmalloc.h
vmap_stack.h
vncr_mapping.h KVM: arm64: Save/restore POE registers 2024-09-04 12:52:39 +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