[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 02/12] tests/tcg/tricore: Add build infrastr
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [RFC PATCH 02/12] tests/tcg/tricore: Add build infrastructure |
Date: |
Tue, 01 May 2018 16:40:01 +0100 |
User-agent: |
mu4e 1.1.0; emacs 26.1 |
Bastian Koppelmann <address@hidden> writes:
> this includes the Makefile and linker script to build all the tests.
>
> Signed-off-by: Bastian Koppelmann <address@hidden>
> ---
> tests/tcg/tricore/Makefile | 30 +++++++++++++++++++++++
> tests/tcg/tricore/link.ld | 60
> ++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 90 insertions(+)
> create mode 100644 tests/tcg/tricore/Makefile
> create mode 100644 tests/tcg/tricore/link.ld
>
> diff --git a/tests/tcg/tricore/Makefile b/tests/tcg/tricore/Makefile
> new file mode 100644
> index 0000000000..8c168d1062
> --- /dev/null
> +++ b/tests/tcg/tricore/Makefile
> @@ -0,0 +1,30 @@
> +AS := tricore-as
> +LD := tricore-ld
Where do these come from? Ideally we'd get these in a docker container
like the rest. It would actually be easier to use tricore-gcc if it
exists because at the moment my docker series only exposes a C compiler
to the make system.
> +HOST_CC = gcc
> +
> +LDFLAGS = -Tlink.ld
> +ASFLAGS =
> +
> +SIM = ../../../tricore-softmmu/qemu-system-tricore
> +SIMFLAGS = -M tricore_testboard -nographic -kernel
> +
> +all: build
> +
> +%.pS: %.S
> + $(HOST_CC) -E -o $@ $<
> +
> +%.o: %.pS
> + $(AS) $(ASFLAGS) -o $@ $<
> +
> +%.tst: %.o link.ld
> + $(LD) $(LDFLAGS) $< -o $@
> +
> +build: $(TESTCASES)
> +
> +check: $(addprefix run-, $(TESTCASES))
> +
> +run-%.tst: %.tst
> + $(SIM) $(SIMFLAGS) ./$<
> +
> +clean:
> + $(RM) -fr $(TESTCASES) linker.ld
> diff --git a/tests/tcg/tricore/link.ld b/tests/tcg/tricore/link.ld
> new file mode 100644
> index 0000000000..364bcdc00a
> --- /dev/null
> +++ b/tests/tcg/tricore/link.ld
> @@ -0,0 +1,60 @@
> +/* Default linker script, for normal executables */
> +OUTPUT_FORMAT("elf32-tricore")
> +OUTPUT_ARCH(tricore)
> +ENTRY(_start)
> +
> +/* the internal ram description */
> +MEMORY
> +{
> + text_ram (rx!p): org = 0x80000000, len = 15K
> + data_ram (w!xp): org = 0xd0000000, len = 130K
> +}
> +/*
> + * Define the sizes of the user and system stacks.
> + */
> +__USTACK_SIZE = DEFINED (__USTACK_SIZE) ? __USTACK_SIZE : 1K ;
> +/*
> + * Define the start address and the size of the context save area.
> + */
> +__CSA_BEGIN = 0xd0000000 ;
> +__CSA_SIZE = 8k ;
> +__CSA_END = __CSA_BEGIN + __CSA_SIZE ;
> +
> +SECTIONS
> +{
> + .text :
> + {
> + *(.text)
> + . = ALIGN(8);
> + } > text_ram
> +
> + .rodata :
> + {
> + *(.rodata)
> + *(.rodata1)
> + } > data_ram
> +
> + .data :
> + {
> + . = ALIGN(8) ;
> + *(.data)
> + *(.data.*)
> + . = ALIGN(8) ;
> + __USTACK = . + __USTACK_SIZE -768;
> +
> + } > data_ram
> + /*
> + * Allocate space for BSS sections.
> + */
> + .bss :
> + {
> + BSS_BASE = . ;
> + *(.bss)
> + *(COMMON)
> + . = ALIGN(8) ;
> + } > data_ram
> + /* Make sure CSA, stack and heap addresses are properly aligned. */
> + _. = ASSERT ((__CSA_BEGIN & 0x3f) == 0 , "illegal CSA start address") ;
> + _. = ASSERT ((__CSA_SIZE & 0x3f) == 0 , "illegal CSA size") ;
> +
> +}
--
Alex Bennée
- [Qemu-devel] [RFC PATCH 00/12] tests/tcg: Add TriCore tests, Bastian Koppelmann, 2018/05/01
- [Qemu-devel] [RFC PATCH 11/12] tests/tcg/tricore: Add msub test, Bastian Koppelmann, 2018/05/01
- [Qemu-devel] [RFC PATCH 05/12] tests/tcg/tricore: Add clz test, Bastian Koppelmann, 2018/05/01
- [Qemu-devel] [RFC PATCH 03/12] tests/tcg/tricore: Add macros to easily create tests and first test 'abs', Bastian Koppelmann, 2018/05/01
- [Qemu-devel] [RFC PATCH 08/12] tests/tcg/tricore: Add fmul test, Bastian Koppelmann, 2018/05/01
- [Qemu-devel] [RFC PATCH 09/12] tests/tcg/tricore: Add ftoi test, Bastian Koppelmann, 2018/05/01
- [Qemu-devel] [RFC PATCH 06/12] tests/tcg/tricore: Add dvstep test, Bastian Koppelmann, 2018/05/01
- [Qemu-devel] [RFC PATCH 07/12] tests/tcg/tricore: Add fadd test, Bastian Koppelmann, 2018/05/01
- [Qemu-devel] [RFC PATCH 02/12] tests/tcg/tricore: Add build infrastructure, Bastian Koppelmann, 2018/05/01
- Re: [Qemu-devel] [RFC PATCH 02/12] tests/tcg/tricore: Add build infrastructure,
Alex Bennée <=
- Re: [Qemu-devel] [RFC PATCH 02/12] tests/tcg/tricore: Add build infrastructure, Philippe Mathieu-Daudé, 2018/05/01
[Qemu-devel] [RFC PATCH 10/12] tests/tcg/tricore: Add madd test, Bastian Koppelmann, 2018/05/01
[Qemu-devel] [RFC PATCH 12/12] tests/tcg/tricore: Add muls test, Bastian Koppelmann, 2018/05/01
[Qemu-devel] [RFC PATCH 04/12] tests/tcg/tricore: Add bmerge test, Bastian Koppelmann, 2018/05/01
[Qemu-devel] [RFC PATCH 01/12] hw/tricore: Add testdevice for tests in tests/tcg/, Bastian Koppelmann, 2018/05/01