diff options
author | adam <adam@pkgsrc.org> | 2013-08-16 21:20:11 +0000 |
---|---|---|
committer | adam <adam@pkgsrc.org> | 2013-08-16 21:20:11 +0000 |
commit | 6af8d0a650dd152bb3ebbe923aa27e50b7c007ed (patch) | |
tree | ebdbb3801449d8efcc420204cbf367b0496486e6 /emulators | |
parent | 679154675cdbe39d8f94b39b8710e7441555b630 (diff) | |
download | pkgsrc-6af8d0a650dd152bb3ebbe923aa27e50b7c007ed.tar.gz |
Changes 1.6.0:
Block devices
* New device "nvme" provides a PCI device that implements the NVMe standard.
* Fix for a possible data loss on crashes with IDE disks (due to mishandling of FLUSH requests)
Device assignment
* Legacy PCI assignment supports CPU affinity for MSI interrupts.
USB
* The XHCI (USB 3.0) controller supports live migration.
PCI
* ACPI hotplug of devices behind a PCI bridge is supported.
ARM
* The 32-bit ARMv8 LDA/STL instructions for load-acquire/store-release are supported (only with -cpu any); the remainder of the new v8 instructions will follow in a future release.
* The vexpress-a9 and vexpress-a15 boards have experimental support for virtio devices via a virtio-mmio transport. Note that the virtio command lines used with x86 systems won't work as they will create PCI virtio devices; use the devices "virtio-blk-device", "virtio-net-device", etc instead. Note that this functionality may change in future releases.
* The -initrd option now accepts ramdisks with a U-Boot header.
* A model of the Calxeda ECX-2000 / Midway system is now supported ("midway").
PPC
* Mac OS X guests supported (10.2-10.4 for PPC, 10.4 for PPC64)
* pSeries guests support live migration and savevm.
s390x
* If the kernel supports it, virtio-ccw supports ioeventfd and vhost when running on KVM.
* The dump-guest-memory command is supported.
SPARC
* Sun4c and Sun4d architectures and related CPUs were not fully implemented and have been removed.
* 24-bit display mode works
x86
* Firmware can be exposed to the guest as a flash device (using -pflash) also when running on KVM.
* In addition to the "xenfv" machine type, which is kept for backwards compatibility, Xen can now use the pc machine type (including versioned machine types) using "-M pc -machine accel=xen". Note that using PV-on-HVM drivers requires "-M pc -machine accel=xen -device xen-platform".
* QEMU can expose the full set of ACPI tables to the guest: See Features/ACPITableGeneration
* Conroe, Penryn and Nehalem CPUs have had their CPUID values fixed
* "-M isapc" now works on KVM too.
* -pflash can be used with KVM too.
more...
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/qemu/Makefile | 6 | ||||
-rw-r--r-- | emulators/qemu/PLIST | 3 | ||||
-rw-r--r-- | emulators/qemu/distinfo | 21 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-et | 10 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-hw_net_etraxfs__eth.c | 4 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-include_qemu_thread-posix.h | 16 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-ioport.c | 34 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-memory.c | 24 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-net_tap-bsd.c | 13 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-user-exec.c | 12 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-util_qemu-thread-posix.c | 82 |
11 files changed, 37 insertions, 188 deletions
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile index accf9516eba..7aafff9e9d6 100644 --- a/emulators/qemu/Makefile +++ b/emulators/qemu/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.112 2013/07/29 13:10:26 adam Exp $ +# $NetBSD: Makefile,v 1.113 2013/08/16 21:20:11 adam Exp $ -DISTNAME= qemu-1.5.2 +DISTNAME= qemu-1.6.0 CATEGORIES= emulators MASTER_SITES= http://wiki.qemu.org/download/ EXTRACT_SUFX= .tar.bz2 @@ -26,13 +26,13 @@ BUILD_DEPENDS+= texi2html-[0-9]*:../../textproc/texi2html .include "../../mk/bsd.prefs.mk" -CONFIGURE_ENV+= mansuffix=/${PKGMANDIR} CONFIGURE_ARGS+= --prefix=${PREFIX} CONFIGURE_ARGS+= --interp-prefix=${PREFIX}/share/qemu CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} CONFIGURE_ARGS+= --python=${PYTHONBIN} CONFIGURE_ARGS+= --smbd=${PREFIX}/sbin/smbd CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} +CONFIGURE_ENV+= mansuffix=/${PKGMANDIR} CONF_FILES= ${EGDIR}/target-x86_64.conf \ ${PKG_SYSCONFDIR}/target-x86_64.conf diff --git a/emulators/qemu/PLIST b/emulators/qemu/PLIST index 0969926bab8..ebdd84511b6 100644 --- a/emulators/qemu/PLIST +++ b/emulators/qemu/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.35 2013/07/09 17:00:58 tsutsui Exp $ +@comment $NetBSD: PLIST,v 1.36 2013/08/16 21:20:11 adam Exp $ ${PLIST.alpha}bin/qemu-alpha ${PLIST.arm}bin/qemu-arm ${PLIST.armeb}bin/qemu-armeb @@ -122,6 +122,7 @@ share/qemu/pxe-rtl8139.rom share/qemu/pxe-virtio.rom share/qemu/q35-acpi-dsdt.aml share/qemu/qemu-icon.bmp +share/qemu/qemu_logo_no_text.svg share/qemu/s390-ccw.img share/qemu/s390-zipl.rom share/qemu/sgabios.bin diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo index fbb781ed1a4..7f5f430c64e 100644 --- a/emulators/qemu/distinfo +++ b/emulators/qemu/distinfo @@ -1,18 +1,15 @@ -$NetBSD: distinfo,v 1.86 2013/07/29 13:10:26 adam Exp $ +$NetBSD: distinfo,v 1.87 2013/08/16 21:20:11 adam Exp $ -SHA1 (qemu-1.5.2.tar.bz2) = 932c04cdb227e1553c79a43bbf7552a433c815a9 -RMD160 (qemu-1.5.2.tar.bz2) = db8509d58d1cc461cca28f35e69efd7c0143be07 -Size (qemu-1.5.2.tar.bz2) = 11932902 bytes +SHA1 (qemu-1.6.0.tar.bz2) = 5f754fc128aaafd0c7aee2204d453f4be1ac859e +RMD160 (qemu-1.6.0.tar.bz2) = e9cd36df6cba757a37dd34b7889f3190e7b6f222 +Size (qemu-1.6.0.tar.bz2) = 12040196 bytes SHA1 (patch-ef) = 871ccf29463dec1bd56d7f7808248c5b1af4d4d6 -SHA1 (patch-et) = bc96fbe2869042f9a77716cfe3c5342262e7b489 +SHA1 (patch-et) = 8c876c7ba134345c51f139fa93ea95bcd5146f5d SHA1 (patch-hw_display_omap__dss.c) = af89754a9a078a5b52240473d85351bd447623c0 -SHA1 (patch-hw_net_etraxfs__eth.c) = a6ac71e3a2a605bbabc52792db1d063dcb7764c2 +SHA1 (patch-hw_net_etraxfs__eth.c) = 444c6f8a8ad26d9762bfc8a0672afbc7b858fc9d SHA1 (patch-hw_net_xilinx__axienet.c) = 02461c2cd2985c352626e46ba93844606783460e -SHA1 (patch-include_qemu_thread-posix.h) = 7722055df516a8bcd01d36ea0474d2bbfbe27eaa -SHA1 (patch-ioport.c) = a1bb22c6e22c0b0f3acacfa2023f7b45463e0041 -SHA1 (patch-memory.c) = b18fa7273a52e387943062e03c90501c4d9b30f4 -SHA1 (patch-net_tap-bsd.c) = 8f97df5f23212d6b748786a4ab417520abc6b066 +SHA1 (patch-memory.c) = 4b0452da427c52c17ff4b9c38d2caace1c9ce939 +SHA1 (patch-net_tap-bsd.c) = b87c2af1e63fe7a345bff117ef58fc311763338c SHA1 (patch-slirp_tcp__subr.c) = 430157ea8a92fe1d6fc4f1f22ea5530641315fe1 -SHA1 (patch-user-exec.c) = 41f8bfdd86cbaa974ceb91571a2b2293b9df5153 +SHA1 (patch-user-exec.c) = ba20197b7c1209357568817cc56d31f8aa5b1905 SHA1 (patch-util_hbitmap.c) = 372fcbad5272205cd354bc7760ead77e017b07d1 -SHA1 (patch-util_qemu-thread-posix.c) = 0f3ce555b4d1328a869a374bf58eee3bda320cc2 diff --git a/emulators/qemu/patches/patch-et b/emulators/qemu/patches/patch-et index d7507e9e9ab..25345e7e293 100644 --- a/emulators/qemu/patches/patch-et +++ b/emulators/qemu/patches/patch-et @@ -1,8 +1,8 @@ -$NetBSD: patch-et,v 1.8 2013/07/09 17:00:58 tsutsui Exp $ +$NetBSD: patch-et,v 1.9 2013/08/16 21:20:11 adam Exp $ ---- Makefile.orig 2013-06-26 21:47:29.000000000 +0000 +--- Makefile.orig 2013-08-15 19:56:23.000000000 +0000 +++ Makefile -@@ -324,8 +324,9 @@ install-datadir: +@@ -329,8 +329,9 @@ endif install-confdir: $(INSTALL_DIR) "$(DESTDIR)$(qemu_confdir)" @@ -12,5 +12,5 @@ $NetBSD: patch-et,v 1.8 2013/07/09 17:00:58 tsutsui Exp $ + $(INSTALL_DIR) "$(DESTDIR)$(egdir)" + $(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(egdir)" - install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig install-datadir - $(INSTALL_DIR) "$(DESTDIR)$(bindir)" + install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig \ + install-datadir install-localstatedir diff --git a/emulators/qemu/patches/patch-hw_net_etraxfs__eth.c b/emulators/qemu/patches/patch-hw_net_etraxfs__eth.c index f7444a542a0..2d3f3ae3ede 100644 --- a/emulators/qemu/patches/patch-hw_net_etraxfs__eth.c +++ b/emulators/qemu/patches/patch-hw_net_etraxfs__eth.c @@ -1,4 +1,4 @@ -$NetBSD: patch-hw_net_etraxfs__eth.c,v 1.1 2013/07/09 17:00:58 tsutsui Exp $ +$NetBSD: patch-hw_net_etraxfs__eth.c,v 1.2 2013/08/16 21:20:11 adam Exp $ Avoid conflicts with SSP read() macro in NetBSD's <ssp/unistd.h> (PR lib/43832: ssp causes common names to be defines) @@ -14,7 +14,7 @@ Avoid conflicts with SSP read() macro in NetBSD's <ssp/unistd.h> } else { bus->data = 0xffff; } -@@ -359,7 +359,7 @@ static void eth_validate_duplex(struct f +@@ -364,7 +364,7 @@ static void eth_validate_duplex(struct f int new_mm = 0; phy = eth->mdio_bus.devs[eth->phyaddr]; diff --git a/emulators/qemu/patches/patch-include_qemu_thread-posix.h b/emulators/qemu/patches/patch-include_qemu_thread-posix.h deleted file mode 100644 index 168289ff506..00000000000 --- a/emulators/qemu/patches/patch-include_qemu_thread-posix.h +++ /dev/null @@ -1,16 +0,0 @@ -$NetBSD: patch-include_qemu_thread-posix.h,v 1.1 2013/07/09 17:00:58 tsutsui Exp $ - -make QemuSemaphore.count unsigned per comments on the qemu-devel mailing list: -http://lists.nongnu.org/archive/html/qemu-devel/2013-07/msg00030.html - ---- include/qemu/thread-posix.h.orig 2013-06-26 21:47:29.000000000 +0000 -+++ include/qemu/thread-posix.h -@@ -15,7 +15,7 @@ struct QemuSemaphore { - #if defined(__APPLE__) || defined(__NetBSD__) - pthread_mutex_t lock; - pthread_cond_t cond; -- int count; -+ unsigned int count; - #else - sem_t sem; - #endif diff --git a/emulators/qemu/patches/patch-ioport.c b/emulators/qemu/patches/patch-ioport.c deleted file mode 100644 index d1b54bdff7b..00000000000 --- a/emulators/qemu/patches/patch-ioport.c +++ /dev/null @@ -1,34 +0,0 @@ -$NetBSD: patch-ioport.c,v 1.8 2013/07/09 17:00:58 tsutsui Exp $ - -Avoid conflicts with SSP read() macro in NetBSD's <ssp/unistd.h> -(PR lib/43832: ssp causes common names to be defines) - ---- ioport.c.orig 2013-06-26 21:47:29.000000000 +0000 -+++ ioport.c -@@ -183,7 +183,7 @@ static uint32_t ioport_readb_thunk(void - IORange *ioport = opaque; - uint64_t data; - -- ioport->ops->read(ioport, addr - ioport->base, 1, &data); -+ (*ioport->ops->read)(ioport, addr - ioport->base, 1, &data); - return data; - } - -@@ -192,7 +192,7 @@ static uint32_t ioport_readw_thunk(void - IORange *ioport = opaque; - uint64_t data; - -- ioport->ops->read(ioport, addr - ioport->base, 2, &data); -+ (*ioport->ops->read)(ioport, addr - ioport->base, 2, &data); - return data; - } - -@@ -201,7 +201,7 @@ static uint32_t ioport_readl_thunk(void - IORange *ioport = opaque; - uint64_t data; - -- ioport->ops->read(ioport, addr - ioport->base, 4, &data); -+ (*ioport->ops->read)(ioport, addr - ioport->base, 4, &data); - return data; - } - diff --git a/emulators/qemu/patches/patch-memory.c b/emulators/qemu/patches/patch-memory.c index 38340cdcd9f..c99ce8f9968 100644 --- a/emulators/qemu/patches/patch-memory.c +++ b/emulators/qemu/patches/patch-memory.c @@ -1,32 +1,16 @@ -$NetBSD: patch-memory.c,v 1.5 2013/07/09 17:00:58 tsutsui Exp $ +$NetBSD: patch-memory.c,v 1.6 2013/08/16 21:20:11 adam Exp $ Avoid conflicts with SSP read() macro in NetBSD's <ssp/unistd.h> (PR lib/43832: ssp causes common names to be defines) ---- memory.c.orig 2013-06-26 21:47:29.000000000 +0000 +--- memory.c.orig 2013-08-15 19:56:23.000000000 +0000 +++ memory.c -@@ -313,7 +313,7 @@ static void memory_region_read_accessor( +@@ -404,7 +404,7 @@ static void memory_region_read_accessor( if (mr->flush_coalesced_mmio) { qemu_flush_coalesced_mmio_buffer(); } - tmp = mr->ops->read(mr->opaque, addr, size); + tmp = (*mr->ops->read)(mr->opaque, addr, size); + trace_memory_region_ops_read(mr, addr, tmp, size); *value |= (tmp & mask) << shift; } - -@@ -396,12 +396,12 @@ static void memory_region_iorange_read(I - - *data = ((uint64_t)1 << (width * 8)) - 1; - if (mrp) { -- *data = mrp->read(mr->opaque, offset); -+ *data = (*mrp->read)(mr->opaque, offset); - } else if (width == 2) { - mrp = find_portio(mr, offset - mrio->offset, 1, false); - assert(mrp); -- *data = mrp->read(mr->opaque, offset) | -- (mrp->read(mr->opaque, offset + 1) << 8); -+ *data = (*mrp->read)(mr->opaque, offset) | -+ ((*mrp->read)(mr->opaque, offset + 1) << 8); - } - return; - } diff --git a/emulators/qemu/patches/patch-net_tap-bsd.c b/emulators/qemu/patches/patch-net_tap-bsd.c index 10b319d4dad..87e158e6fb6 100644 --- a/emulators/qemu/patches/patch-net_tap-bsd.c +++ b/emulators/qemu/patches/patch-net_tap-bsd.c @@ -1,15 +1,14 @@ -$NetBSD: patch-net_tap-bsd.c,v 1.4 2013/07/09 17:00:58 tsutsui Exp $ +$NetBSD: patch-net_tap-bsd.c,v 1.5 2013/08/16 21:20:11 adam Exp $ Make it understand "-net tap,ifname=tap3" on NetBSD. ---- net/tap-bsd.c.orig 2013-06-26 21:47:29.000000000 +0000 +--- net/tap-bsd.c.orig 2013-08-15 19:56:23.000000000 +0000 +++ net/tap-bsd.c -@@ -44,7 +44,7 @@ int tap_open(char *ifname, int ifname_si - struct stat s; +@@ -45,6 +45,7 @@ int tap_open(char *ifname, int ifname_si #endif --#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) -+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__NetBSD__) + #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \ ++ defined(__NetBSD__) || \ + defined(__OpenBSD__) || defined(__APPLE__) /* if no ifname is given, always start the search from tap0/tun0. */ int i; - char dname[100]; diff --git a/emulators/qemu/patches/patch-user-exec.c b/emulators/qemu/patches/patch-user-exec.c index da690dfd127..81bd528ea8c 100644 --- a/emulators/qemu/patches/patch-user-exec.c +++ b/emulators/qemu/patches/patch-user-exec.c @@ -1,10 +1,10 @@ -$NetBSD: patch-user-exec.c,v 1.2 2013/07/09 17:00:58 tsutsui Exp $ +$NetBSD: patch-user-exec.c,v 1.3 2013/08/16 21:20:11 adam Exp $ Add OS dependent code for NetBSD/arm. ---- user-exec.c.orig 2013-06-26 21:47:30.000000000 +0000 +--- user-exec.c.orig 2013-08-15 19:56:23.000000000 +0000 +++ user-exec.c -@@ -428,19 +428,31 @@ int cpu_signal_handler(int host_signum, +@@ -434,19 +434,31 @@ int cpu_signal_handler(int host_signum, #elif defined(__arm__) @@ -33,6 +33,6 @@ Add OS dependent code for NetBSD/arm. pc = uc->uc_mcontext.arm_pc; #endif +#endif - /* XXX: compute is_write */ - is_write = 0; - return handle_cpu_signal(pc, (unsigned long)info->si_addr, + + /* error_code is the FSR value, in which bit 11 is WnR (assuming a v6 or + * later processor; on v5 we will always report this as a read). diff --git a/emulators/qemu/patches/patch-util_qemu-thread-posix.c b/emulators/qemu/patches/patch-util_qemu-thread-posix.c deleted file mode 100644 index 9b5aadd907c..00000000000 --- a/emulators/qemu/patches/patch-util_qemu-thread-posix.c +++ /dev/null @@ -1,82 +0,0 @@ -$NetBSD: patch-util_qemu-thread-posix.c,v 1.2 2013/07/09 17:00:58 tsutsui Exp $ - -Fix a hangup problem under load of multiple disk xfers on NetBSD hosts: - - fix a "fallback implementation of counting semaphores with mutex+condvar": -http://git.qemu.org/?p=qemu.git;a=commit;h=c166cb72f1676855816340666c3b618beef4b976 - - waiting threads are not restarted properly if more than one threads - are waiting unblock signals in qemu_sem_timedwait() - - possible missing pthread_cond_signal(3) calls when waiting threads - are returned by ETIMEDOUT - - fix an uninitialized variable -Discussed with and patch is provieded by soda@, with minor update -per comments on the qemu-devel mailing list: -http://lists.nongnu.org/archive/html/qemu-devel/2013-07/msg00030.html - ---- util/qemu-thread-posix.c.orig 2013-06-26 21:47:30.000000000 +0000 -+++ util/qemu-thread-posix.c -@@ -170,12 +170,11 @@ void qemu_sem_post(QemuSemaphore *sem) - - #if defined(__APPLE__) || defined(__NetBSD__) - pthread_mutex_lock(&sem->lock); -- if (sem->count == INT_MAX) { -+ if (sem->count == UINT_MAX) { - rc = EINVAL; -- } else if (sem->count++ < 0) { -- rc = pthread_cond_signal(&sem->cond); - } else { -- rc = 0; -+ sem->count++; -+ rc = pthread_cond_signal(&sem->cond); - } - pthread_mutex_unlock(&sem->lock); - if (rc != 0) { -@@ -207,19 +206,21 @@ int qemu_sem_timedwait(QemuSemaphore *sem, int ms) - struct timespec ts; - - #if defined(__APPLE__) || defined(__NetBSD__) -+ rc = 0; - compute_abs_deadline(&ts, ms); - pthread_mutex_lock(&sem->lock); -- --sem->count; -- while (sem->count < 0) { -+ while (sem->count == 0) { - rc = pthread_cond_timedwait(&sem->cond, &sem->lock, &ts); - if (rc == ETIMEDOUT) { -- ++sem->count; - break; - } - if (rc != 0) { - error_exit(rc, __func__); - } - } -+ if (rc != ETIMEDOUT) { -+ --sem->count; -+ } - pthread_mutex_unlock(&sem->lock); - return (rc == ETIMEDOUT ? -1 : 0); - #else -@@ -249,16 +250,19 @@ int qemu_sem_timedwait(QemuSemaphore *sem, int ms) - - void qemu_sem_wait(QemuSemaphore *sem) - { -+ int rc; -+ - #if defined(__APPLE__) || defined(__NetBSD__) - pthread_mutex_lock(&sem->lock); -- --sem->count; -- while (sem->count < 0) { -- pthread_cond_wait(&sem->cond, &sem->lock); -+ while (sem->count == 0) { -+ rc = pthread_cond_wait(&sem->cond, &sem->lock); -+ if (rc != 0) { -+ error_exit(rc, __func__); -+ } - } -+ --sem->count; - pthread_mutex_unlock(&sem->lock); - #else -- int rc; -- - do { - rc = sem_wait(&sem->sem); - } while (rc == -1 && errno == EINTR); |