Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Apr 2022 16:48:48 GMT
From:      Brooks Davis <brooks@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 6417835d78d7 - main - devel/qemu-cheri: update, drop MIPS, add Morello
Message-ID:  <202204181648.23IGmm4I099231@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by brooks:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6417835d78d793232bb9b971be5d9c988b8ca299

commit 6417835d78d793232bb9b971be5d9c988b8ca299
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2022-04-18 16:46:34 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2022-04-18 16:48:31 +0000

    devel/qemu-cheri: update, drop MIPS, add Morello
    
    Update to the latest CHERI Qemu, dropping support for the obsolete
    MIPS targets (cheri128 and cheri128magic) and adding support for
    Arm's Morello architecture.
---
 emulators/qemu-cheri/Makefile                      | 25 ++++++-----
 emulators/qemu-cheri/Makefile.snapshot             |  6 +--
 emulators/qemu-cheri/distinfo                      | 18 +++++---
 .../qemu-cheri/files/gen-Makefile.snapshot.sh      |  6 ---
 emulators/qemu-cheri/files/patch-configure         | 52 ----------------------
 5 files changed, 27 insertions(+), 80 deletions(-)

diff --git a/emulators/qemu-cheri/Makefile b/emulators/qemu-cheri/Makefile
index 891a72d3c8fd..4b178e8c5c6c 100644
--- a/emulators/qemu-cheri/Makefile
+++ b/emulators/qemu-cheri/Makefile
@@ -8,6 +8,8 @@ MAINTAINER=	brooks@FreeBSD.org
 COMMENT?=	QEMU emulator with CHERI CPU support
 
 # XXX: disabling gnutls doesn't work so depend on it to avoid breakage.
+BUILD_DEPENDS=	bash:shells/bash \
+		meson>=0.57.1_1:devel/meson
 LIB_DEPENDS=	libcapstone.so:devel/capstone3 \
 		libdrm.so:graphics/libdrm \
 		libepoxy.so:graphics/libepoxy \
@@ -19,13 +21,15 @@ LICENSE=	GPLv2
 
 USE_GITHUB=	yes
 GH_TUPLE=	CTSRD-CHERI:qemu:${QEMU_COMMIT} \
-		CTSRD-CHERI:dtc:${DTC_COMMIT}:dtc/dtc \
-		CTSRD-CHERI:libslirp:${LIBSLIRP_COMMIT}:libslirp/slirp \
-		qemu:keycodemapdb:6b3d716:qemu/ui/keycodemapdb \
+		qemu:dtc:85e5d83:qemu_dtc/dtc \
+		qemu:libslirp:487f4bf4:qemu_libslirp/slirp \
+		qemu:berkeley-softfloat-3:b64af41:qemu_berkeley_softfloat_3/tests/fp/berkeley-softfloat-3 \
+		qemu:berkeley-testfloat-3:ca9fa2b:qemu_berkeley_testfloat_3/tests/fp/berkeley-testfloat-3 \
+		qemu:keycodemapdb:6b3d716:qemu_keycodemapdb/ui/keycodemapdb \
 
 HAS_CONFIGURE=	yes
-USES=		compiler:c11 cpe gettext-runtime gl gmake gnome iconv:wchar_t perl5 \
-		pkgconfig python:build xorg
+MAKEFILE=	GNUmakefile
+USES=		cpe gmake gnome ninja:build perl5 pkgconfig python:build xorg
 USE_XORG=	pixman
 USE_GNOME+=	glib20 libxml2
 USE_PERL5=	build
@@ -37,7 +41,7 @@ OPTIONS_DEFINE=	DOCS
 .include "Makefile.snapshot"
 
 CONFIGURE_ARGS+= \
-		--target-list=cheri128-softmmu,cheri128magic-softmmu,riscv64cheri-softmmu \
+		--target-list=riscv64cheri-softmmu,morello-softmmu \
 		--disable-curl \
 		--disable-git-update \
 		--disable-gtk \
@@ -49,19 +53,18 @@ CONFIGURE_ARGS+= \
 		--disable-sdl \
 		--disable-vte \
 		--disable-xen \
+		--meson=${LOCALBASE}/bin/meson \
 		--smbd=${LOCALBASE}/sbin/smbd \
 		--extra-cflags="-g ${EXTRA_CFLAGS}" \
 		--localstatedir=/var
 EXTRA_CFLAGS=	-DCHERI_UNALIGNED
 
