aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emulators/qemu-cheri/Makefile25
-rw-r--r--emulators/qemu-cheri/Makefile.snapshot6
-rw-r--r--emulators/qemu-cheri/distinfo18
-rw-r--r--emulators/qemu-cheri/files/gen-Makefile.snapshot.sh6
-rw-r--r--emulators/qemu-cheri/files/patch-configure52
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