8d8a8ab544
This provides the bootstrap and low level helper functions for an alpha kernel. We use direct access to the DP264 serial port for test output, and hard machine halt to exit the emulation. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20190501184306.15208-1-richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
35 lines
904 B
Makefile
35 lines
904 B
Makefile
#
|
|
# Alpha system tests
|
|
#
|
|
|
|
ALPHA_SYSTEM_SRC=$(SRC_PATH)/tests/tcg/alpha/system
|
|
VPATH+=$(ALPHA_SYSTEM_SRC)
|
|
|
|
# These objects provide the basic boot code and helper functions for all tests
|
|
CRT_OBJS=boot.o
|
|
|
|
ALPHA_TEST_SRCS=$(wildcard $(ALPHA_SYSTEM_SRC)/*.c)
|
|
ALPHA_TESTS = $(patsubst $(ALPHA_SYSTEM_SRC)/%.c, %, $(ALPHA_TEST_SRCS))
|
|
|
|
CRT_PATH=$(ALPHA_SYSTEM_SRC)
|
|
LINK_SCRIPT=$(ALPHA_SYSTEM_SRC)/kernel.ld
|
|
LDFLAGS=-Wl,-T$(LINK_SCRIPT)
|
|
TESTS+=$(ALPHA_TESTS) $(MULTIARCH_TESTS)
|
|
CFLAGS+=-nostdlib -g -O1 -mcpu=ev6 $(MINILIB_INC)
|
|
LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc
|
|
|
|
# building head blobs
|
|
.PRECIOUS: $(CRT_OBJS)
|
|
|
|
%.o: $(CRT_PATH)/%.S
|
|
$(CC) $(CFLAGS) -x assembler-with-cpp -c $< -o $@
|
|
|
|
# Build and link the tests
|
|
%: %.c $(LINK_SCRIPT) $(CRT_OBJS) $(MINILIB_OBJS)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
|
|
|
|
memory: CFLAGS+=-DCHECK_UNALIGNED=0
|
|
|
|
# Running
|
|
QEMU_OPTS+=-serial chardev:output -kernel
|