-PLIST_FILES=	bin/qemu-system-cheri128 \
-		bin/qemu-system-cheri128magic \
+PLIST_FILES=	bin/qemu-system-morello \
 		bin/qemu-system-riscv64cheri
 
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/cheri128-softmmu/qemu-system-cheri128 \
-	    ${WRKSRC}/cheri128magic-softmmu/qemu-system-cheri128magic \
-	    ${WRKSRC}/riscv64cheri-softmmu/qemu-system-riscv64cheri \
+	${INSTALL_PROGRAM} ${WRKSRC}/build/qemu-system-morello \
+	    ${WRKSRC}/build/qemu-system-riscv64cheri \
 	    ${STAGEDIR}${PREFIX}/bin/
 
 .include <bsd.port.mk>
diff --git a/emulators/qemu-cheri/Makefile.snapshot b/emulators/qemu-cheri/Makefile.snapshot
index 14fd0c0c55b5..5e9238ba8343 100644
--- a/emulators/qemu-cheri/Makefile.snapshot
+++ b/emulators/qemu-cheri/Makefile.snapshot
@@ -2,8 +2,6 @@
 #
 # Generated by: files/gen-Makefile.snapshot.sh.
 #
-SNAPDATE=	20200327
+SNAPDATE=	20220301
 
-QEMU_COMMIT=		0a323821042c36e21ea80e58b9545dfc3b0cb8ef
-LIBSLIRP_COMMIT=	6651ba26c4e94f64d6448a2db4991269ce553bd9
-DTC_COMMIT=		87a656ae5ff96c4903e68eb2f999532a3b98e3a7
+QEMU_COMMIT=		ef6b6871875931eb77aaa36124fa5cee796d4782
diff --git a/emulators/qemu-cheri/distinfo b/emulators/qemu-cheri/distinfo
index e438e02246ee..4bd7a7f58063 100644
--- a/emulators/qemu-cheri/distinfo
+++ b/emulators/qemu-cheri/distinfo
@@ -1,9 +1,13 @@
-TIMESTAMP = 1585324588
-SHA256 (CTSRD-CHERI-qemu-0.d20200327-0a323821042c36e21ea80e58b9545dfc3b0cb8ef_GH0.tar.gz) = ba74e4192d02ec6a5c6f72a3ee42ea4113d4719692d98a590ef9968759492fbf
-SIZE (CTSRD-CHERI-qemu-0.d20200327-0a323821042c36e21ea80e58b9545dfc3b0cb8ef_GH0.tar.gz) = 29937048
-SHA256 (CTSRD-CHERI-dtc-87a656ae5ff96c4903e68eb2f999532a3b98e3a7_GH0.tar.gz) = 9dd7b32701106948f380acdd5d91391031b3d56e9fa84e8a49d469f50bdb2ddf
-SIZE (CTSRD-CHERI-dtc-87a656ae5ff96c4903e68eb2f999532a3b98e3a7_GH0.tar.gz) = 200509
-SHA256 (CTSRD-CHERI-libslirp-6651ba26c4e94f64d6448a2db4991269ce553bd9_GH0.tar.gz) = aaffa33addd3aec53b5def83c4735275c9f501425bb0d8706494a7724875d8a6
-SIZE (CTSRD-CHERI-libslirp-6651ba26c4e94f64d6448a2db4991269ce553bd9_GH0.tar.gz) = 121465
+TIMESTAMP = 1650064276
+SHA256 (CTSRD-CHERI-qemu-0.d20220301-ef6b6871875931eb77aaa36124fa5cee796d4782_GH0.tar.gz) = 50736712857b58e6adbf73bd293683daea15e0036acabc3a4e7c496a22216bec
+SIZE (CTSRD-CHERI-qemu-0.d20220301-ef6b6871875931eb77aaa36124fa5cee796d4782_GH0.tar.gz) = 31619793
+SHA256 (qemu-dtc-85e5d83_GH0.tar.gz) = 3507d8e96d1942493128591b518c522cfd56d7779ce53283b2cf33661b809479
+SIZE (qemu-dtc-85e5d83_GH0.tar.gz) = 200566
+SHA256 (qemu-libslirp-487f4bf4_GH0.tar.gz) = 92b459875d1113db42a1cb1406f26c191b7c4af4d4ef7eed70eae2b4e55fc1ab
+SIZE (qemu-libslirp-487f4bf4_GH0.tar.gz) = 131446
+SHA256 (qemu-berkeley-softfloat-3-b64af41_GH0.tar.gz) = f22bf52cc980b122c663f2e22f8098fa60d8e468e0095f1da58231235a6b324e
+SIZE (qemu-berkeley-softfloat-3-b64af41_GH0.tar.gz) = 148768
+SHA256 (qemu-berkeley-testfloat-3-ca9fa2b_GH0.tar.gz) = 6df3f2dee4a1b50521d7270c89392fa4ba8ca80f6dbaba92816e03e517269562
+SIZE (qemu-berkeley-testfloat-3-ca9fa2b_GH0.tar.gz) = 138959
 SHA256 (qemu-keycodemapdb-6b3d716_GH0.tar.gz) = c9d3412510aac999865d01aaa14b1fa8dc0385db55c5cf6c4d95d160bd0eaee9
 SIZE (qemu-keycodemapdb-6b3d716_GH0.tar.gz) = 47905
