1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 2 3 # Memblock simulator requires AddressSanitizer 3 # Memblock simulator requires AddressSanitizer (libasan) and liburcu development 4 # packages installed 4 # packages installed 5 CFLAGS += -I. -I../../include -Wall -O2 -fsani 5 CFLAGS += -I. -I../../include -Wall -O2 -fsanitize=address \ 6 -fsanitize=undefined -D CONFIG_PHYS_ 6 -fsanitize=undefined -D CONFIG_PHYS_ADDR_T_64BIT 7 LDFLAGS += -fsanitize=address -fsanitize=undef 7 LDFLAGS += -fsanitize=address -fsanitize=undefined 8 TARGETS = main 8 TARGETS = main 9 TEST_OFILES = tests/alloc_nid_api.o tests/allo 9 TEST_OFILES = tests/alloc_nid_api.o tests/alloc_helpers_api.o tests/alloc_api.o \ 10 tests/basic_api.o tests/comm 10 tests/basic_api.o tests/common.o tests/alloc_exact_nid_api.o 11 DEP_OFILES = memblock.o lib/slab.o mmzone.o sl 11 DEP_OFILES = memblock.o lib/slab.o mmzone.o slab.o cmdline.o 12 OFILES = main.o $(DEP_OFILES) $(TEST_OFILES) 12 OFILES = main.o $(DEP_OFILES) $(TEST_OFILES) 13 EXTR_SRC = ../../../mm/memblock.c 13 EXTR_SRC = ../../../mm/memblock.c 14 14 15 ifeq ($(BUILD), 32) 15 ifeq ($(BUILD), 32) 16 CFLAGS += -m32 16 CFLAGS += -m32 17 LDFLAGS += -m32 17 LDFLAGS += -m32 18 endif 18 endif 19 19 20 # Process user parameters 20 # Process user parameters 21 include scripts/Makefile.include 21 include scripts/Makefile.include 22 22 23 main: $(OFILES) 23 main: $(OFILES) 24 24 25 $(OFILES): include 25 $(OFILES): include 26 26 27 include: ../../../include/linux/memblock.h ../ 27 include: ../../../include/linux/memblock.h ../../include/linux/*.h \ 28 ../../include/asm/*.h 28 ../../include/asm/*.h 29 29 30 @mkdir -p linux 30 @mkdir -p linux 31 test -L linux/memblock.h || ln -s ../. 31 test -L linux/memblock.h || ln -s ../../../../include/linux/memblock.h linux/memblock.h 32 test -L asm/asm.h || ln -s ../../../ar 32 test -L asm/asm.h || ln -s ../../../arch/x86/include/asm/asm.h asm/asm.h 33 test -L asm/cmpxchg.h || ln -s ../../. 33 test -L asm/cmpxchg.h || ln -s ../../../arch/x86/include/asm/cmpxchg.h asm/cmpxchg.h 34 34 35 memblock.c: $(EXTR_SRC) 35 memblock.c: $(EXTR_SRC) 36 test -L memblock.c || ln -s $(EXTR_SRC 36 test -L memblock.c || ln -s $(EXTR_SRC) memblock.c 37 37 38 clean: 38 clean: 39 $(RM) $(TARGETS) $(OFILES) linux/membl 39 $(RM) $(TARGETS) $(OFILES) linux/memblock.h memblock.c asm/asm.h asm/cmpxchg.h 40 40 41 help: 41 help: 42 @echo 'Memblock simulator' 42 @echo 'Memblock simulator' 43 @echo '' 43 @echo '' 44 @echo 'Available targets:' 44 @echo 'Available targets:' 45 @echo ' main - Build the 45 @echo ' main - Build the memblock simulator' 46 @echo ' clean - Remove gen 46 @echo ' clean - Remove generated files and symlinks in the directory' 47 @echo '' 47 @echo '' 48 @echo 'Configuration:' 48 @echo 'Configuration:' 49 @echo ' make MEMBLOCK_DEBUG=1 - 49 @echo ' make MEMBLOCK_DEBUG=1 - enable memblock_dbg() messages' 50 @echo ' make NUMA=1 - 50 @echo ' make NUMA=1 - simulate enabled NUMA' 51 @echo ' make 32BIT_PHYS_ADDR_T=1 - 51 @echo ' make 32BIT_PHYS_ADDR_T=1 - Use 32 bit physical addresses' 52 52 53 vpath %.c ../../lib 53 vpath %.c ../../lib 54 54 55 .PHONY: clean include help 55 .PHONY: clean include help
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.