powerpc: Fix tst-set_ppr.c on 32-bit POWER7
Commit Message
Instruction mfppr32 is categorized as phased-in in the POWER ISA 2.06,
which means that servers do not implement it.
It started to be available in POWER ISA 2.07.
2018-03-02 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
* sysdeps/powerpc/tst-set_ppr.c (do_test): Test for
PPC_FEATURE2_ARCH_2_07 before trying to read the PPR32 on a
POWER7 system.
Signed-off-by: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
---
sysdeps/powerpc/tst-set_ppr.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
Comments
On 03/03/2018 02:09 AM, Tulio Magno Quites Machado Filho wrote:
> Instruction mfppr32 is categorized as phased-in in the POWER ISA 2.06,
> which means that servers do not implement it.
> It started to be available in POWER ISA 2.07.
>
> 2018-03-02 Tulio Magno Quites Machado Filho<tuliom@linux.vnet.ibm.com>
>
> * sysdeps/powerpc/tst-set_ppr.c (do_test): Test for
> PPC_FEATURE2_ARCH_2_07 before trying to read the PPR32 on a
> POWER7 system.
>
> Signed-off-by: Tulio Magno Quites Machado Filho<tuliom@linux.vnet.ibm.com>
LGTM.
@@ -73,13 +73,21 @@ static int
do_test (void)
{
/* Check for the minimum required Power ISA to run these tests. */
+#ifdef __powerpc64__
if ((getauxval (AT_HWCAP) & PPC_FEATURE_ARCH_2_06) == 0)
{
printf ("Requires an environment that implements the Power ISA version"
" 2.06 or greater.\n");
return EXIT_UNSUPPORTED;
}
-
+#else
+ if ((getauxval (AT_HWCAP2) & PPC_FEATURE2_ARCH_2_07) == 0)
+ {
+ printf ("Requires an environment that implements the Power ISA version"
+ " 2.07 or greater.\n");
+ return EXIT_UNSUPPORTED;
+ }
+#endif
uint8_t rc = 0;
#ifdef _ARCH_PWR8