aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/testing/selftests/powerpc/mm/prot_sao.c
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2020-09-01 22:45:17 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2020-09-01 22:47:02 +1000
commitfc1f178cdb31783ff37296ecae817a1045a1a513 (patch)
treecdfdcd3bf7bcfbb760594607a382151d271a916d /tools/testing/selftests/powerpc/mm/prot_sao.c
parentpowerpc/book3s64/radix: Fix boot failure with large amount of guest memory (diff)
downloadwireguard-linux-fc1f178cdb31783ff37296ecae817a1045a1a513.tar.xz
wireguard-linux-fc1f178cdb31783ff37296ecae817a1045a1a513.zip
selftests/powerpc: Skip PROT_SAO test in guests/LPARS
In commit 9b725a90a8f1 ("powerpc/64s: Disallow PROT_SAO in LPARs by default") PROT_SAO was disabled in guests/LPARs by default. So skip the test if we are running in a guest to avoid a spurious failure. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200901124653.523182-1-mpe@ellerman.id.au
Diffstat (limited to '')
-rw-r--r--tools/testing/selftests/powerpc/mm/prot_sao.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/testing/selftests/powerpc/mm/prot_sao.c b/tools/testing/selftests/powerpc/mm/prot_sao.c
index e0cf8ebbf8cd..30b71b1d78d5 100644
--- a/tools/testing/selftests/powerpc/mm/prot_sao.c
+++ b/tools/testing/selftests/powerpc/mm/prot_sao.c
@@ -7,6 +7,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
+#include <unistd.h>
#include <asm/cputable.h>
@@ -18,9 +19,13 @@ int test_prot_sao(void)
{
char *p;
- /* SAO was introduced in 2.06 and removed in 3.1 */
+ /*
+ * SAO was introduced in 2.06 and removed in 3.1. It's disabled in
+ * guests/LPARs by default, so also skip if we are running in a guest.
+ */
SKIP_IF(!have_hwcap(PPC_FEATURE_ARCH_2_06) ||
- have_hwcap2(PPC_FEATURE2_ARCH_3_1));
+ have_hwcap2(PPC_FEATURE2_ARCH_3_1) ||
+ access("/proc/device-tree/rtas/ibm,hypertas-functions", F_OK) == 0);
/*
* Ensure we can ask for PROT_SAO.