1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 TEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t << 3 copyuser_p7_t0 copyuser_p7_t1 << 4 memcpy_64_t0 memcpy_64_t1 memc << 5 memcpy_p7_t0 memcpy_p7_t1 copy << 6 copyuser_64_exc_t0 copyuser_64 << 7 memmove_64 << 8 << 9 EXTRA_SOURCES := validate.c ../harness.c stubs << 10 << 11 top_srcdir = ../../../../.. << 12 include ../../lib.mk << 13 include ../flags.mk << 14 << 15 # The loops are all 64-bit code 2 # The loops are all 64-bit code 16 CFLAGS += -m64 3 CFLAGS += -m64 17 CFLAGS += -I$(CURDIR) 4 CFLAGS += -I$(CURDIR) 18 CFLAGS += -D SELFTEST 5 CFLAGS += -D SELFTEST 19 CFLAGS += -maltivec 6 CFLAGS += -maltivec 20 CFLAGS += -mcpu=power4 7 CFLAGS += -mcpu=power4 21 8 22 # Use our CFLAGS for the implicit .S rule & se 9 # Use our CFLAGS for the implicit .S rule & set the asm machine type 23 ASFLAGS = $(CFLAGS) -Wa,-mpower4 10 ASFLAGS = $(CFLAGS) -Wa,-mpower4 24 11 >> 12 TEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t1 copyuser_64_t2 \ >> 13 copyuser_p7_t0 copyuser_p7_t1 \ >> 14 memcpy_64_t0 memcpy_64_t1 memcpy_64_t2 \ >> 15 memcpy_p7_t0 memcpy_p7_t1 memcpy_mcsafe_64 \ >> 16 copyuser_64_exc_t0 copyuser_64_exc_t1 copyuser_64_exc_t2 >> 17 >> 18 EXTRA_SOURCES := validate.c ../harness.c stubs.S >> 19 >> 20 top_srcdir = ../../../../.. >> 21 include ../../lib.mk >> 22 25 $(OUTPUT)/copyuser_64_t%: copyuser_64.S 23 $(OUTPUT)/copyuser_64_t%: copyuser_64.S $(EXTRA_SOURCES) 26 $(CC) $(CPPFLAGS) $(CFLAGS) \ 24 $(CC) $(CPPFLAGS) $(CFLAGS) \ 27 -D COPY_LOOP=test___copy_tofro 25 -D COPY_LOOP=test___copy_tofrom_user_base \ 28 -D SELFTEST_CASE=$(subst copyu 26 -D SELFTEST_CASE=$(subst copyuser_64_t,,$(notdir $@)) \ 29 -o $@ $^ 27 -o $@ $^ 30 28 31 $(OUTPUT)/copyuser_p7_t%: copyuser_power 29 $(OUTPUT)/copyuser_p7_t%: copyuser_power7.S $(EXTRA_SOURCES) 32 $(CC) $(CPPFLAGS) $(CFLAGS) \ 30 $(CC) $(CPPFLAGS) $(CFLAGS) \ 33 -D COPY_LOOP=test___copy_tofro 31 -D COPY_LOOP=test___copy_tofrom_user_power7 \ 34 -D SELFTEST_CASE=$(subst copyu 32 -D SELFTEST_CASE=$(subst copyuser_p7_t,,$(notdir $@)) \ 35 -o $@ $^ 33 -o $@ $^ 36 34 37 # Strictly speaking, we only need the memcpy_6 35 # Strictly speaking, we only need the memcpy_64 test cases for big-endian 38 $(OUTPUT)/memcpy_64_t%: memcpy_64.S $(EXTRA_SO 36 $(OUTPUT)/memcpy_64_t%: memcpy_64.S $(EXTRA_SOURCES) 39 $(CC) $(CPPFLAGS) $(CFLAGS) \ 37 $(CC) $(CPPFLAGS) $(CFLAGS) \ 40 -D COPY_LOOP=test_memcpy \ 38 -D COPY_LOOP=test_memcpy \ 41 -D SELFTEST_CASE=$(subst memcp 39 -D SELFTEST_CASE=$(subst memcpy_64_t,,$(notdir $@)) \ 42 -o $@ $^ 40 -o $@ $^ 43 41 44 $(OUTPUT)/memcpy_p7_t%: memcpy_power7.S $(EXTR 42 $(OUTPUT)/memcpy_p7_t%: memcpy_power7.S $(EXTRA_SOURCES) 45 $(CC) $(CPPFLAGS) $(CFLAGS) \ 43 $(CC) $(CPPFLAGS) $(CFLAGS) \ 46 -D COPY_LOOP=test_memcpy_power 44 -D COPY_LOOP=test_memcpy_power7 \ 47 -D SELFTEST_CASE=$(subst memcp 45 -D SELFTEST_CASE=$(subst memcpy_p7_t,,$(notdir $@)) \ 48 -o $@ $^ 46 -o $@ $^ 49 47 50 $(OUTPUT)/copy_mc_64: copy_mc_64.S $(EXTRA_SOU !! 48 $(OUTPUT)/memcpy_mcsafe_64: memcpy_mcsafe_64.S $(EXTRA_SOURCES) 51 $(CC) $(CPPFLAGS) $(CFLAGS) \ 49 $(CC) $(CPPFLAGS) $(CFLAGS) \ 52 -D COPY_LOOP=test_copy_mc_gene !! 50 -D COPY_LOOP=test_memcpy_mcsafe \ 53 -o $@ $^ 51 -o $@ $^ 54 52 55 $(OUTPUT)/copyuser_64_exc_t%: copyuser_64.S ex 53 $(OUTPUT)/copyuser_64_exc_t%: copyuser_64.S exc_validate.c ../harness.c \ 56 copy_tofrom_user_reference.S s 54 copy_tofrom_user_reference.S stubs.S 57 $(CC) $(CPPFLAGS) $(CFLAGS) \ 55 $(CC) $(CPPFLAGS) $(CFLAGS) \ 58 -D COPY_LOOP=test___copy_tofro 56 -D COPY_LOOP=test___copy_tofrom_user_base \ 59 -D SELFTEST_CASE=$(subst copyu 57 -D SELFTEST_CASE=$(subst copyuser_64_exc_t,,$(notdir $@)) \ 60 -o $@ $^ << 61 << 62 $(OUTPUT)/memmove_64: mem_64.S memcpy_64.S mem << 63 memcpy_stubs.S << 64 $(CC) $(CPPFLAGS) $(CFLAGS) \ << 65 -D TEST_MEMMOVE=test_memmove \ << 66 -o $@ $^ 58 -o $@ $^
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.