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>