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:
Brooks Davis 2019-01-28 23:32:08 +00:00
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

View file

@ -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

View file

@ -4,6 +4,6 @@
#
# Generated by: files/gen-Makefile.snapshot.sh.
#
SNAPDATE= 20181031
SNAPDATE= 20190128
QEMU_COMMIT= 05df601224d09e5e454ae778d31b9951c5b96d25
QEMU_COMMIT= 86927ac45db75b1eaac578ed58b32355ca9ad5f6

View file

@ -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

View 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"