Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 # The loops are all 64-bit code
0003 CFLAGS += -m64
0004 CFLAGS += -I$(CURDIR)
0005 CFLAGS += -D SELFTEST
0006 CFLAGS += -maltivec
0007 CFLAGS += -mcpu=power4
0008 
0009 # Use our CFLAGS for the implicit .S rule & set the asm machine type
0010 ASFLAGS = $(CFLAGS) -Wa,-mpower4
0011 
0012 TEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t1 copyuser_64_t2 \
0013                 copyuser_p7_t0 copyuser_p7_t1 \
0014                 memcpy_64_t0 memcpy_64_t1 memcpy_64_t2 \
0015                 memcpy_p7_t0 memcpy_p7_t1 copy_mc_64 \
0016                 copyuser_64_exc_t0 copyuser_64_exc_t1 copyuser_64_exc_t2 \
0017                 memmove_64
0018 
0019 EXTRA_SOURCES := validate.c ../harness.c stubs.S
0020 
0021 top_srcdir = ../../../../..
0022 include ../../lib.mk
0023 
0024 $(OUTPUT)/copyuser_64_t%:       copyuser_64.S $(EXTRA_SOURCES)
0025         $(CC) $(CPPFLAGS) $(CFLAGS) \
0026                 -D COPY_LOOP=test___copy_tofrom_user_base \
0027                 -D SELFTEST_CASE=$(subst copyuser_64_t,,$(notdir $@)) \
0028                 -o $@ $^
0029 
0030 $(OUTPUT)/copyuser_p7_t%:       copyuser_power7.S $(EXTRA_SOURCES)
0031         $(CC) $(CPPFLAGS) $(CFLAGS) \
0032                 -D COPY_LOOP=test___copy_tofrom_user_power7 \
0033                 -D SELFTEST_CASE=$(subst copyuser_p7_t,,$(notdir $@)) \
0034                 -o $@ $^
0035 
0036 # Strictly speaking, we only need the memcpy_64 test cases for big-endian
0037 $(OUTPUT)/memcpy_64_t%: memcpy_64.S $(EXTRA_SOURCES)
0038         $(CC) $(CPPFLAGS) $(CFLAGS) \
0039                 -D COPY_LOOP=test_memcpy \
0040                 -D SELFTEST_CASE=$(subst memcpy_64_t,,$(notdir $@)) \
0041                 -o $@ $^
0042 
0043 $(OUTPUT)/memcpy_p7_t%: memcpy_power7.S $(EXTRA_SOURCES)
0044         $(CC) $(CPPFLAGS) $(CFLAGS) \
0045                 -D COPY_LOOP=test_memcpy_power7 \
0046                 -D SELFTEST_CASE=$(subst memcpy_p7_t,,$(notdir $@)) \
0047                 -o $@ $^
0048 
0049 $(OUTPUT)/copy_mc_64: copy_mc_64.S $(EXTRA_SOURCES)
0050         $(CC) $(CPPFLAGS) $(CFLAGS) \
0051                 -D COPY_LOOP=test_copy_mc_generic \
0052                 -o $@ $^
0053 
0054 $(OUTPUT)/copyuser_64_exc_t%: copyuser_64.S exc_validate.c ../harness.c \
0055                 copy_tofrom_user_reference.S stubs.S
0056         $(CC) $(CPPFLAGS) $(CFLAGS) \
0057                 -D COPY_LOOP=test___copy_tofrom_user_base \
0058                 -D SELFTEST_CASE=$(subst copyuser_64_exc_t,,$(notdir $@)) \
0059                 -o $@ $^
0060 
0061 $(OUTPUT)/memmove_64: mem_64.S memcpy_64.S memmove_validate.c ../harness.c \
0062                 memcpy_stubs.S
0063         $(CC) $(CPPFLAGS) $(CFLAGS) \
0064                 -D TEST_MEMMOVE=test_memmove \
0065                 -o $@ $^