Update to a new snapshow matching our upcoming paper.
Grab the build fix for 12.x and -CURRENT from r484695. Sponsored by: DARPA, AFRL
This commit is contained in:
parent
abaea7ff90
commit
36f10c0e17
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=491520
4 changed files with 131 additions and 5 deletions
|
@ -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
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
#
|
||||
# Generated by: files/gen-Makefile.snapshot.sh.
|
||||
#
|
||||
SNAPDATE= 20181031
|
||||
SNAPDATE= 20190128
|
||||
|
||||
QEMU_COMMIT= 05df601224d09e5e454ae778d31b9951c5b96d25
|
||||
QEMU_COMMIT= 86927ac45db75b1eaac578ed58b32355ca9ad5f6
|
||||
|
|
|
@ -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
|
||||
|
|
123
emulators/qemu-cheri/files/patch-rdma-pvrdma-split
Normal file
123
emulators/qemu-cheri/files/patch-rdma-pvrdma-split
Normal file
|
@ -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"
|
Loading…
Reference in a new issue