From 55eef302d49f28598e1284449e7cb4ee5987a3aa Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Wed, 23 Oct 2019 18:01:07 +0100 Subject: [PATCH] tests: add squashfs make to m5-exit An ARM squashfs rootfs that runs m5 exit can be generated for example with: make ARCH=arm_A64 CROSS_COMPILE=aarch64-linux-gnu- squashfs The existing Makefile.x86 was not used as a basis because we would like to provide a setup that allows users to use their own compilers if they wish, without requiring dockcross. Change-Id: I19c54cf0575b405f191f45aaf1e4a05c3f2e69ae Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22223 Reviewed-by: Bobby R. Bruce Reviewed-by: Andreas Sandberg Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- tests/test-progs/m5-exit/src/.gitignore | 3 ++ tests/test-progs/m5-exit/src/Makefile | 59 +++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 tests/test-progs/m5-exit/src/.gitignore create mode 100644 tests/test-progs/m5-exit/src/Makefile diff --git a/tests/test-progs/m5-exit/src/.gitignore b/tests/test-progs/m5-exit/src/.gitignore new file mode 100644 index 000000000..25a4d5dd1 --- /dev/null +++ b/tests/test-progs/m5-exit/src/.gitignore @@ -0,0 +1,3 @@ +/m5_exit +/m5_exit.squashfs +/squashfs_root diff --git a/tests/test-progs/m5-exit/src/Makefile b/tests/test-progs/m5-exit/src/Makefile new file mode 100644 index 000000000..1ee49ce6a --- /dev/null +++ b/tests/test-progs/m5-exit/src/Makefile @@ -0,0 +1,59 @@ +# Copyright (c) 2019 ARM Limited +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Authors: Ciro Santilli + +ARCH = x86 +CC = gcc +CFLAGS = -static -O2 +OUT = $(OUTDIR)/m5_exit +OUTDIR = ./ +SQUASHFS = $(OUT).squashfs +SQUASHFS_ROOT = $(OUTDIR)/squashfs_root +INIT = $(SQUASHFS_ROOT)/sbin/init + +.PHONY: all squashfs + +all: $(OUT) + +$(OUT): m5-exit.c + $(CROSS_COMPILE)$(CC) \ + -DM5 \ + -I $(CURDIR)/../../../../include/ \ + -o $@ \ + $(CFLAGS) \ + $(CURDIR)/../../../../util/m5/m5op_$(ARCH).S \ + $< + +squashfs: $(SQUASHFS) + +$(SQUASHFS): $(OUT) + mkdir -p $$(dirname $(INIT)) + cp $< $(INIT) + mksquashfs $(SQUASHFS_ROOT) $(SQUASHFS) + +clean: + rm -fr $(SQUASHFS) $(SQUASHFS_ROOT) $(OUT) -- 2.30.2