Download raw body.
powerpc64: filling in a few more HWCAP flags
> Date: Mon, 20 Jul 2026 21:41:49 -0400
> From: George Koehler <kernigh@gmail.com>
>
> I'm looking for an ok on this diff, which sets elf_aux_info(3) flags
> for Power ISA 2.06, 2.07, isel, and crypto. The diff is the same as
> I sent last week (12 Jul).
>
> libgcrypt in ports sees the flags and enables crypto acceleration.
> SHA256 is slightly faster, and AES128 CBC encryption is over twice as
> fast, in accelerated libgcrypt (versus unaccelerated LibreSSL). nss
> and nettle didn't accelerate and will need a patch to start calling
> elf_aux_info. LibreSSL will need some asm.
>
> ok?
ok kettenis@
> Index: arch/powerpc/include/elf.h
> ===================================================================
> RCS file: /cvs/src/sys/arch/powerpc/include/elf.h,v
> diff -u -p -r1.3 elf.h
> --- arch/powerpc/include/elf.h 19 Feb 2025 18:25:03 -0000 1.3
> +++ arch/powerpc/include/elf.h 13 Jul 2026 00:32:09 -0000
> @@ -54,6 +54,7 @@ extern unsigned long hwcap2;
> #define PPC_FEATURE2_ISEL 0x08000000
> #define PPC_FEATURE2_TAR 0x04000000
> #define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000
> +#define PPC_FEATURE2_VEC_CRYPTO 0x02000000
> #define PPC_FEATURE2_HTM_NOSC 0x01000000
> #define PPC_FEATURE2_ARCH_3_00 0x00800000
> #define PPC_FEATURE2_HAS_IEEE128 0x00400000
> Index: arch/powerpc64/include/elf.h
> ===================================================================
> RCS file: /cvs/src/sys/arch/powerpc64/include/elf.h,v
> diff -u -p -r1.3 elf.h
> --- arch/powerpc64/include/elf.h 19 Feb 2025 18:25:03 -0000 1.3
> +++ arch/powerpc64/include/elf.h 13 Jul 2026 00:32:09 -0000
> @@ -54,6 +54,7 @@ extern unsigned long hwcap2;
> #define PPC_FEATURE2_ISEL 0x08000000
> #define PPC_FEATURE2_TAR 0x04000000
> #define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000
> +#define PPC_FEATURE2_VEC_CRYPTO 0x02000000
> #define PPC_FEATURE2_HTM_NOSC 0x01000000
> #define PPC_FEATURE2_ARCH_3_00 0x00800000
> #define PPC_FEATURE2_HAS_IEEE128 0x00400000
> Index: arch/powerpc64/powerpc64/cpu.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/powerpc64/powerpc64/cpu.c,v
> diff -u -p -r1.30 cpu.c
> --- arch/powerpc64/powerpc64/cpu.c 28 Nov 2024 18:54:36 -0000 1.30
> +++ arch/powerpc64/powerpc64/cpu.c 13 Jul 2026 00:32:09 -0000
> @@ -224,9 +224,11 @@ cpu_init_features(void)
> {
> uint32_t pvr = mfpvr();
>
> - hwcap = PPC_FEATURE_32 | PPC_FEATURE_64 | PPC_FEATURE_HAS_FPU |
> - PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_ALTIVEC |
> - PPC_FEATURE_HAS_VSX;
> + hwcap = PPC_FEATURE_32 | PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC |
> + PPC_FEATURE_HAS_FPU | PPC_FEATURE_HAS_MMU |
> + PPC_FEATURE_ARCH_2_06 | PPC_FEATURE_HAS_VSX;
> + hwcap2 = PPC_FEATURE2_ARCH_2_07 | PPC_FEATURE2_ISEL |
> + PPC_FEATURE2_VEC_CRYPTO;
>
> switch (CPU_VERSION(pvr)) {
> case CPU_IBMPOWER9:
>
>
powerpc64: filling in a few more HWCAP flags