summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2016-09-04 09:21:04 +0000
committerryoon <ryoon@pkgsrc.org>2016-09-04 09:21:04 +0000
commitd58b8b73c9f67775633f8195090713518677897b (patch)
tree54600989164f9c9e1b7547ec3c3ebf6a9ca5e74a /emulators
parent454566923435d9b87fe8db5080d66cb25cf59922 (diff)
downloadpkgsrc-d58b8b73c9f67775633f8195090713518677897b.tar.gz
Update to 2.7.0
Changelog: System emulation Incompatible changes SPI flash devices "160s33b", "320s33b", "640s33b", "at25df041a", "at25df321a", "at25df641", "at25fs010", "at25fs040", "at26df081a", "at26df161a", "at26df321", "at26f004", "at45db081d", "en25f32", "en25p32", "en25p64", "en25q32b", "en25q64", "gd25q32", "gd25q64", "m25p05", "m25p10", "m25p128", "m25p16", "m25p20", "m25p32", "m25p40", "m25p64", "m25p80", "m25pe16", "m25pe20", "m25pe80", "m25px32", "m25px32-s0", "m25px32-s1", "m25px64", "m45pe10", "m45pe16", "m45pe80", "mx25l12805d", "mx25l12855e", "mx25l1606e", "mx25l2005a", "mx25l25635e", "mx25l25655e", "mx25l3205d", "mx25l4005a", "mx25l6405d", "mx25l8005", "n25q032", "n25q032a11", "n25q032a13", "n25q064", "n25q064a11", "n25q064a13", "n25q128", "n25q128a11", "n25q128a13", "n25q256a11", "n25q256a13", "s25fl016k", "s25fl064k", "s25fl129p0", "s25fl129p1", "s25fl256s0", "s25fl256s1", "s25fl512s", "s25sl004a", "s25sl008a", "s25sl016a", "s25sl032a", "s25sl032p", "s25sl064a", "s25sl064p", "s25sl12800", "s25sl12801", "s70fl01gs", "sst25vf016b", "sst25vf032b", "sst25vf040b", "sst25vf080b", "sst25wf010", "sst25wf020", "sst25wf040", "sst25wf512", "w25q256", "w25q32", "w25q32dw", "w25q64", "w25q80", "w25q80bl", "w25x10", "w25x16", "w25x20", "w25x32", "w25x40", "w25x64", "w25x80" connect to a backend explicitly named by a "drive" property instead of an implicit -drive if=mtd. This only affect devices created explicitly with -device; "-drive if=mtd" still works for SPI flash devices created by boards, so this should affect almost no one. Support for the original qcow2 image encryption has been disabled entirely from the system emulators. While QEMU 2.3 attempted to keep it available in system emulators, a bug in the code has actually broken it since 2.4, and no one complained. Supported for the format remains available only in command line tools qemu-img, qemu-io, qemu-nbd to facilitate data liberation. It is recommended to use 'qemu-img convert' to convert qcow2 encrypted images to uncrypted ones. The new LUKS encryption driver can provide a secure replacement, and a future release may integrate luks into qcow2 natively. Autoconverge is not considered experimental anymore; autoconverge-related commands do not have the "x-" prefix anymore. The MIPS64R6-generic CPU model was renamed to I6400. On Q35 machines, IOMMU are now enabled with "-device iommu" instead of "-machine iommu=on". Future incompatible changes Three options are using different names on the command line and in configuration file. In particular: The "acpi" configuration file section matches command-line option "acpitable"; The "boot-opts" configuration file section matches command-line option "boot"; The "smp-opts" configuration file section matches command-line option "smp". -readconfig will standardize on the name for the command line option. Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them. Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users. QMP command blockdev-add is still a work in progress. It doesn't support all block drivers, it lacks a matching blockdev-del, and more. It might change incompatibly. ARM The "virt" machine type has support for NUMA. We now implement an emulated GICv3 interrupt controller, which is supported by the "virt" board and can be enabled with "-machine gic-version=3". Note that many guest OSes do not correctly support a GICv3 without security extensions; if your guest is Linux it must include commit 7c9b973061 "irqchip/gic-v3: Configure all interrupts as non-secure Group-1" or a backport of that patch to one of the stable branches. UEFI and FreeBSD are also known to need similar bug fixes.With a GICv3 the "virt" board now supports TCG (emulated CPU) configurations with more than 8 vCPUs. New Xilinx Zynq ZCU102 board (-M xlnx-zcu102). Xilinx Zynq boards have experimental support for ARM Security Extensions. Xilinx Zynq MP supports DisplayPort (graphics and audio) and DDC (used for EDID info). i.MX6? KVM Xilinx Zynq boards support KVM on AArch64 hosts. MIPS Support for 10-bit ASIDs The MIPS64R6-generic CPU model was renamed to I6400. Initial GIC support Support for IEE 754-2008 PowerPC Many TCG fixes. mac99 machine can now boot MacOS >= 9.1 pSeries Significant performance improvements for the spapr-llan device. Support for CPU hotplug. Performance improvements for VFIO through dynamic DMA windows. s390 Support for runtime instrumentation The IPL firmware can boot from devices in subchannel sets > 0 Major refactoring and improvements of the s390x-specific PCI code Optionally, zPCI specific 'uid' and 'fid' attributes may be provided Guest-acknowledged hotunplug (rather than 'surprise removal' only) bootindex support for IPL from SCSI devices SPARC Fix for sun4m Solaris 9 "Segmentation fault" regression (see bug #1588328) x86 CPU hot-remove support based on generic device_add/device_del interface support arbitrary CPU adding/removal Limitation: 1st (boot) CPU isn't removable KVM Support for LMCE (local MCE) virtualization, which will require Linux 4.8. LMCE can be enabled through "-cpu model,lmce" on all CPUs as long as the kernel supports it. Device emulation and assignment ACPI NVDIMM devices are now described in the ACPI tables and support labels. new ACPI CPU hotplug MMIO interface since 2.7 machine types for PC/Q35 more than 255 CPUs support CPU hot-remove support Guest side CPU hotplug status notification via _OST events Block devices Removed dataplane blockers? (Fam) New -device properties replacing -drive properties? virtio-blk now supports multiqueue through a "num-queues" device property. Network devices New device e1000e for Intel 82574 NIC. QEMU now includes iPXE ROMs for vmxnet3 devices. SCSI scsi-block now passes sense data correctly to the guest, so that it can support for example persistent reservations. Support for passthrough of SCSI scanner. PCI/PCIe On Q35 machines, IOMMU are now enabled with "-device iommu" instead of "-machine iommu=on". USB Support for Xen paravirtualized USB usb-bot and usb-uas now support hotplug. VFIO Support for device assignment of Intel integrated graphics devices. The SR-IOV capability is now hidden to guests when passing through a physical function. virtio Initial reconnect support for vhost-user. Support for busy polling on vhost-net devices ("-netdev tap,...,poll-us=n"). virtio-gpu multi-monitor fixes virtio-gpu 2d live migration support Character devices QEMU for Windows: Fixed handling of files used for character devices – they are now truncated by default like on Linux. TLS support Support for overriding the TLS property, for example "-object tls-creds-x509,...,priority=NORMAL:-VERS-SSL3.0" disables SSL 3.0. This can be used both to use a non-standard weaker set of prioririties, or to enforce a stronger default for QEMU. The default priority can also be specified through "--tls-priority=VALUE" at configure time. GUI A new option "-machine graphics=on|off" lets you disable graphics in the VM like "-nographic" (e.g. OpenBIOS will use the serial port for boot messages) but without an implicit "-display none". Monitor new 'info hotpluggable-cpus' and corresponding 'query-hotpluggable-cpus' QMP commands to list present/possible CPUs with properties necessary to add a CPU instance using device_add for a given '-smp ...' layout supported by x86 and SPAPR softmmu targets Migration Autoconverge is not considered experimental anymore. Autoconverge-related commands do not have the "x-" prefix. TODO: TLS support Network User-mode networking supports DHCPv6, RDNSS, DNS6 and link-local DNS addresses. Socket networking in TCP mode can now run over IPv6. UDP and multicast modes do not support IPv6 yet. Block devices and tools New "bench" command in qemu-img . The "write" command in qemu-io grew "-f" and "-z -u" options. TODO: Block job ids? TCG Speed improvements around 20%. Fixes for self-modifying code. Tracing TODO: dfilter TODO: tracing for qemu-io, qemu-img and qemu-nbd CLI options '-cpu cpu-model,feat1=foo,...' acts as a set of '-global cpu-model-type.feat1=foo' options, which affects initial CPUs as well as all CPUs created with help of -device/device_add/cpu-add for a given cpu-model doesn't apply to SPARC target which uses legacy -cpu semantics as its features haven't been converted to properties.
Diffstat (limited to 'emulators')
-rw-r--r--emulators/qemu/Makefile4
-rw-r--r--emulators/qemu/PLIST7
-rw-r--r--emulators/qemu/distinfo19
-rw-r--r--emulators/qemu/patches/patch-Makefile.objs9
-rw-r--r--emulators/qemu/patches/patch-configure16
-rw-r--r--emulators/qemu/patches/patch-ef12
-rw-r--r--emulators/qemu/patches/patch-scripts_qemu-binfmt-conf.sh21
-rw-r--r--emulators/qemu/patches/patch-tests_Makefile16
-rw-r--r--emulators/qemu/patches/patch-tests_Makefile.include17
9 files changed, 75 insertions, 46 deletions
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile
index d873deaddf9..e0c2c4a4cf8 100644
--- a/emulators/qemu/Makefile
+++ b/emulators/qemu/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.153 2016/08/27 03:16:40 maya Exp $
+# $NetBSD: Makefile,v 1.154 2016/09/04 09:21:04 ryoon Exp $
-DISTNAME= qemu-2.6.1
+DISTNAME= qemu-2.7.0
CATEGORIES= emulators
MASTER_SITES= http://wiki.qemu.org/download/
EXTRACT_SUFX= .tar.bz2
diff --git a/emulators/qemu/PLIST b/emulators/qemu/PLIST
index 705718852fc..f89cfedc0da 100644
--- a/emulators/qemu/PLIST
+++ b/emulators/qemu/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.46 2016/05/15 01:25:15 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.47 2016/09/04 09:21:04 ryoon Exp $
${PLIST.ivshmem}bin/ivshmem-client
${PLIST.ivshmem}bin/ivshmem-server
${PLIST.alpha}bin/qemu-alpha
@@ -70,11 +70,13 @@ share/qemu/bamboo.dtb
share/qemu/bios-256k.bin
share/qemu/bios.bin
share/qemu/efi-e1000.rom
+share/qemu/efi-e1000e.rom
share/qemu/efi-eepro100.rom
share/qemu/efi-ne2k_pci.rom
share/qemu/efi-pcnet.rom
share/qemu/efi-rtl8139.rom
share/qemu/efi-virtio.rom
+share/qemu/efi-vmxnet3.rom
share/qemu/keymaps/ar
share/qemu/keymaps/bepo
share/qemu/keymaps/common
@@ -114,6 +116,7 @@ share/qemu/keymaps/th
share/qemu/keymaps/tr
share/qemu/kvmvapic.bin
share/qemu/linuxboot.bin
+share/qemu/linuxboot_dma.bin
share/qemu/multiboot.bin
share/qemu/openbios-ppc
share/qemu/openbios-sparc32
@@ -134,7 +137,7 @@ share/qemu/s390-ccw.img
share/qemu/sgabios.bin
share/qemu/slof.bin
share/qemu/spapr-rtas.bin
-share/qemu/trace-events
+share/qemu/trace-events-all
share/qemu/u-boot.e500
share/qemu/vgabios-cirrus.bin
share/qemu/vgabios-qxl.bin
diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo
index 06112e6c02b..7eca250bd5c 100644
--- a/emulators/qemu/distinfo
+++ b/emulators/qemu/distinfo
@@ -1,13 +1,13 @@
-$NetBSD: distinfo,v 1.116 2016/08/27 03:16:40 maya Exp $
+$NetBSD: distinfo,v 1.117 2016/09/04 09:21:04 ryoon Exp $
-SHA1 (qemu-2.6.1.tar.bz2) = 8551c8424d14917f6d2af78fe20565fbcaffb768
-RMD160 (qemu-2.6.1.tar.bz2) = ba651541ebd7ab3920843c6fb94928c5ca574549
-SHA512 (qemu-2.6.1.tar.bz2) = adb55d0774618c9cd02d376222814f2047977bfbca73248841275084ae537db583db4ac6cfa5cc65c3182941d5f4b40f2f7f4661b2cd93cbb3796e2f325bc919
-Size (qemu-2.6.1.tar.bz2) = 25762855 bytes
-SHA1 (patch-Makefile.objs) = 81274d0dde593a8379428df1f974d6c50a65dd92
-SHA1 (patch-configure) = a24c31f005ee12ab56f19e3e8594b0a3bad955fc
+SHA1 (qemu-2.7.0.tar.bz2) = 96737d31a2fb74553dacbd0ddaa93014858dc986
+RMD160 (qemu-2.7.0.tar.bz2) = cc962261a4f7b05ace8c16027bda770a89322cd3
+SHA512 (qemu-2.7.0.tar.bz2) = 654acaa7b3724a288e5d7e2a26ab780d9c9ed9f647fba00a906cbaffbe9d58fd666f2d962514aa2c5b391b4c53811ac3170d2eb51727f090bd19dfe45ca9a9db
+Size (qemu-2.7.0.tar.bz2) = 26867760 bytes
+SHA1 (patch-Makefile.objs) = f40deeed5482a24369e898411bb611be418dc3ca
+SHA1 (patch-configure) = 9eb469dc5be1d7c6b4ee69e8ee61e6ab8d542112
SHA1 (patch-default-configs_pci.mak) = 2162550a68de514c8fe9e255df88f8a0a07ee6c7
-SHA1 (patch-ef) = 6e57de87f91067e8a9a1388c91133a31b3582b3a
+SHA1 (patch-ef) = 98a1de2fd48638886b5d16f6a61dc72910e98b41
SHA1 (patch-et) = e9b850ac5985cbe934b541acbfdb330cce421d50
SHA1 (patch-hw_display_omap__dss.c) = 6b13242f28e32346bc70548c216c578d98fd3420
SHA1 (patch-hw_misc_ivshmem.c) = c1fdc8111286f2c760512189db4a854bfc6129d0
@@ -16,5 +16,6 @@ SHA1 (patch-hw_net_xilinx__axienet.c) = ebcd2676d64ce6f31e4a8c976d4fdf530ad5e8b7
SHA1 (patch-hw_ppc_mac__newworld.c) = 5131bb6edf8b0acf6e7ed3b6bc7be962dc71eca6
SHA1 (patch-hw_ppc_mac__oldworld.c) = b71667ab281dc23c9d971dc8754eeefc879bd1d7
SHA1 (patch-memory.c) = 9f94de7799ef80931fb1de572e5603894f3fb328
+SHA1 (patch-scripts_qemu-binfmt-conf.sh) = a59c227e5891efe201eb2b8af15fb0832a1b20d0
SHA1 (patch-slirp_tcp__subr.c) = f011c9dc58282e61b26017547a9884f30a6e6154
-SHA1 (patch-tests_Makefile) = bd8997ea00eea05489335020ccae0e33dbcb84f9
+SHA1 (patch-tests_Makefile.include) = 42345d697cb2e324dccf1d68bd8d61e8001c6162
diff --git a/emulators/qemu/patches/patch-Makefile.objs b/emulators/qemu/patches/patch-Makefile.objs
index 8f76d78f6d5..d2b3b5323f0 100644
--- a/emulators/qemu/patches/patch-Makefile.objs
+++ b/emulators/qemu/patches/patch-Makefile.objs
@@ -1,8 +1,8 @@
-$NetBSD: patch-Makefile.objs,v 1.1 2015/12/21 12:10:22 ryoon Exp $
+$NetBSD: patch-Makefile.objs,v 1.2 2016/09/04 09:21:04 ryoon Exp $
---- Makefile.objs.orig 2015-12-16 22:04:47.000000000 +0000
+--- Makefile.objs.orig 2016-09-02 15:34:17.000000000 +0000
+++ Makefile.objs
-@@ -109,5 +109,7 @@ qga-vss-dll-obj-y = qga/
+@@ -113,8 +113,10 @@ qga-vss-dll-obj-y = qga/
######################################################################
# contrib
@@ -10,3 +10,6 @@ $NetBSD: patch-Makefile.objs,v 1.1 2015/12/21 12:10:22 ryoon Exp $
ivshmem-client-obj-y = contrib/ivshmem-client/
ivshmem-server-obj-y = contrib/ivshmem-server/
+endif
+
+
+ ######################################################################
diff --git a/emulators/qemu/patches/patch-configure b/emulators/qemu/patches/patch-configure
index bf0263cd136..7d112b2cb66 100644
--- a/emulators/qemu/patches/patch-configure
+++ b/emulators/qemu/patches/patch-configure
@@ -1,20 +1,20 @@
-$NetBSD: patch-configure,v 1.13 2016/05/15 01:25:15 ryoon Exp $
+$NetBSD: patch-configure,v 1.14 2016/09/04 09:21:04 ryoon Exp $
Don't use gld on SunOS
add check for shm_open
avoid bad substitution
---- configure.orig 2016-05-11 15:56:07.000000000 +0000
+--- configure.orig 2016-09-02 15:34:17.000000000 +0000
+++ configure
-@@ -624,7 +624,6 @@ SunOS)
+@@ -625,7 +625,6 @@ SunOS)
solaris="yes"
make="${MAKE-gmake}"
install="${INSTALL-ginstall}"
- ld="gld"
smbd="${SMBD-/usr/sfw/sbin/smbd}"
needs_libsunmath="no"
- solarisrev=`uname -r | cut -f2 -d.`
-@@ -3672,6 +3671,27 @@ if compile_prog "" "" ; then
+ solarisrev=$(uname -r | cut -f2 -d.)
+@@ -3706,6 +3705,27 @@ if compile_prog "" "" ; then
fallocate_zero_range=yes
fi
@@ -42,7 +42,7 @@ avoid bad substitution
# check for posix_fallocate
posix_fallocate=no
cat > $TMPC << EOF
-@@ -3935,8 +3955,13 @@ fi
+@@ -3955,8 +3975,13 @@ fi
cat > $TMPC <<EOF
#include <signal.h>
#include <time.h>
@@ -56,7 +56,7 @@ avoid bad substitution
return clock_gettime(CLOCK_REALTIME, NULL);
}
EOF
-@@ -4583,7 +4608,9 @@ if test "$want_tools" = "yes" ; then
+@@ -4607,7 +4632,9 @@ if test "$want_tools" = "yes" ; then
tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"
if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
tools="qemu-nbd\$(EXESUF) $tools"
@@ -67,7 +67,7 @@ avoid bad substitution
fi
fi
if test "$softmmu" = yes ; then
-@@ -5074,6 +5101,9 @@ fi
+@@ -5114,6 +5141,9 @@ fi
if test "$fallocate_zero_range" = "yes" ; then
echo "CONFIG_FALLOCATE_ZERO_RANGE=y" >> $config_host_mak
fi
diff --git a/emulators/qemu/patches/patch-ef b/emulators/qemu/patches/patch-ef
index bfef9ae57d5..e1bd7437d1e 100644
--- a/emulators/qemu/patches/patch-ef
+++ b/emulators/qemu/patches/patch-ef
@@ -1,16 +1,16 @@
-$NetBSD: patch-ef,v 1.7 2014/01/15 18:26:20 wiz Exp $
+$NetBSD: patch-ef,v 1.8 2016/09/04 09:21:04 ryoon Exp $
Avoid conflicts with SSP read() macro in NetBSD's <ssp/unistd.h>
(PR lib/43832: ssp causes common names to be defines)
---- audio/audio.c.orig 2013-11-27 22:15:55.000000000 +0000
+--- audio/audio.c.orig 2016-09-02 15:34:17.000000000 +0000
+++ audio/audio.c
-@@ -1173,7 +1173,7 @@ int AUD_read (SWVoiceIn *sw, void *buf,
+@@ -1156,7 +1156,7 @@ int AUD_read (SWVoiceIn *sw, void *buf,
return 0;
}
-- bytes = sw->hw->pcm_ops->read (sw, buf, size);
-+ bytes = (*sw->hw->pcm_ops->read)(sw, buf, size);
- return bytes;
+- return sw->hw->pcm_ops->read(sw, buf, size);
++ return (sw->hw->pcm_ops->read)(sw, buf, size);
}
+ int AUD_get_buffer_size_out (SWVoiceOut *sw)
diff --git a/emulators/qemu/patches/patch-scripts_qemu-binfmt-conf.sh b/emulators/qemu/patches/patch-scripts_qemu-binfmt-conf.sh
new file mode 100644
index 00000000000..977deca0c38
--- /dev/null
+++ b/emulators/qemu/patches/patch-scripts_qemu-binfmt-conf.sh
@@ -0,0 +1,21 @@
+$NetBSD: patch-scripts_qemu-binfmt-conf.sh,v 1.1 2016/09/04 09:21:04 ryoon Exp $
+
+* POSIX shell portability
+
+--- scripts/qemu-binfmt-conf.sh.orig 2016-09-02 15:34:23.000000000 +0000
++++ scripts/qemu-binfmt-conf.sh
+@@ -279,12 +279,12 @@ while true ; do
+ shift
+ # check given cpu is in the supported CPU list
+ for cpu in ${qemu_target_list} ; do
+- if [ "$cpu" == "$1" ] ; then
++ if [ "$cpu" = "$1" ] ; then
+ break
+ fi
+ done
+
+- if [ "$cpu" == "$1" ] ; then
++ if [ "$cpu" = "$1" ] ; then
+ qemu_target_list="$1"
+ else
+ echo "ERROR: unknown CPU \"$1\"" 1>&2
diff --git a/emulators/qemu/patches/patch-tests_Makefile b/emulators/qemu/patches/patch-tests_Makefile
deleted file mode 100644
index 194a51e1545..00000000000
--- a/emulators/qemu/patches/patch-tests_Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-tests_Makefile,v 1.3 2015/12/18 22:39:33 ryoon Exp $
-Don't link -lutil on SunOS
-
---- tests/Makefile.orig 2015-12-16 22:04:51.000000000 +0000
-+++ tests/Makefile
-@@ -539,8 +539,10 @@ tests/ivshmem-test$(EXESUF): tests/ivshm
- tests/vhost-user-bridge$(EXESUF): tests/vhost-user-bridge.o
-
- ifeq ($(CONFIG_POSIX),y)
-+ifneq ($(CONFIG_SOLARIS),y)
- LIBS += -lutil
- endif
-+endif
-
- # QTest rules
-
diff --git a/emulators/qemu/patches/patch-tests_Makefile.include b/emulators/qemu/patches/patch-tests_Makefile.include
new file mode 100644
index 00000000000..99210051551
--- /dev/null
+++ b/emulators/qemu/patches/patch-tests_Makefile.include
@@ -0,0 +1,17 @@
+$NetBSD: patch-tests_Makefile.include,v 1.1 2016/09/04 09:21:04 ryoon Exp $
+
+* Don't link -lutil on SunOS
+
+--- tests/Makefile.include.orig 2016-09-02 15:34:24.000000000 +0000
++++ tests/Makefile.include
+@@ -645,8 +645,10 @@ tests/migration/initrd-stress.img: tests
+ rmdir $(INITRD_WORK_DIR)
+
+ ifeq ($(CONFIG_POSIX),y)
++ifneq ($(CONFIG_SOLARIS),y)
+ LIBS += -lutil
+ endif
++endif
+
+ # QTest rules
+