Add test for real address or control memory address access error handling, using NX-GZIP engine. The error is injected by accessing the control memory address using illegal instruction, on successful handling the process attempting to access control memory address using illegal instruction receives SIGBUS. Signed-off-by: Ganesh Goudar <ganeshgr@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220107141428.67862-2-ganeshgr@linux.ibm.com
78 lines
1.6 KiB
Makefile
78 lines
1.6 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# Makefile for powerpc selftests
|
|
|
|
# ARCH can be overridden by the user for cross compiling
|
|
ARCH ?= $(shell uname -m)
|
|
ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
|
|
|
|
ifeq ($(ARCH),powerpc)
|
|
|
|
GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
|
|
|
|
CFLAGS := -std=gnu99 -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS)
|
|
|
|
export CFLAGS
|
|
|
|
SUB_DIRS = alignment \
|
|
benchmarks \
|
|
cache_shape \
|
|
copyloops \
|
|
dscr \
|
|
mm \
|
|
nx-gzip \
|
|
pmu \
|
|
signal \
|
|
primitives \
|
|
stringloops \
|
|
switch_endian \
|
|
syscalls \
|
|
tm \
|
|
eeh \
|
|
vphn \
|
|
math \
|
|
ptrace \
|
|
security \
|
|
mce
|
|
|
|
endif
|
|
|
|
all: $(SUB_DIRS)
|
|
|
|
$(SUB_DIRS):
|
|
BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all
|
|
|
|
include ../lib.mk
|
|
|
|
override define RUN_TESTS
|
|
@for TARGET in $(SUB_DIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$TARGET; \
|
|
$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
|
|
done;
|
|
endef
|
|
|
|
override define INSTALL_RULE
|
|
@for TARGET in $(SUB_DIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$TARGET; \
|
|
$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\
|
|
done;
|
|
endef
|
|
|
|
override define EMIT_TESTS
|
|
@for TARGET in $(SUB_DIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$TARGET; \
|
|
$(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\
|
|
done;
|
|
endef
|
|
|
|
override define CLEAN
|
|
@for TARGET in $(SUB_DIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$TARGET; \
|
|
$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
|
|
done;
|
|
rm -f tags
|
|
endef
|
|
|
|
tags:
|
|
find . -name '*.c' -o -name '*.h' | xargs ctags
|
|
|
|
.PHONY: tags $(SUB_DIRS)
|