mirror-linux/arch/arm64/include/asm
Linus Torvalds 4a39ac5b7d Random number generator updates for Linux 6.12-rc1.
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEq5lC5tSkz8NBJiCnSfxwEqXeA64FAmboHyUACgkQSfxwEqXe
 A66wGQ/8DRIjBllwf1YuTWi4T6OcfoYxK6C9bXO6QPP5gzdTyFE9pvDuuPyad6+F
 FR086ydTHeodemz1dFiQCL9etcUaxo4+6FRKyXKF9/1ezGbTA5nJd0/fKJGlqbI2
 EoA4LNYHOsvCZk1BTpxRNWKeKphU9zQgQdSigy6Rx8p269UkGmIZjD1PtUc+vqfR
 Ox0dK/Cswyo236fRi5HzaoMntWI4vXgLfxty0e1R7tfbstkCxSKWAON1lo3uHgkA
 0HpJXWgWXAPt9gp++Fs/jGNpOqbt6IaKeV5f7CjYfvWhlFjNMhQxF+PbxknaZn/k
 K0gQsItOIoFTfbQdLDIdfnj9awMdLW8FB2A1WXHpNr9pVC4ickPb1bMTF/XRd0tm
 wBNu4BL0gklx6017KZg5uINMIduzMLGkBLRFiBW0en/sZMLTJTMg58BJn0CL1Pmh
 1ll/Q3ToSMHalvxU2OnJagTwh4fzzCEpK/hW9WiDO4jSCsMXyX0clinrCjNo1JfA
 tqgTWEy3uGtg+dg0Du9VD5JASbNQSJ0ZRnas5+qz10IRWWfTolrsk61dliXLQ4Sv
 tSryDtsE2znwJF1Krh4aHNSSVhD5/l/8QaXkf9aZc/kkaHxwsx83FuWnqw6nMz8c
 l4B2MbH0jUgsEqEyx+0iwk+FXE9kZKWumTVLjFZ6bRnq3q+uq0U=
 =mWCw
 -----END PGP SIGNATURE-----

Merge tag 'random-6.12-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random

Pull random number generator updates from Jason Donenfeld:
 "Originally I'd planned on sending each of the vDSO getrandom()
  architecture ports to their respective arch trees. But as we started
  to work on this, we found lots of interesting issues in the shared
  code and infrastructure, the fixes for which the various archs needed
  to base their work.

  So in the end, this turned into a nice collaborative effort fixing up
  issues and porting to 5 new architectures -- arm64, powerpc64,
  powerpc32, s390x, and loongarch64 -- with everybody pitching in and
  commenting on each other's code. It was a fun development cycle.

  This contains:

   - Numerous fixups to the vDSO selftest infrastructure, getting it
     running successfully on more platforms, and fixing bugs in it.

   - Additions to the vDSO getrandom & chacha selftests. Basically every
     time manual review unearthed a bug in a revision of an arch patch,
     or an ambiguity, the tests were augmented.

     By the time the last arch was submitted for review, s390x, v1 of
     the series was essentially fine right out of the gate.

   - Fixes to the the generic C implementation of vDSO getrandom, to
     build and run successfully on all archs, decoupling it from
     assumptions we had (unintentionally) made on x86_64 that didn't
     carry through to the other architectures.

   - Port of vDSO getrandom to LoongArch64, from Xi Ruoyao and acked by
     Huacai Chen.

   - Port of vDSO getrandom to ARM64, from Adhemerval Zanella and acked
     by Will Deacon.

   - Port of vDSO getrandom to PowerPC, in both 32-bit and 64-bit
     varieties, from Christophe Leroy and acked by Michael Ellerman.

   - Port of vDSO getrandom to S390X from Heiko Carstens, the arch
     maintainer.

  While it'd be natural for there to be things to fix up over the course
  of the development cycle, these patches got a decent amount of review
  from a fairly diverse crew of folks on the mailing lists, and, for the
  most part, they've been cooking in linux-next, which has been helpful
  for ironing out build issues.

  In terms of architectures, I think that mostly takes care of the
  important 64-bit archs with hardware still being produced and running
  production loads in settings where vDSO getrandom is likely to help.

  Arguably there's still RISC-V left, and we'll see for 6.13 whether
  they find it useful and submit a port"

* tag 'random-6.12-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random: (47 commits)
  selftests: vDSO: check cpu caps before running chacha test
  s390/vdso: Wire up getrandom() vdso implementation
  s390/vdso: Move vdso symbol handling to separate header file
  s390/vdso: Allow alternatives in vdso code
  s390/module: Provide find_section() helper
  s390/facility: Let test_facility() generate static branch if possible
  s390/alternatives: Remove ALT_FACILITY_EARLY
  s390/facility: Disable compile time optimization for decompressor code
  selftests: vDSO: fix vdso_config for s390
  selftests: vDSO: fix ELF hash table entry size for s390x
  powerpc/vdso: Wire up getrandom() vDSO implementation on VDSO64
  powerpc/vdso: Wire up getrandom() vDSO implementation on VDSO32
  powerpc/vdso: Refactor CFLAGS for CVDSO build
  powerpc/vdso32: Add crtsavres
  mm: Define VM_DROPPABLE for powerpc/32
  powerpc/vdso: Fix VDSO data access when running in a non-root time namespace
  selftests: vDSO: don't include generated headers for chacha test
  arm64: vDSO: Wire up getrandom() vDSO implementation
  arm64: alternative: make alternative_has_cap_likely() VDSO compatible
  selftests: vDSO: also test counter in vdso_test_chacha
  ...
