mirror-linux/arch/loongarch/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
..
vdso LoongArch: vDSO: Wire up getrandom() vDSO implementation 2024-09-13 17:28:35 +02:00
Kbuild LoongArch: Revert qspinlock to test-and-set simple lock on VM 2024-09-11 23:26:32 +08:00
acenv.h
acpi.h LoongArch: Give a chance to build with !CONFIG_SMP 2024-05-14 12:24:18 +08:00
addrspace.h LoongArch: Add writecombine support for DMW-based ioremap() 2024-07-20 22:40:59 +08:00
alternative-asm.h LoongArch: Add alternative runtime patching mechanism 2022-12-14 08:36:11 +08:00
alternative.h LoongArch: Add alternative runtime patching mechanism 2022-12-14 08:36:11 +08:00
asm-extable.h LoongArch: BPF: Add BPF exception tables 2022-12-14 08:36:11 +08:00
asm-offsets.h
asm-prototypes.h LoongArch: Select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 2024-05-14 12:24:18 +08:00
asm.h LoongArch: Mark some assembler symbols as non-kprobe-able 2023-02-25 22:12:17 +08:00
asmmacro.h LoongArch: Add support for relocating the kernel with RELR relocation 2024-07-20 22:41:07 +08:00
atomic.h LoongArch: Relax memory ordering for atomic operations 2023-11-08 14:12:15 +08:00
barrier.h LoongArch: Support dbar with different hints 2023-06-29 20:58:44 +08:00
bitops.h
bitrev.h
bootinfo.h LoongArch: Let cores_io_master cover the largest NR_CPUS 2024-01-17 12:43:08 +08:00
branch.h
bug.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
cache.h
cacheflush.h LoongArch: Remove superfluous flush_dcache_page() definition 2024-03-19 15:50:34 +08:00
cacheops.h
checksum.h LoongArch: Add checksum optimization for 64-bit system 2023-05-01 17:19:43 +08:00
clocksource.h
cmpxchg.h locking/arch: Rename all internal __xchg() names to __arch_xchg() 2023-04-29 09:08:44 +02:00
cpu-features.h LoongArch: Architectural preparation for AVEC irqchip 2024-08-23 20:40:27 +02:00
cpu-info.h LoongArch: Add SMT (Simultaneous Multi-Threading) support 2023-06-29 20:58:43 +08:00
cpu.h LoongArch: Architectural preparation for AVEC irqchip 2024-08-23 20:40:27 +02: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
efi.h efi/loongarch: Directly position the loaded image file 2023-12-19 11:16:37 +01:00
elf.h LoongArch: Fix and simplify fcsr initialization on execve() 2024-01-17 12:43:08 +08:00
entry-common.h
exception.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
exec.h
extable.h LoongArch: BPF: Add BPF exception tables 2022-12-14 08:36:11 +08:00
fixmap.h
fpregdef.h LoongArch: Prepare for assemblers with proper FCSR class support 2023-06-29 20:58:43 +08:00
fpu.h LoongArch: 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 LoongArch: extable: Add a dedicated uaccess handler 2022-12-14 08:36:11 +08:00
gpr-num.h LoongArch: extable: Also recognize ABI names of registers 2023-06-29 20:58:43 +08:00
hardirq.h LoongArch: Architectural preparation for AVEC irqchip 2024-08-23 20:40:27 +02:00
hugetlb.h LoongArch: Use accessors to page table entries instead of direct dereference 2024-08-07 17:37:11 +08:00
hw_breakpoint.h LoongArch: Trigger user-space watchpoints correctly 2024-06-21 10:18:40 +08:00
hw_irq.h LoongArch: Define ARCH_IRQ_INIT_FLAGS as IRQ_NOPROBE 2024-08-26 23:11:32 +08:00
idle.h
inst.h LoongArch: Make the users of larch_insn_gen_break() constant 2024-07-20 22:41:07 +08:00
io.h LoongArch: Add writecombine support for DMW-based ioremap() 2024-07-20 22:40:59 +08:00
irq.h irqchip/loongarch-avec: Add AVEC irqchip support 2024-08-23 20:40:27 +02:00
irq_regs.h
irq_work.h LoongArch: Add irq_work support via self IPIs 2024-07-20 22:40:58 +08:00
irqflags.h
jump_label.h work around gcc bugs with 'asm goto' with outputs 2024-02-09 15:57:48 -08:00
kasan.h LoongArch: Don't inline kasan_mem_to_shadow()/kasan_shadow_to_mem() 2023-09-20 14:26:29 +08:00
kdebug.h LoongArch: Remove five DIE_* definitions in kdebug.h 2023-06-29 20:58:44 +08:00
kexec.h LoongArch: Add kexec support 2022-10-12 16:36:19 +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 LoongArch: Use larch_insn_gen_break() for kprobes 2023-06-29 20:58:44 +08:00
kvm_csr.h LoongArch: KVM: Add PMU support for guest 2024-09-12 20:53:40 +08:00
kvm_host.h LoongArch: KVM: Enable paravirt feature control from VMM 2024-09-12 20:53:40 +08:00
kvm_mmu.h LoongArch: KVM: Implement kvm mmu operations 2023-10-02 10:01:28 +08:00
kvm_para.h LoongArch: KVM: Implement function kvm_para_has_feature() 2024-09-12 22:56:14 +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: Enable paravirt feature control from VMM 2024-09-12 20:53:40 +08:00
lbt.h LoongArch: Add Loongson Binary Translation (LBT) extension support 2023-09-06 22:53:55 +08:00
linkage.h LoongArch: Use SYM_CODE_* to annotate exception handlers 2023-10-18 08:42:52 +08:00
local.h locking/local, arch: Rewrite local_add_unless() as a static inline function 2023-10-04 11:38:11 +02:00
loongarch.h Updates for the interrupt subsystem: 2024-09-17 07:09:17 +02:00
loongson.h LoongArch: Add suspend (ACPI S3) support 2022-12-14 08:41:53 +08:00
mmu.h
mmu_context.h
mmzone.h LoongArch: Use static defined zero page rather than allocated 2023-09-06 22:53:10 +08:00
module.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
module.lds.h LoongArch: module: set section addresses to 0x0 2023-04-18 19:38:58 +08:00
numa.h LoongArch: Add all CPUs enabled by fdt to NUMA node 0 2024-06-03 15:45:53 +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: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
page.h LoongArch: Make {virt, phys, page, pfn} translation work with KFENCE 2024-04-10 21:08:51 +08:00
paravirt.h LoongArch: Revert qspinlock to test-and-set simple lock on VM 2024-09-11 23:26:32 +08:00
paravirt_api_clock.h LoongArch: KVM: Add PV IPI support on guest side 2024-05-06 22:00:47 +08:00
pci.h
percpu.h LoongArch: Change __my_cpu_offset definition to avoid mis-optimization 2024-03-19 15:50:34 +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 mm: add statistics for PUD level pagetable 2023-10-06 14:44:10 -07:00
pgtable-bits.h LoongArch: Add ARCH_HAS_PTE_DEVMAP support 2024-07-20 22:40:59 +08:00
pgtable.h LoongArch: Use accessors to page table entries instead of direct dereference 2024-08-07 17:37:11 +08:00
prefetch.h
processor.h LoongArch: Add Loongson Binary Translation (LBT) extension support 2023-09-06 22:53:55 +08:00
ptrace.h LoongArch: Add identifier names to arguments of die() declaration 2023-08-25 23:40:26 +08:00
qspinlock.h LoongArch: Revert qspinlock to test-and-set simple lock on VM 2024-09-11 23:26:32 +08:00
regdef.h
seccomp.h
serial.h
setup.h LoongArch: Add support for relocating the kernel with RELR relocation 2024-07-20 22:41:07 +08:00
smp.h LoongArch: Architectural preparation for AVEC irqchip 2024-08-23 20:40:27 +02:00
sparsemem.h LoongArch: add sparse memory vmemmap support 2022-12-11 18:12:12 -08:00
spinlock.h
spinlock_types.h
stackframe.h LoongArch: Add writecombine support for DMW-based ioremap() 2024-07-20 22:40:59 +08:00
stackprotector.h LoongArch: Add basic STACKPROTECTOR support 2022-12-14 08:41:53 +08:00
stacktrace.h
string.h LoongArch: Add KASAN (Kernel Address Sanitizer) support 2023-09-06 22:54:16 +08:00
suspend.h LoongArch: Export some arch-specific pm interfaces 2023-06-29 20:58:44 +08:00
switch_to.h LoongArch: Add Loongson Binary Translation (LBT) extension support 2023-09-06 22:53:55 +08:00
syscall.h
thread_info.h LoongArch: Add kernel livepatching support 2024-03-11 22:23:47 +08:00
time.h LoongArch: Add suspend (ACPI S3) support 2022-12-14 08:41:53 +08:00
timex.h
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
types.h
uaccess.h LoongArch: Use la.pcrel instead of la.abs when it's trivially possible 2023-02-25 22:12:16 +08:00
unistd.h LoongArch: Define __ARCH_WANT_NEW_STAT in unistd.h 2024-07-20 22:40:58 +08:00
unwind.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
unwind_hints.h LoongArch: Add ORC stack unwinder support 2024-03-11 22:23:47 +08:00
uprobes.h LoongArch: Make the users of larch_insn_gen_break() constant 2024-07-20 22:41:07 +08:00
vdso.h
vermagic.h
video.h arch: Rename fbdev header and source files 2024-05-03 17:07:50 +02:00
vmalloc.h
xor.h LoongArch: Add SIMD-optimized XOR routines 2023-09-06 22:53:55 +08:00
xor_simd.h LoongArch: Add SIMD-optimized XOR routines 2023-09-06 22:53:55 +08:00