diff options
Diffstat (limited to 'tools/testing')
| -rw-r--r-- | tools/testing/selftests/powerpc/mm/subpage_prot.c | 14 | ||||
| -rw-r--r-- | tools/testing/selftests/powerpc/tm/Makefile | 2 | ||||
| -rw-r--r-- | tools/testing/selftests/powerpc/tm/tm-trap.c | 2 |
3 files changed, 17 insertions, 1 deletions
diff --git a/tools/testing/selftests/powerpc/mm/subpage_prot.c b/tools/testing/selftests/powerpc/mm/subpage_prot.c index 35ade7406dcd..3ae77ba93208 100644 --- a/tools/testing/selftests/powerpc/mm/subpage_prot.c +++ b/tools/testing/selftests/powerpc/mm/subpage_prot.c | |||
| @@ -135,6 +135,16 @@ static int run_test(void *addr, unsigned long size) | |||
| 135 | return 0; | 135 | return 0; |
| 136 | } | 136 | } |
| 137 | 137 | ||
| 138 | static int syscall_available(void) | ||
| 139 | { | ||
| 140 | int rc; | ||
| 141 | |||
| 142 | errno = 0; | ||
| 143 | rc = syscall(__NR_subpage_prot, 0, 0, 0); | ||
| 144 | |||
| 145 | return rc == 0 || (errno != ENOENT && errno != ENOSYS); | ||
| 146 | } | ||
| 147 | |||
| 138 | int test_anon(void) | 148 | int test_anon(void) |
| 139 | { | 149 | { |
| 140 | unsigned long align; | 150 | unsigned long align; |
| @@ -145,6 +155,8 @@ int test_anon(void) | |||
| 145 | void *mallocblock; | 155 | void *mallocblock; |
| 146 | unsigned long mallocsize; | 156 | unsigned long mallocsize; |
| 147 | 157 | ||
| 158 | SKIP_IF(!syscall_available()); | ||
| 159 | |||
| 148 | if (getpagesize() != 0x10000) { | 160 | if (getpagesize() != 0x10000) { |
| 149 | fprintf(stderr, "Kernel page size must be 64K!\n"); | 161 | fprintf(stderr, "Kernel page size must be 64K!\n"); |
| 150 | return 1; | 162 | return 1; |
| @@ -180,6 +192,8 @@ int test_file(void) | |||
| 180 | off_t filesize; | 192 | off_t filesize; |
| 181 | int fd; | 193 | int fd; |
| 182 | 194 | ||
| 195 | SKIP_IF(!syscall_available()); | ||
| 196 | |||
| 183 | fd = open(file_name, O_RDWR); | 197 | fd = open(file_name, O_RDWR); |
| 184 | if (fd == -1) { | 198 | if (fd == -1) { |
| 185 | perror("failed to open file"); | 199 | perror("failed to open file"); |
diff --git a/tools/testing/selftests/powerpc/tm/Makefile b/tools/testing/selftests/powerpc/tm/Makefile index 1c9e5d0a0491..c0e45d2dde25 100644 --- a/tools/testing/selftests/powerpc/tm/Makefile +++ b/tools/testing/selftests/powerpc/tm/Makefile | |||
| @@ -16,7 +16,7 @@ $(OUTPUT)/tm-syscall: tm-syscall-asm.S | |||
| 16 | $(OUTPUT)/tm-syscall: CFLAGS += -I../../../../../usr/include | 16 | $(OUTPUT)/tm-syscall: CFLAGS += -I../../../../../usr/include |
| 17 | $(OUTPUT)/tm-tmspr: CFLAGS += -pthread | 17 | $(OUTPUT)/tm-tmspr: CFLAGS += -pthread |
| 18 | $(OUTPUT)/tm-vmx-unavail: CFLAGS += -pthread -m64 | 18 | $(OUTPUT)/tm-vmx-unavail: CFLAGS += -pthread -m64 |
| 19 | $(OUTPUT)/tm-resched-dscr: ../pmu/lib.o | 19 | $(OUTPUT)/tm-resched-dscr: ../pmu/lib.c |
| 20 | $(OUTPUT)/tm-unavailable: CFLAGS += -O0 -pthread -m64 -Wno-error=uninitialized -mvsx | 20 | $(OUTPUT)/tm-unavailable: CFLAGS += -O0 -pthread -m64 -Wno-error=uninitialized -mvsx |
| 21 | $(OUTPUT)/tm-trap: CFLAGS += -O0 -pthread -m64 | 21 | $(OUTPUT)/tm-trap: CFLAGS += -O0 -pthread -m64 |
| 22 | 22 | ||
diff --git a/tools/testing/selftests/powerpc/tm/tm-trap.c b/tools/testing/selftests/powerpc/tm/tm-trap.c index 5d92c23ee6cb..179d592f0073 100644 --- a/tools/testing/selftests/powerpc/tm/tm-trap.c +++ b/tools/testing/selftests/powerpc/tm/tm-trap.c | |||
| @@ -255,6 +255,8 @@ int tm_trap_test(void) | |||
| 255 | 255 | ||
| 256 | struct sigaction trap_sa; | 256 | struct sigaction trap_sa; |
| 257 | 257 | ||
| 258 | SKIP_IF(!have_htm()); | ||
| 259 | |||
| 258 | trap_sa.sa_flags = SA_SIGINFO; | 260 | trap_sa.sa_flags = SA_SIGINFO; |
| 259 | trap_sa.sa_sigaction = trap_signal_handler; | 261 | trap_sa.sa_sigaction = trap_signal_handler; |
| 260 | sigaction(SIGTRAP, &trap_sa, NULL); | 262 | sigaction(SIGTRAP, &trap_sa, NULL); |
