7481cad474
This is based on the count_instructions test. However this one also counts the number of failed stcx's, and in conjunction with knowing the size of the stcx loop, can calculate the total number of instructions executed even in the face of non-deterministic stcx failures. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200426114410.3917383-1-mpe@ellerman.id.au
51 lines
1.4 KiB
Makefile
51 lines
1.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
noarg:
|
|
$(MAKE) -C ../
|
|
|
|
TEST_GEN_PROGS := count_instructions count_stcx_fail l3_bank_test per_event_excludes
|
|
EXTRA_SOURCES := ../harness.c event.c lib.c ../utils.c
|
|
|
|
top_srcdir = ../../../../..
|
|
include ../../lib.mk
|
|
|
|
all: $(TEST_GEN_PROGS) ebb
|
|
|
|
$(TEST_GEN_PROGS): $(EXTRA_SOURCES)
|
|
|
|
# loop.S can only be built 64-bit
|
|
$(OUTPUT)/count_instructions: CFLAGS += -m64
|
|
$(OUTPUT)/count_instructions: loop.S count_instructions.c $(EXTRA_SOURCES)
|
|
|
|
$(OUTPUT)/count_stcx_fail: CFLAGS += -m64
|
|
$(OUTPUT)/count_stcx_fail: loop.S $(EXTRA_SOURCES)
|
|
|
|
|
|
$(OUTPUT)/per_event_excludes: ../utils.c
|
|
|
|
DEFAULT_RUN_TESTS := $(RUN_TESTS)
|
|
override define RUN_TESTS
|
|
$(DEFAULT_RUN_TESTS)
|
|
TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
|
|
endef
|
|
|
|
DEFAULT_EMIT_TESTS := $(EMIT_TESTS)
|
|
override define EMIT_TESTS
|
|
$(DEFAULT_EMIT_TESTS)
|
|
TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
|
|
endef
|
|
|
|
DEFAULT_INSTALL_RULE := $(INSTALL_RULE)
|
|
override define INSTALL_RULE
|
|
$(DEFAULT_INSTALL_RULE)
|
|
TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
|
|
endef
|
|
|
|
clean:
|
|
$(RM) $(TEST_GEN_PROGS) $(OUTPUT)/loop.o
|
|
TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
|
|
|
|
ebb:
|
|
TARGET=$@; BUILD_TARGET=$$OUTPUT/$$TARGET; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $$TARGET all
|
|
|
|
.PHONY: all run_tests clean ebb
|