18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ciinclude ../../../../../../scripts/Kbuild.include
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_cinoarg:
58c2ecf20Sopenharmony_ci	$(MAKE) -C ../../
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci# The EBB handler is 64-bit code and everything links against it
88c2ecf20Sopenharmony_ciCFLAGS += -m64
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciTMPOUT = $(OUTPUT)/TMPDIR/
118c2ecf20Sopenharmony_ci# Toolchains may build PIE by default which breaks the assembly
128c2ecf20Sopenharmony_cino-pie-option := $(call try-run, echo 'int main() { return 0; }' | \
138c2ecf20Sopenharmony_ci        $(CC) -Werror $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -no-pie -x c - -o "$$TMP", -no-pie)
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciLDFLAGS += $(no-pie-option)
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciTEST_GEN_PROGS := reg_access_test event_attributes_test cycles_test	\
188c2ecf20Sopenharmony_ci	 cycles_with_freeze_test pmc56_overflow_test		\
198c2ecf20Sopenharmony_ci	 ebb_vs_cpu_event_test cpu_event_vs_ebb_test		\
208c2ecf20Sopenharmony_ci	 cpu_event_pinned_vs_ebb_test task_event_vs_ebb_test	\
218c2ecf20Sopenharmony_ci	 task_event_pinned_vs_ebb_test multi_ebb_procs_test	\
228c2ecf20Sopenharmony_ci	 multi_counter_test pmae_handling_test			\
238c2ecf20Sopenharmony_ci	 close_clears_pmcc_test instruction_count_test		\
248c2ecf20Sopenharmony_ci	 fork_cleanup_test ebb_on_child_test			\
258c2ecf20Sopenharmony_ci	 ebb_on_willing_child_test back_to_back_ebbs_test	\
268c2ecf20Sopenharmony_ci	 lost_exception_test no_handler_test			\
278c2ecf20Sopenharmony_ci	 cycles_with_mmcr2_test
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_citop_srcdir = ../../../../../..
308c2ecf20Sopenharmony_ciinclude ../../../lib.mk
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci$(TEST_GEN_PROGS): ../../harness.c ../../utils.c ../event.c ../lib.c \
338c2ecf20Sopenharmony_ci	       ebb.c ebb_handler.S trace.c busy_loop.S
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci$(OUTPUT)/instruction_count_test: ../loop.S
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci$(OUTPUT)/lost_exception_test: ../lib.c
38