2024-09-18 15:26:31 +02:00
..
stacktrace arm64: stacktrace: factor out kernel unwind state 2023-12-11 11:42:55 +00:00
vdso arm64: vDSO: Wire up getrandom() vDSO implementation 2024-09-13 17:28:36 +02:00
xen arm/xen: Introduce xen_setup_dma_ops() 2022-06-06 08:54:33 +02:00
Kbuild arm64: generate 64-bit syscall.tbl 2024-07-10 14:23:38 +02:00
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 Merge branches 'for-next/kpti', 'for-next/missing-proto-warn', 'for-next/iss2-decode', 'for-next/kselftest', 'for-next/misc', 'for-next/feat_mops', 'for-next/module-alloc', 'for-next/sysreg', 'for-next/cpucap', 'for-next/acpi', 'for-next/kdump', 'for-next/acpi-doc', 'for-next/doc' and 'for-next/tpidr2-fix', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2023-06-23 18:32:20 +01:00
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 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 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 arm64/mm: remove now-superfluous ISBs from TTBR writes 2023-06-15 17:47:54 +01: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/perf' into for-next/core 2024-05-09 15:56:10 +01: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 arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
barrier.h arm64: barrier: Restore spec_bar() macro 2024-05-10 12:21:56 +01:00
bitops.h
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
cache.h arm64: Kill detection of VPIPT i-cache policy 2023-12-05 11:38:03 +00:00
cacheflush.h mm: remove page_mapping() 2024-07-03 19:29:59 -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 S390: 2024-03-15 13:03:13 -07:00
cpu_ops.h arm64: cpuidle: remove generic cpuidle support 2022-06-23 14:19:33 +01:00
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 arm64: cpuidle: remove generic cpuidle support 2022-06-23 14:19:33 +01:00
cputype.h arm64: errata: Enable the AC03_CPU_38 workaround for ampere1a 2024-08-30 14:22:12 +01:00
crash_reserve.h kexec: split crashkernel reservation code out from crash_core.c 2024-02-23 17:48:21 -08:00
current.h
daifflags.h
dcc.h
debug-monitors.h arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step 2023-04-14 13:39:47 +01:00
device.h
dmi.h
efi.h Merge patch series "riscv: Introduce KASLR" 2023-09-08 11:25:13 -07:00
el2_setup.h Merge branch 'for-next/poe' into for-next/core 2024-09-12 13:43:41 +01:00
elf.h arm64: remove unnecessary ifdefs around is_compat_task() 2024-02-28 18:01:23 +00:00
esr.h ARM: 2024-09-16 07:38:18 +02:00
exception.h arm64: Move do_notify_resume() to entry-common.c 2024-02-20 18:12:13 +00:00
exec.h
extable.h
fixmap.h arm64: mm: Add 5 level paging support to fixmap and swapper handling 2024-02-16 12:42:40 +00:00
fpsimd.h arm64/sve: Remove unused declaration read_smcr_features() 2024-08-16 11:48:14 +01:00
fpsimdmacros.h arm64: Delete the zero_za macro 2023-12-11 13:18:06 +00:00
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 arm64/hw_breakpoint: Directly use ESR_ELx_WNR for an watchpoint exception 2024-03-01 17:36:51 +00:00
hwcap.h arm64: enable the Permission Overlay Extension for EL0 2024-09-04 12:52:40 +01:00
hyp_image.h
hyperv-tlfs.h hyperv-tlfs: Rename some HV_REGISTER_* defines for consistency 2024-03-18 04:58:49 +00:00
hypervisor.h drivers/virt: pkvm: Add initial support for running as a protected guest 2024-08-30 16:30:41 +01:00
image.h arm64: Fix dangling references to Documentation/arm64 2023-06-21 08:53:31 -06:00
insn-def.h
insn.h bpf, arm64: inline bpf_get_smp_processor_id() helper 2024-05-12 16:54:34 -07:00
io.h arm64: mm: Add confidential computing hook to ioremap_prot() 2024-08-30 16:30:41 +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: jump_label: Ensure patched jump_labels are visible to all CPUs 2024-08-02 15:07:01 +01:00
kasan.h arm64: mm: omit redundant remap of kernel image 2024-02-16 12:42:35 +00:00
kernel-pgtable.h arm64: kernel: Create initial ID map from C code 2024-02-16 12:42:34 +00:00
kexec.h arm64, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:23 -08:00
kfence.h mm,kfence: decouple kfence from page granularity mapping judgement 2023-03-27 16:15:20 +01:00
kgdb.h
kprobes.h kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
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: nv: Add emulation of AT S12E{0,1}{R,W} 2024-08-30 12:04:20 +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 ARM: 2024-09-16 07:38:18 +02: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: Register ptdump with debugfs on guest creation 2024-09-10 21:32:51 +01:00
kvm_mte.h
kvm_nested.h KVM: arm64: nv: Make ps_to_output_size() generally available 2024-08-30 12:04:20 +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 arm64: Extend support for CONFIG_FUNCTION_ALIGNMENT 2023-01-24 11:49:43 +00:00
lse.h arm64: Remove system_uses_lse_atomics() 2023-10-18 10:58:59 +01:00
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
mmzone.h
module.h arm64: Avoid cpus_have_const_cap() for ARM64_WORKAROUND_843419 2023-10-16 14:17:06 +01:00
module.lds.h arm64: module: mandate MODULE_PLTS 2023-06-06 17:39:05 +01:00
mshyperv.h hyperv-tlfs: Change prefix of generic HV_REGISTER_* MSRs to HV_MSR_* 2024-03-04 06:59:18 +00:00
mte-def.h
mte-kasan.h arm64: mte: rename TCO routines 2023-04-05 19:42:43 -07:00
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 arch: simplify architecture specific page size configuration 2024-03-06 19:29:03 +01:00
page.h mm: add vma_alloc_zeroed_movable_folio() 2023-02-02 22:33:18 -08:00
paravirt.h
paravirt_api_clock.h
patching.h arm64: patching: implement text_poke API 2024-02-28 13:44:47 -08:00
pci.h asm-generic: Add new pci.h and use it 2022-07-22 17:34:57 -05:00
percpu.h arch: Remove cmpxchg_double 2023-06-05 09:36:39 +02:00
perf_event.h arm64: perf: Move PMUv3 driver to drivers/perf 2023-03-27 14:01:18 +01:00
pgalloc.h arm64/mm: Use generic __pud_free() helper in pud_free() implementation 2024-03-01 15:25:45 +00:00
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 arm64: mm: Add definitions to support 5 levels of paging 2024-02-16 12:42:39 +00:00
pgtable.h arm64: implement PKEYS support 2024-09-04 12:54:04 +01: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: 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 arm64: head: Move early kernel mapping routines into C code 2024-02-16 12:42:33 +00:00
sdei.h arm64: sdei: abort running SDEI handlers during crash 2023-08-04 17:35:33 +01:00
seccomp.h arm64: rework compat syscall macros 2024-07-10 14:23:38 +02:00
sections.h
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 arm64: mm: Add top-level dispatcher for internal mem_encrypt API 2024-08-30 16:30:41 +01:00
setup.h arm64: kernel: Remove early fdt remap code 2024-02-16 12:42:29 +00:00
shmparam.h
signal.h
signal32.h
simd.h arm64: fpsimd: Drop unneeded 'busy' flag 2023-12-12 14:29:16 +00:00
smp.h arm64: implement raw_smp_processor_id() using thread_info 2024-06-12 15:44:19 +01:00
smp_plat.h
sparsemem.h mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDER 2024-01-08 15:27:15 -08:00
spectre.h arm64: Fix circular header dependency 2023-12-20 19:26:30 -05:00
spinlock.h
spinlock_types.h
stack_pointer.h
stackprotector.h stackprotector: actually use get_random_canary() 2022-11-18 02:18:10 +01:00
stacktrace.h arm64: efi: Account for the EFI runtime stack in stack unwinder 2023-01-16 15:27:31 +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
suspend.h
sync_bitops.h
syscall.h tracing: arm64: Avoid missing-prototype warnings 2023-07-12 12:06:04 -04:00
syscall_wrapper.h posix-timers: Get rid of [COMPAT_]SYS_NI() uses 2023-12-20 21:30:27 -08:00
sysreg.h ARM: 2024-09-16 07:38:18 +02:00
system_misc.h arm64: die(): pass 'err' as long 2022-09-16 12:17:03 +01:00
thread_info.h arm64: Implement prctl(PR_{G,S}ET_TSC) 2024-08-27 13:38:56 +01:00
timex.h
tlb.h arm64: mm: Add support for folding PUDs at runtime 2024-02-16 12:42:41 +00:00
tlbbatch.h arm64: support batched/deferred tlb shootdown during page reclamation/migration 2023-08-18 10:12:37 -07:00
tlbflush.h arm64: tlb: Allow range operation for MAX_TLBI_RANGE_PAGES 2024-04-11 11:42:57 +01:00
topology.h sched/cpufreq: Rename arch_update_thermal_pressure() => arch_update_hw_pressure() 2024-04-24 12:08:01 +02: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/uprobes: change the uprobe_opcode_t typedef to fix the sparse warning 2023-01-05 15:26:09 +00:00
vdso.h arm64: vdso32: Remove unused vdso32-offsets.h 2024-01-30 11:59:17 +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 KVM: arm64: Add is_pkvm_initialized() helper 2024-05-01 16:48:14 +01:00
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