aboutsummaryrefslogtreecommitdiff
path: root/emulators/qemu-cheri
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2019-01-28 23:32:08 +0000
committerBrooks Davis <brooks@FreeBSD.org>2019-01-28 23:32:08 +0000
commit36f10c0e174dc73404066caf99fee6368fe28eae (patch)
treea6a32486a983f5d1bf3df22002c74b7e000e605d /emulators/qemu-cheri
parentabaea7ff90701f6a1e0ab97287377921729a4b16 (diff)
downloadports-36f10c0e174dc73404066caf99fee6368fe28eae.tar.gz
ports-36f10c0e174dc73404066caf99fee6368fe28eae.zip
Update to a new snapshow matching our upcoming paper.
Grab the build fix for 12.x and -CURRENT from r484695. Sponsored by: DARPA, AFRL
Notes
Notes: svn path=/head/; revision=491520
Diffstat (limited to 'emulators/qemu-cheri')
-rw-r--r--emulators/qemu-cheri/Makefile3
-rw-r--r--emulators/qemu-cheri/Makefile.snapshot4
-rw-r--r--emulators/qemu-cheri/distinfo6
-rw-r--r--emulators/qemu-cheri/files/patch-rdma-pvrdma-split123
4 files changed, 131 insertions, 5 deletions
diff --git a/emulators/qemu-cheri/Makefile b/emulators/qemu-cheri/Makefile
index 8d4de9089574..16878918e825 100644
--- a/emulators/qemu-cheri/Makefile
+++ b/emulators/qemu-cheri/Makefile
@@ -10,6 +10,8 @@ COMMENT?= QEMU emulator with CHERI CPU support
# XXX: disabling gnutls doesn't work so depend on it to avoid breakage.
LIB_DEPENDS= libcapstone.so:devel/capstone3 \
+ libdrm.so:graphics/libdrm \
+ libepoxy.so:graphics/libepoxy \
libgnutls.so:security/gnutls \
libnettle.so:security/nettle
RUN_DEPENDS= qemu-system-i386:emulators/qemu
@@ -25,6 +27,7 @@ HAS_CONFIGURE= yes
USES= gettext-runtime gmake gnome libtool makeinfo pkgconfig python:2.7,build
USE_XORG= pixman
USE_GNOME+= glib20 libxml2
+USE_GL+= gbm
ONLY_FOR_ARCHS= amd64 powerpc64
OPTIONS_DEFINE= DOCS
diff --git a/emulators/qemu-cheri/Makefile.snapshot b/emulators/qemu-cheri/Makefile.snapshot
index 5aefe784f4e4..190d2c279b1f 100644
--- a/emulators/qemu-cheri/Makefile.snapshot
+++ b/emulators/qemu-cheri/Makefile.snapshot
@@ -4,6 +4,6 @@
#
# Generated by: files/gen-Makefile.snapshot.sh.
#
-SNAPDATE= 20181031
+SNAPDATE= 20190128
-QEMU_COMMIT= 05df601224d09e5e454ae778d31b9951c5b96d25
+QEMU_COMMIT= 86927ac45db75b1eaac578ed58b32355ca9ad5f6
diff --git a/emulators/qemu-cheri/distinfo b/emulators/qemu-cheri/distinfo
index 9ced07cde998..1899ff46f409 100644
--- a/emulators/qemu-cheri/distinfo
+++ b/emulators/qemu-cheri/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1542228858
-SHA256 (CTSRD-CHERI-qemu-0.d20181031-05df601224d09e5e454ae778d31b9951c5b96d25_GH0.tar.gz) = 2ed68cddbbd19df77c73337254ddf4ddc139c319efec4f6ec733b0d31a65888a
-SIZE (CTSRD-CHERI-qemu-0.d20181031-05df601224d09e5e454ae778d31b9951c5b96d25_GH0.tar.gz) = 16153356
+TIMESTAMP = 1548717778
+SHA256 (CTSRD-CHERI-qemu-0.d20190128-86927ac45db75b1eaac578ed58b32355ca9ad5f6_GH0.tar.gz) = 0b274ed75457a3b277d54c83e414a3c750efb85a60104a7e4c124b4d656c49f0
+SIZE (CTSRD-CHERI-qemu-0.d20190128-86927ac45db75b1eaac578ed58b32355ca9ad5f6_GH0.tar.gz) = 16158436
SHA256 (qemu-keycodemapdb-6b3d716_GH0.tar.gz) = c9d3412510aac999865d01aaa14b1fa8dc0385db55c5cf6c4d95d160bd0eaee9
SIZE (qemu-keycodemapdb-6b3d716_GH0.tar.gz) = 47905
diff --git a/emulators/qemu-cheri/files/patch-rdma-pvrdma-split b/emulators/qemu-cheri/files/patch-rdma-pvrdma-split
new file mode 100644
index 000000000000..d196a4c62594
--- /dev/null
+++ b/emulators/qemu-cheri/files/patch-rdma-pvrdma-split
@@ -0,0 +1,123 @@
+diff --git configure configure
+index 457684a7e6..3da60d8436 100755
+--- configure
++++ configure
+@@ -353,6 +353,7 @@ hax="no"
+ hvf="no"
+ whpx="no"
+ rdma=""
++pvrdma=""
+ gprof="no"
+ debug_tcg="no"
+ debug="no"
+@@ -1308,6 +1309,10 @@ for opt do
+ ;;
+ --disable-rdma) rdma="no"
+ ;;
++ --enable-pvrdma) pvrdma="yes"
++ ;;
++ --disable-pvrdma) pvrdma="no"
++ ;;
+ --with-gtkabi=*) gtkabi="$optarg"
+ ;;
+ --disable-vte) vte="no"
+@@ -1593,7 +1598,8 @@ disabled with --disable-FEATURE, default is enabled if available:
+ hax HAX acceleration support
+ hvf Hypervisor.framework acceleration support
+ whpx Windows Hypervisor Platform acceleration support
+- rdma Enable RDMA-based migration and PVRDMA support
++ rdma Enable RDMA-based migration
++ pvrdma Enable PVRDMA support
+ vde support for vde network
+ netmap support for netmap network
+ linux-aio Linux AIO support
+@@ -2971,6 +2977,48 @@ EOF
+ fi
+ fi
+
++##########################################
++# PVRDMA detection
++
++cat > $TMPC <<EOF &&
++#include <sys/mman.h>
++
++int
++main(void)
++{
++ char buf = 0;
++ void *addr = &buf;
++ addr = mremap(addr, 0, 1, MREMAP_MAYMOVE | MREMAP_FIXED);
++
++ return 0;
++}
++EOF
++
++if test "$rdma" = "yes" ; then
++ case "$pvrdma" in
++ "")
++ if compile_prog "" ""; then
++ pvrdma="yes"
++ else
++ pvrdma="no"
++ fi
++ ;;
++ "yes")
++ if ! compile_prog "" ""; then
++ error_exit "PVRDMA is not supported since mremap is not implemented"
++ fi
++ pvrdma="yes"
++ ;;
++ "no")
++ pvrdma="no"
++ ;;
++ esac
++else
++ if test "$pvrdma" = "yes" ; then
++ error_exit "PVRDMA requires rdma suppport"
++ fi
++ pvrdma="no"
++fi
+
+ ##########################################
+ # VNC SASL detection
+@@ -5820,6 +5868,7 @@ if test "$tcg" = "yes" ; then
+ fi
+ echo "malloc trim support $malloc_trim"
+ echo "RDMA support $rdma"
++echo "PVRDMA support $pvrdma"
+ echo "fdt support $fdt"
+ echo "membarrier $membarrier"
+ echo "preadv support $preadv"
+@@ -6568,6 +6617,10 @@ if test "$rdma" = "yes" ; then
+ echo "RDMA_LIBS=$rdma_libs" >> $config_host_mak
+ fi
+
++if test "$pvrdma" = "yes" ; then
++ echo "CONFIG_PVRDMA=y" >> $config_host_mak
++fi
++
+ if test "$have_rtnetlink" = "yes" ; then
+ echo "CONFIG_RTNETLINK=y" >> $config_host_mak
+ fi
+diff --git hw/rdma/Makefile.objs hw/rdma/Makefile.objs
+index 3504c39d21..bd36cbf51c 100644
+--- hw/rdma/Makefile.objs
++++ hw/rdma/Makefile.objs
+@@ -1,4 +1,4 @@
+-ifeq ($(CONFIG_RDMA),y)
++ifeq ($(CONFIG_PVRDMA),y)
+ obj-$(CONFIG_PCI) += rdma_utils.o rdma_backend.o rdma_rm.o
+ obj-$(CONFIG_PCI) += vmw/pvrdma_dev_ring.o vmw/pvrdma_cmd.o \
+ vmw/pvrdma_qp_ops.o vmw/pvrdma_main.o
+diff --git hw/rdma/vmw/pvrdma_cmd.c hw/rdma/vmw/pvrdma_cmd.c
+index 99019d8741..bd14b4bc47 100644
+--- hw/rdma/vmw/pvrdma_cmd.c
++++ hw/rdma/vmw/pvrdma_cmd.c
+@@ -16,7 +16,6 @@
+ #include "qemu/osdep.h"
+ #include "qemu/error-report.h"
+ #include "cpu.h"
+-#include <linux/types.h>
+ #include "hw/hw.h"
+ #include "hw/pci/pci.h"
+ #include "hw/pci/pci_ids.h"