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.
This commit is contained in:
parent
ca9eaf50bc
commit
6417835d78
5 changed files with 27 additions and 80 deletions
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
Loading…
Reference in a new issue