From patchwork Sat Sep 17 14:03:47 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pranith Kumar X-Patchwork-Id: 9337105 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id EF325601C2 for ; Sat, 17 Sep 2016 14:08:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DF0F128BCF for ; Sat, 17 Sep 2016 14:08:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D29DB28CBE; Sat, 17 Sep 2016 14:08:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id D258C28BCF for ; Sat, 17 Sep 2016 14:08:58 +0000 (UTC) Received: from localhost ([::1]:46340 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1blGIb-0007nN-Ku for patchwork-qemu-devel@patchwork.kernel.org; Sat, 17 Sep 2016 10:08:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58339) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1blGDo-00046e-U5 for qemu-devel@nongnu.org; Sat, 17 Sep 2016 10:04:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1blGDl-0002fI-Qx for qemu-devel@nongnu.org; Sat, 17 Sep 2016 10:03:59 -0400 Received: from mail-yw0-x242.google.com ([2607:f8b0:4002:c05::242]:33651) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1blGDl-0002f9-Ll for qemu-devel@nongnu.org; Sat, 17 Sep 2016 10:03:57 -0400 Received: by mail-yw0-x242.google.com with SMTP id g192so5567370ywh.0 for ; Sat, 17 Sep 2016 07:03:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=7I+j1FXXb7NScZAQ3VWRb4NCCr9D8vKx1bdJCyZ36BA=; b=0a+219vSRRdrz4fyzOSXYOM3YDSnQmvRh8JUUIDuilS4cQ59UL709/yJEmSbstRcyv 1MNv5+3LhoOjXohMlUTWiq1AcM7FehkmQT9/0HXyhoULY3+2TVAJmC1+VWEWnDe1c9qg Xch/js0UHWKR0n6xFbDuqIpSy3sMTcSpckBxOCvv3DsW3k1JGXQSfmMfvmIkrgzhcr4Z dHSf3lEK1pEsuCff0ftx/hwhL8sHrqgW74nPiavXoMJzDaQeDER2FW6nzUDco1SHRVpA AmTpcUCCxSOHJFOF64Nty8TiZr9b3baVvFl4olrqIfNPkRkLzkdeOBMH3hJyeNX5vt74 VNGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=7I+j1FXXb7NScZAQ3VWRb4NCCr9D8vKx1bdJCyZ36BA=; b=hDkOQ4HnU1uANRM3mlyxSHaSnozFTmIyVSqZS7EQZbIrNwN6kFLrlrN85Gv7QE3U1M ZINIkvSr940jaNq858ZMUazkZoVAySGSghG0joEpY2jkPFOe33vJFJUbdiqHGJzu3C/I p4yz0Ny59K5HLNqQm46srP+MqCRi5JX8BdoWy8vnMlXjqHoxihsCFDKWoGZnT+lWhEvW bJtNSEGD3fY+zzHoEixeLAXJbG1A3Vfw+puc1k7B+WMDi4gtsztNPkQHpNF2PtvqXsz/ QAOaPfYSExnJ5Udu0xfQv/N49njYwpE69eadGKQbuROWOinfawpzFvhEmR+f37M7/2N4 F0KA== X-Gm-Message-State: AE9vXwPjP6DjnheSm3+CNJMP2X/6T+Qnm+tyIzAdpJaG+vwiB+1RXApPT/Q9meSlmbb2bQ== X-Received: by 10.13.217.142 with SMTP id b136mr17371180ywe.81.1474121037206; Sat, 17 Sep 2016 07:03:57 -0700 (PDT) Received: from evgadesktop.attlocal.net (108-232-152-155.lightspeed.tukrga.sbcglobal.net. [108.232.152.155]) by smtp.gmail.com with ESMTPSA id k133sm2356094ywe.46.2016.09.17.07.03.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 17 Sep 2016 07:03:56 -0700 (PDT) From: Pranith Kumar To: qemu-devel@nongnu.org, Richard Henderson , "Edgar E. Iglesias" , Michael Walle , Aurelien Jarno , Leon Alrae , Jia Liu , Max Filippov Date: Sat, 17 Sep 2016 10:03:47 -0400 Message-Id: <20160917140349.12431-6-bobby.prani@gmail.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20160917140349.12431-1-bobby.prani@gmail.com> References: <20160917140349.12431-1-bobby.prani@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4002:c05::242 Subject: [Qemu-devel] [PATCH 5/6] tests/tcg: Add and update Makefiles X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Pranith Kumar --- tests/tcg/alpha/Makefile | 38 +++++++++++++++++++---------- tests/tcg/arm/Makefile | 28 +++++++++++++--------- tests/tcg/cris/Makefile | 17 +++++++++++-- tests/tcg/i386/Makefile | 23 +++++++++--------- tests/tcg/lm32/Makefile | 17 +++++++++++-- tests/tcg/mips/Makefile | 46 ++++++++++++++++++++++++++++++++++++ tests/tcg/mips/mips32-dsp/Makefile | 17 +++++++++++-- tests/tcg/mips/mips32-dspr2/Makefile | 17 +++++++++++-- tests/tcg/mips/mips64-dsp/Makefile | 18 ++++++++++++-- tests/tcg/mips/mips64-dspr2/Makefile | 17 ++++++++++++- tests/tcg/openrisc/Makefile | 19 ++++++++++++--- tests/tcg/xtensa/Makefile | 17 +++++++++++-- 12 files changed, 223 insertions(+), 51 deletions(-) create mode 100644 tests/tcg/mips/Makefile diff --git a/tests/tcg/alpha/Makefile b/tests/tcg/alpha/Makefile index 2b1f03d..e20315f 100644 --- a/tests/tcg/alpha/Makefile +++ b/tests/tcg/alpha/Makefile @@ -1,33 +1,47 @@ -CROSS=alpha-linux-gnu- -CC=$(CROSS)gcc -AS=$(CROSS)as +# -*- Mode: makefile -*- +# +# Alpha linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/alpha-linux-user/tests directory +# -SIM=../../alpha-linux-user/qemu-alpha +BUILD_DIR?=$(CURDIR) +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak -CFLAGS=-O -LINK=$(CC) -o $@ crt.o $< -nostdlib +$(call set-vpath, $(SRC_PATH)/tests/tcg/alpha) + +QEMU=$(BUILD_DIR)/alpha-linux-user/qemu-alpha + +# Compiler set-up, default to system compiler if not set +CROSS_CC?=$(CC) + +CFLAGS=-Wall -O2 -g -fno-strict-aliasing -static +LDFLAGS=-nostdlib TESTS=test-cond test-cmov all: hello-alpha $(TESTS) hello-alpha: hello-alpha.o crt.o - $(LINK) + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) test-cond: test-cond.o crt.o - $(LINK) + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) test-cmov.o: test-cond.c - $(CC) -c $(CFLAGS) -DTEST_CMOV -o $@ $< + $(CROSS_CC) -c $(CFLAGS) -DTEST_CMOV -o $@ $< test-cmov: test-cmov.o crt.o - $(LINK) + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) test-ovf: test-ovf.o crt.o - $(LINK) + $(CROSS_CC) -o $@ crt.o $< $(LDFLAGS) check: $(TESTS) - for f in $(TESTS); do $(SIM) $$f || exit 1; done + for f in $(TESTS); do $(QEMU) $$f || exit 1; done clean: $(RM) *.o *~ hello-alpha $(TESTS) diff --git a/tests/tcg/arm/Makefile b/tests/tcg/arm/Makefile index c2ae491..8eafae6 100644 --- a/tests/tcg/arm/Makefile +++ b/tests/tcg/arm/Makefile @@ -1,21 +1,27 @@ -BUILD_DIR?=$(CURDIR) -SRC_PATH=../../../ -include $(BUILD_DIR)/config-host.mak +# -*- Mode: makefile -*- +# +# Arm linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/arm-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME include $(SRC_PATH)/rules.mak $(call set-vpath, $(SRC_PATH)/tests/tcg/arm) QEMU=$(BUILD_DIR)/arm-linux-user/qemu-arm +# Compiler set-up, default to system compiler if not set +CROSS_CC?=$(CC) + QEMU_INCLUDES += -I$(BUILD_DIR) CFLAGS=-Wall -O2 -g -fno-strict-aliasing LDFLAGS= -# TODO: automatically detect ARM and MIPS compilers, and run those too - -# runcom maps page 0, so it requires root privileges -# also, pi_10.com runs indefinitely - TESTS=hello-arm arm-iwmmxt all: $(patsubst %,run-%,$(TESTS)) @@ -33,13 +39,13 @@ run-arm-iwmmxt: arm-iwmmxt # arm test hello-arm: hello-arm.o - arm-linux-gnueabi-ld -o $@ $< + $(CROSS_CC) -o $@ $< hello-arm.o: hello-arm.c - arm-linux-gnueabi-gcc -Wall -g -O2 -c -o $@ $< + $(CROSS_CC) -Wall -g -O2 -c -o $@ $< arm-iwmmxt: test-arm-iwmmxt.s - cpp < $< | arm-linux-gnueabi-gcc -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@ + cpp < $< | $(CROSS_CC) -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@ clean: rm -f *~ *.o $(TESTS) diff --git a/tests/tcg/cris/Makefile b/tests/tcg/cris/Makefile index d34bfd8..aa8be36 100644 --- a/tests/tcg/cris/Makefile +++ b/tests/tcg/cris/Makefile @@ -1,7 +1,20 @@ --include ../../../config-host.mak +# -*- Mode: makefile -*- +# +# Cris linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/cris-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/arm) CROSS=crisv32-axis-linux-gnu- -SIM=../../../cris-linux-user/qemu-cris -L ./ +SIM=$(BUILD_DIR)/cris-linux-user/qemu-cris -L ./ SIMG=cris-axis-linux-gnu-run --sysroot=./ CC = $(CROSS)gcc diff --git a/tests/tcg/i386/Makefile b/tests/tcg/i386/Makefile index 15f77af..20b80fe 100644 --- a/tests/tcg/i386/Makefile +++ b/tests/tcg/i386/Makefile @@ -1,6 +1,14 @@ -BUILD_DIR=../../../build/ -SRC_PATH=../../../ -include $(BUILD_DIR)/config-host.mak +# -*- Mode: makefile -*- +# +# i386 linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/i386-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME include $(SRC_PATH)/rules.mak $(call set-vpath, $(SRC_PATH)/tests/tcg/i386) @@ -14,15 +22,9 @@ CFLAGS=-Wall -O2 -g -fno-strict-aliasing #CFLAGS+=-msse2 LDFLAGS= -# TODO: automatically detect ARM and MIPS compilers, and run those too - -# runcom maps page 0, so it requires root privileges -# also, pi_10.com runs indefinitely - I386_TESTS=hello-i386 \ test-i386 \ test-i386-fprem - # runcom # native i386 compilers sometimes are not biarch. assume cross-compilers are ifneq ($(ARCH),i386) @@ -57,9 +59,6 @@ run-test-x86_64: test-x86_64 -$(QEMU_X86_64) test-x86_64 > test-x86_64.out @if diff -u test-x86_64.ref test-x86_64.out ; then echo "Auto Test OK"; fi -run-runcom: runcom - -$(QEMU) ./runcom $(SRC_PATH)/tests/pi_10.com - # rules to compile tests hello-i386: hello-i386.c diff --git a/tests/tcg/lm32/Makefile b/tests/tcg/lm32/Makefile index 57e7363..ad5d9a7 100644 --- a/tests/tcg/lm32/Makefile +++ b/tests/tcg/lm32/Makefile @@ -1,8 +1,21 @@ --include ../../../config-host.mak +# -*- Mode: makefile -*- +# +# lm32 linux-system TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/lm32-softmmu/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/lm32) CROSS=lm32-elf- -SIM = qemu-system-lm32 +QEMU=$(BUILD_DIR)/lm32-softmmu/qemu-system-lm32 SIMFLAGS = -M lm32-evr -nographic -semihosting -net none -kernel CC = $(CROSS)gcc diff --git a/tests/tcg/mips/Makefile b/tests/tcg/mips/Makefile new file mode 100644 index 0000000..a56d6c8 --- /dev/null +++ b/tests/tcg/mips/Makefile @@ -0,0 +1,46 @@ +# -*- Mode: makefile -*- +# +# mips linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mips-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips) + +QEMU=$(BUILD_DIR)/mips-linux-user/qemu-mips + +# Compiler set-up, default to system compiler if not set +CROSS_CC?=$(CC) + +CFLAGS=-Wall -O2 -g -fno-strict-aliasing +LDFLAGS= + +TESTS=hello-mips + +all: $(patsubst %,run-%,$(TESTS)) +test: all + +# rules to run tests + +run-%: % + $(QEMU) ./$* + +#.PHONY: $(patsubst %,run-%,$(TESTS)) + +run-hello-mips: hello-mips + +# mips test +hello-mips: hello-mips.o + $(CROSS_CC) -o $@ $< + +hello-mips.o: hello-mips.c + $(CROSS_CC) -Wall -g -O2 -c -o $@ $< + +clean: + rm -f *~ *.o $(TESTS) diff --git a/tests/tcg/mips/mips32-dsp/Makefile b/tests/tcg/mips/mips32-dsp/Makefile index c3a0a00..996b9a0 100644 --- a/tests/tcg/mips/mips32-dsp/Makefile +++ b/tests/tcg/mips/mips32-dsp/Makefile @@ -1,8 +1,21 @@ --include ../../config-host.mak +# -*- Mode: makefile -*- +# +# mipsel linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mipsel-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips32-dsp) CROSS=mips64el-unknown-linux-gnu- -SIM=qemu-mipsel +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mipsel SIM_FLAGS=-cpu 74Kf CC = $(CROSS)gcc diff --git a/tests/tcg/mips/mips32-dspr2/Makefile b/tests/tcg/mips/mips32-dspr2/Makefile index ed19581..e99f2bc 100644 --- a/tests/tcg/mips/mips32-dspr2/Makefile +++ b/tests/tcg/mips/mips32-dspr2/Makefile @@ -1,8 +1,21 @@ --include ../../config-host.mak +# -*- Mode: makefile -*- +# +# mipsel linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mipsel-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips32-dsp) CROSS=mips64el-unknown-linux-gnu- -SIM=qemu-mipsel +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mipsel SIM_FLAGS=-cpu 74Kf CC = $(CROSS)gcc diff --git a/tests/tcg/mips/mips64-dsp/Makefile b/tests/tcg/mips/mips64-dsp/Makefile index b2ac6b3..4ee3bbb 100644 --- a/tests/tcg/mips/mips64-dsp/Makefile +++ b/tests/tcg/mips/mips64-dsp/Makefile @@ -1,7 +1,21 @@ +# -*- Mode: makefile -*- +# +# mips64el linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mips64el-linux-user/tests directory +# -CROSS_COMPILE ?= mips64el-unknown-linux-gnu- +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak -SIM = qemu-system-mips64el +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips64-dsp) + +CROSS=mips64el-unknown-linux-gnu- + +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mips64el SIMFLAGS = -nographic -cpu mips64dspr2 -kernel AS = $(CROSS_COMPILE)as diff --git a/tests/tcg/mips/mips64-dspr2/Makefile b/tests/tcg/mips/mips64-dspr2/Makefile index ba44bb9..8510d8c 100644 --- a/tests/tcg/mips/mips64-dspr2/Makefile +++ b/tests/tcg/mips/mips64-dspr2/Makefile @@ -1,6 +1,21 @@ +# -*- Mode: makefile -*- +# +# mips64el linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/mips64el-linux-user/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/mips/mips64-dsp) + CROSS_COMPILE ?= mips64el-unknown-linux-gnu- -SIM = qemu-system-mips64el +SIM=$(BUILD_DIR)/mipsel-linux-user/qemu-mips64el SIMFLAGS = -nographic -cpu mips64dspr2 -kernel AS = $(CROSS_COMPILE)as diff --git a/tests/tcg/openrisc/Makefile b/tests/tcg/openrisc/Makefile index 7e65888..071aaab 100644 --- a/tests/tcg/openrisc/Makefile +++ b/tests/tcg/openrisc/Makefile @@ -1,8 +1,21 @@ --include ../../config-host.mak +# -*- Mode: makefile -*- +# +# openrisc linux-user TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/or32-linux-user/tests directory +# -CROSS = or32-linux- +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/openrisc) -SIM = qemu-or32 +SIM=$(BUILD_DIR)/or32-linux-user/qemu-mips + +CROSS = or32-linux- CC = $(CROSS)gcc diff --git a/tests/tcg/xtensa/Makefile b/tests/tcg/xtensa/Makefile index 522a63e..e3269ed 100644 --- a/tests/tcg/xtensa/Makefile +++ b/tests/tcg/xtensa/Makefile @@ -1,10 +1,23 @@ --include ../../../config-host.mak +# -*- Mode: makefile -*- +# +# xtensa linux TCG tests +# +# The Make is expected to be called in the +# ${BUILD_DIR}/xtensa-softmmu/tests directory +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/xtensa) CORE=dc232b CROSS=xtensa-$(CORE)-elf- ifndef XT -SIM = ../../../xtensa-softmmu/qemu-system-xtensa +SIM = $(BUILD_DIR)/xtensa-softmmu/qemu-system-xtensa SIMFLAGS = -M sim -cpu $(CORE) -nographic -semihosting $(EXTFLAGS) -kernel SIMDEBUG = -s -S else