diff --git a/emulators/qemu-cheri/files/gen-Makefile.snapshot.sh b/emulators/qemu-cheri/files/gen-Makefile.snapshot.sh
index ea5fd117035d..ee5f9597e987 100644
--- a/emulators/qemu-cheri/files/gen-Makefile.snapshot.sh
+++ b/emulators/qemu-cheri/files/gen-Makefile.snapshot.sh
@@ -31,10 +31,6 @@ query_repo()
 
 query_repo qemu qemu-cheri
 QEMU_COMMIT=$SHA
-query_repo libslirp
-LIBSLIRP_COMMIT=$SHA
-query_repo dtc
-DTC_COMMIT=$SHA
 
 cat <<EOF > Makefile.snapshot
 # Generated file!  Do not edit!  
@@ -44,8 +40,6 @@ cat <<EOF > Makefile.snapshot
 SNAPDATE=	${MAX_DATE}
 
 QEMU_COMMIT=		${QEMU_COMMIT}
-LIBSLIRP_COMMIT=	${LIBSLIRP_COMMIT}
-DTC_COMMIT=		${DTC_COMMIT}
 EOF
 
 rm -f $tmpfile
diff --git a/emulators/qemu-cheri/files/patch-configure b/emulators/qemu-cheri/files/patch-configure
deleted file mode 100644
index 8f19f7d642cd..000000000000
--- a/emulators/qemu-cheri/files/patch-configure
+++ /dev/null
@@ -1,52 +0,0 @@
---- configure.orig	2019-12-09 17:14:11 UTC
-+++ configure
-@@ -6358,27 +6358,30 @@ if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ] 
-     cat > $TMPC <<EOF
-     int main(void) { return 0; }
- EOF
--    textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr"
-+    textseg_ldflags="-Wl,--image-base=$textseg_addr"
-     if ! compile_prog "" "$textseg_ldflags"; then
--      # In case ld does not support -Ttext-segment, edit the default linker
--      # script via sed to set the .text start addr.  This is needed on FreeBSD
--      # at least.
--      if ! $ld --verbose >/dev/null 2>&1; then
--        error_exit \
--            "We need to link the QEMU user mode binaries at a" \
--            "specific text address. Unfortunately your linker" \
--            "doesn't support either the -Ttext-segment option or" \
--            "printing the default linker script with --verbose." \
--            "If you don't want the user mode binaries, pass the" \
--            "--disable-user option to configure."
--      fi
-+      textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr"
-+      if ! compile_prog "" "$textseg_ldflags"; then
-+        # In case ld does not support -Ttext-segment, edit the default linker
-+        # script via sed to set the .text start addr.  This is needed on FreeBSD
-+        # at least.
-+        if ! $ld --verbose >/dev/null 2>&1; then
-+          error_exit \
-+              "We need to link the QEMU user mode binaries at a" \
-+              "specific text address. Unfortunately your linker" \
-+              "doesn't support either the -Ttext-segment option or" \
-+              "printing the default linker script with --verbose." \
-+              "If you don't want the user mode binaries, pass the" \
-+              "--disable-user option to configure."
-+        fi
- 
--      $ld --verbose | sed \
--        -e '1,/==================================================/d' \
--        -e '/==================================================/,$d' \
--        -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \
--        -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld
--      textseg_ldflags="-Wl,-T../config-host.ld"
-+        $ld --verbose | sed \
-+          -e '1,/==================================================/d' \
-+          -e '/==================================================/,$d' \
-+          -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \
-+          -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld
-+        textseg_ldflags="-Wl,-T../config-host.ld"
-+      fi
-     fi
-   fi
- fi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202204181648.23IGmm4I099231>