1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyuninclude ../../../../../../scripts/Kbuild.include 3*4882a593Smuzhiyun 4*4882a593Smuzhiyunnoarg: 5*4882a593Smuzhiyun $(MAKE) -C ../../ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun# The EBB handler is 64-bit code and everything links against it 8*4882a593SmuzhiyunCFLAGS += -m64 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunTMPOUT = $(OUTPUT)/TMPDIR/ 11*4882a593Smuzhiyun# Toolchains may build PIE by default which breaks the assembly 12*4882a593Smuzhiyunno-pie-option := $(call try-run, echo 'int main() { return 0; }' | \ 13*4882a593Smuzhiyun $(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -no-pie -x c - -o "$$TMP", -no-pie) 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunLDFLAGS += $(no-pie-option) 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunTEST_GEN_PROGS := reg_access_test event_attributes_test cycles_test \ 18*4882a593Smuzhiyun cycles_with_freeze_test pmc56_overflow_test \ 19*4882a593Smuzhiyun ebb_vs_cpu_event_test cpu_event_vs_ebb_test \ 20*4882a593Smuzhiyun cpu_event_pinned_vs_ebb_test task_event_vs_ebb_test \ 21*4882a593Smuzhiyun task_event_pinned_vs_ebb_test multi_ebb_procs_test \ 22*4882a593Smuzhiyun multi_counter_test pmae_handling_test \ 23*4882a593Smuzhiyun close_clears_pmcc_test instruction_count_test \ 24*4882a593Smuzhiyun fork_cleanup_test ebb_on_child_test \ 25*4882a593Smuzhiyun ebb_on_willing_child_test back_to_back_ebbs_test \ 26*4882a593Smuzhiyun lost_exception_test no_handler_test \ 27*4882a593Smuzhiyun cycles_with_mmcr2_test 28*4882a593Smuzhiyun 29*4882a593Smuzhiyuntop_srcdir = ../../../../../.. 30*4882a593Smuzhiyuninclude ../../../lib.mk 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun$(TEST_GEN_PROGS): ../../harness.c ../../utils.c ../event.c ../lib.c \ 33*4882a593Smuzhiyun ebb.c ebb_handler.S trace.c busy_loop.S 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun$(OUTPUT)/instruction_count_test: ../loop.S 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun$(OUTPUT)/lost_exception_test: ../lib.c 38