xref: /linux/tools/testing/selftests/powerpc/copyloops/Makefile (revision ff2632d7d08edc11e8bd0629e9fcfebab25c78b4)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
298c45f51SPaul MackerrasTEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t1 copyuser_64_t2 \
398c45f51SPaul Mackerras		copyuser_p7_t0 copyuser_p7_t1 \
498c45f51SPaul Mackerras		memcpy_64_t0 memcpy_64_t1 memcpy_64_t2 \
5ec6347bbSDan Williams		memcpy_p7_t0 memcpy_p7_t1 copy_mc_64 \
62504e5b9SRitesh Harjani		copyuser_64_exc_t0 copyuser_64_exc_t1 copyuser_64_exc_t2 \
72504e5b9SRitesh Harjani		memmove_64
898c45f51SPaul Mackerras
92679f63fSMichael EllermanEXTRA_SOURCES := validate.c ../harness.c stubs.S
1022d651dcSMichael Ellerman
117e0cf1c9SMichael Ellermantop_srcdir = ../../../../..
1288baa78dSbamvor.zhangjian@huawei.cominclude ../../lib.mk
13*108e5e68SMadhavan Srinivasaninclude ../flags.mk
1422d651dcSMichael Ellerman
1537496845SMadhavan Srinivasan# The loops are all 64-bit code
1637496845SMadhavan SrinivasanCFLAGS += -m64
1737496845SMadhavan SrinivasanCFLAGS += -I$(CURDIR)
1837496845SMadhavan SrinivasanCFLAGS += -D SELFTEST
1937496845SMadhavan SrinivasanCFLAGS += -maltivec
2037496845SMadhavan SrinivasanCFLAGS += -mcpu=power4
2137496845SMadhavan Srinivasan
2237496845SMadhavan Srinivasan# Use our CFLAGS for the implicit .S rule & set the asm machine type
2337496845SMadhavan SrinivasanASFLAGS = $(CFLAGS) -Wa,-mpower4
2437496845SMadhavan Srinivasan
2598c45f51SPaul Mackerras$(OUTPUT)/copyuser_64_t%:	copyuser_64.S $(EXTRA_SOURCES)
2698c45f51SPaul Mackerras	$(CC) $(CPPFLAGS) $(CFLAGS) \
2798c45f51SPaul Mackerras		-D COPY_LOOP=test___copy_tofrom_user_base \
2898c45f51SPaul Mackerras		-D SELFTEST_CASE=$(subst copyuser_64_t,,$(notdir $@)) \
2998c45f51SPaul Mackerras		-o $@ $^
3022d651dcSMichael Ellerman
3198c45f51SPaul Mackerras$(OUTPUT)/copyuser_p7_t%:	copyuser_power7.S $(EXTRA_SOURCES)
3298c45f51SPaul Mackerras	$(CC) $(CPPFLAGS) $(CFLAGS) \
3398c45f51SPaul Mackerras		-D COPY_LOOP=test___copy_tofrom_user_power7 \
3498c45f51SPaul Mackerras		-D SELFTEST_CASE=$(subst copyuser_p7_t,,$(notdir $@)) \
3598c45f51SPaul Mackerras		-o $@ $^
3698c45f51SPaul Mackerras
3798c45f51SPaul Mackerras# Strictly speaking, we only need the memcpy_64 test cases for big-endian
3898c45f51SPaul Mackerras$(OUTPUT)/memcpy_64_t%:	memcpy_64.S $(EXTRA_SOURCES)
3998c45f51SPaul Mackerras	$(CC) $(CPPFLAGS) $(CFLAGS) \
4098c45f51SPaul Mackerras		-D COPY_LOOP=test_memcpy \
4198c45f51SPaul Mackerras		-D SELFTEST_CASE=$(subst memcpy_64_t,,$(notdir $@)) \
4298c45f51SPaul Mackerras		-o $@ $^
4398c45f51SPaul Mackerras
4498c45f51SPaul Mackerras$(OUTPUT)/memcpy_p7_t%:	memcpy_power7.S $(EXTRA_SOURCES)
4598c45f51SPaul Mackerras	$(CC) $(CPPFLAGS) $(CFLAGS) \
4698c45f51SPaul Mackerras		-D COPY_LOOP=test_memcpy_power7 \
4798c45f51SPaul Mackerras		-D SELFTEST_CASE=$(subst memcpy_p7_t,,$(notdir $@)) \
4898c45f51SPaul Mackerras		-o $@ $^
492679f63fSMichael Ellerman
50ec6347bbSDan Williams$(OUTPUT)/copy_mc_64: copy_mc_64.S $(EXTRA_SOURCES)
516f62a822SSantosh Sivaraj	$(CC) $(CPPFLAGS) $(CFLAGS) \
52ec6347bbSDan Williams		-D COPY_LOOP=test_copy_mc_generic \
536f62a822SSantosh Sivaraj		-o $@ $^
546f62a822SSantosh Sivaraj
552679f63fSMichael Ellerman$(OUTPUT)/copyuser_64_exc_t%: copyuser_64.S exc_validate.c ../harness.c \
562679f63fSMichael Ellerman		copy_tofrom_user_reference.S stubs.S
572679f63fSMichael Ellerman	$(CC) $(CPPFLAGS) $(CFLAGS) \
582679f63fSMichael Ellerman		-D COPY_LOOP=test___copy_tofrom_user_base \
592679f63fSMichael Ellerman		-D SELFTEST_CASE=$(subst copyuser_64_exc_t,,$(notdir $@)) \
602679f63fSMichael Ellerman		-o $@ $^
612504e5b9SRitesh Harjani
622504e5b9SRitesh Harjani$(OUTPUT)/memmove_64: mem_64.S memcpy_64.S memmove_validate.c ../harness.c \
632504e5b9SRitesh Harjani		memcpy_stubs.S
642504e5b9SRitesh Harjani	$(CC) $(CPPFLAGS) $(CFLAGS) \
652504e5b9SRitesh Harjani		-D TEST_MEMMOVE=test_memmove \
662504e5b9SRitesh Harjani		-o $@ $^
67