Tag: openpower

通过getauxval检测Power8内核加密?

我在GCC112上,这是一台运行Linux的小端Power8机器。 Power8具有内核加密function,可提供AES,SHA和一些其他有用的function。 我正在尝试使用getauxval确定运行时function的可用性。 用例是为“最小”function的机器构建的发行版,我们需要在运行时交换更快的function。 hwcaps.h的转储如下所示,但缺少Power8,AES,SHA等的特定位。 但是,我相信Power8是ISA 2.07,而ISA 2.07的位是PPC_FEATURE2_ARCH_2_07 。 我不清楚的是,Power8内核加密可选,就像ARMv8下ARM的加密一样。 我找不到明确说明要求的文档,而且我没有OpenPower的成员资格来访问ISA文档。 (另一种可能性是,它被陈述但我在文档中错过了它)。 是否可以使用getauxval查询function的运行时环境? 如果没有,那么我们如何在运行时确定function可用性? CPU探测是唯一可用的替代方案吗? 也许更一般地说,我们如何确定Power6,Power7和Power8运行时环境? auxv.h大多是空的。 头文件包含hwcaps.h 。 $ cat /usr/include/bits/hwcap.h … /* The bit numbers must match those in the kernel’s asm/cputable.h. */ /* Feature definitions in AT_HWCAP. */ #define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */ #define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */ […]