summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authortsutsui <tsutsui@pkgsrc.org>2013-07-09 17:00:58 +0000
committertsutsui <tsutsui@pkgsrc.org>2013-07-09 17:00:58 +0000
commitc9d04c7e09b2ddc951fec128234be9a073cef9d2 (patch)
tree5e626460d307cb930c960e08190586be7bd9c3bd /emulators
parent4844b9ae5edd9d3793d430c5ef7b76062d763362 (diff)
downloadpkgsrc-c9d04c7e09b2ddc951fec128234be9a073cef9d2.tar.gz
Update qemu to 1.5.1.
pkgsrc changes: - remove now unnecessary SUBST for audio.h conflicts - update PLIST for new files - adjust patches for hw directory reorganization - update counting semaphore patches per comments on qemu-devel Upstream changes: Changes mentioned in 1.5.1 announcement: http://lists.nongnu.org/archive/html/qemu-devel/2013-06/msg04798.html 295d81c: Update VERSION for 1.5.1 release (Anthony Liguori) cc0bd7e: wdt_i6300esb: fix vmstate versioning (Michael Roth) 12e5b2b: virtio-rng: Fix crash with non-default backend (Cole Robinson) cb55efe: iscsi: reorganize iscsi_readcapacity_sync (Paolo Bonzini) 1b94fc4: iscsi: simplify freeing of tasks (Paolo Bonzini) 5e690bb: vhost-scsi: fix k->set_guest_notifiers() NULL dereference (Stefan Hajnoczi) 129db36: scsi-disk: scsi-block device for scsi pass-through should not be removable (Pavel Hrdina) 637d640: scsi-generic: check the return value of bdrv_aio_ioctl in execute_command (Pavel Hrdina) 9c4f5dd: scsi-generic: fix sign extension of READ CAPACITY(10) data (Paolo Bonzini) 3abd71c: scsi: reset cdrom tray statuses on scsi_disk_reset (Pavel Hrdina) 5fcb9bf: nbd: strip braces from literal IPv6 address in URI (Jan Tomko) 6c8cf5f: qemu-socket: allow hostnames starting with a digit (Jan Tomko) ce4e8f0: vmdk: byteswap VMDK4Header.desc_offset field (Stefan Hajnoczi) c683f1b: target-i386: cpu: Fix potential buffer overrun in get_register_name_32() (Igor Mammedov) 75e4aa9: pc: Fix crash when attempting to hotplug CPU with negative ID (Igor Mammedov) 055a7fc: smbios: Check R in -smbios type=0, release=R parses okay (Markus Armbruster) 93bc624: smbios: Fix -smbios type=0, release=... for big endian hosts (Markus Armbruster) 61fbaee: smbios: Clean up smbios_add_field() parameters (Markus Armbruster) 685ee2d: smbios: Convert to error_report() (Markus Armbruster) fa0f47d: log.h: Supply missing includes (Markus Armbruster) 7552569: error-report.h: Supply missing include (Markus Armbruster) 02d2672: tcg-ppc64: rotr_i32 rotates wrong amount (Anton Blanchard) 2917f6b: tcg-ppc64: Fix add2_i64 (Anton Blanchard) 9534f66: tcg-ppc64: bswap64 rotates output 32 bits (Anton Blanchard) d208f05: tcg-ppc64: Fix RLDCL opcode (Anton Blanchard) 6b6f105: ivshmem: add missing error exit(2) (Stefan Hajnoczi) 3202c02: Makefile: Install qemu-img and qemu-nbd man pages only if built (Andreas Farber) 5a893b0: tap: fix NULL dereference when passing invalid parameters to tap (Jason Wang) 0817fa9: create qemu_openpty_raw() helper function and move it to a separate file (Michael Tokarev) 5810174: blockdev: reset werror/rerror on drive_del (Stefan Hajnoczi) eeaa8d3: q35: set fw_name (Michael S. Tsirkin) c127070: target-i386: Fix aflag logic for CODE64 and the 0x67 prefix (Richard Henderson) 252a7c6: qemu-char: don't issue CHR_EVENT_OPEN in a BH (Michael Roth) 6f3718c: xilinx_axidma: Do not set DMA .notify to NULL after notify (Wendy Liang) 1fb147f: virtio-ccw: Fix unsetting of indicators. (Cornelia Huck) 72762f2: s390x/css: Fix concurrent sense. (Cornelia Huck) 31ba701: ui/gtk.c: Fix *BSD build of Gtk+ UI (Brad Smith) 9ca80c7: vmxnet3: fix NICState cleanup (Stefan Hajnoczi) a548bac: Fix usage of USB_DEV_FLAG_IS_HOST flag. (Michael Marineau) 9b5751e: host-libusb: Correct test for USB packet state (Ed Maste) 032ce1b: qdev: fix get_fw_dev_path to support to add nothing to fw_dev_path (Amos Kong) baa8a8b: do not check pointers after dereferencing them (Paolo Bonzini) 327e75b: xen: start PCI hole at 0xe0000000 (same as pc_init1 and qemu-xen-traditional) (Stefano Stabellini) 9e7fdaf: Remove OSS support for OpenBSD (Brad Smith) d503afb: target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses (Luiz Capitulino) 5b3ca29: update seabios to release 1.7.2.2 (Gerd Hoffmann) 7b9cdc5: Revert "roms: switch oldnoconfig to olddefconfig" (Gerd Hoffmann) 0565700: ide: Set BSY bit during FLUSH (Andreas Farber) ddaa83e: chardev: fix "info chardev" output (Gerd Hoffmann) 38ec6c1: xen_machine_pv: do not create a dummy CPU in machine->init (Stefano Stabellini) 951411f: main_loop: do not set nonblocking if xen_enabled() (Stefano Stabellini) 5c26608: xen: simplify xen_enabled (Stefano Stabellini) 3541912: qom/object: Don't poll cast cache for NULL objects (Peter Crosthwaite) 749806d: rtl8139: flush queued packets when RxBufPtr is written (Stefan Hajnoczi) a6fc2cd: hw/9pfs: use O_NOFOLLOW for mapped readlink operation (Aneesh Kumar K.V) eabdf85: hw/9pfs: Fix segfault with 9p2000.u (Aneesh Kumar K.V) Changelog 1.5: http://wiki.qemu.org/ChangeLog/1.5 General ------- - The default for log output enabled via the '-d' command line switch is now standard error rather than a file. You can obtain the previous behaviour using the '-D' command line switch to specify a file to send the logging to. - QEMU now uses poll rather than select, and thus does not have any restriction on the number of open file descriptors. System emulation ---------------- Device emulation Audio - The --audio-card-list configure option is not used anymore. Instead, you can modify default-configs/pci.mak (for the PCI soundcards AC97, HDA and ES1370) and default-configs/sound.mak (for the ISA soundcards) before running "make". - The "shortcut" -soundhw option is now available for all targets that have a PCI bus. Device assignment - VFIO supports primary VGA passthrough using the experimental "x-vga=on" option. The following devices seem to work: Nvidia 8400gs, 73001e, NVS290; ATI/AMD Radeon HD5450 and HD7850. - VFIO devices support the bootindex= property to override the default boot order for assigned PCI devices. USB - Experimental support for USB 3.0 streams, both in the nec-usb-xhci controller and in the usb-uas USB-attached SCSI device emulation. - USB device passthrough has been rewritten to use libusb. For Linux, the two backends can be compiled in a single QEMU executable (if libusb is enabled, usb-host-linux will be the legacy implementation, usb-host will be the libusb-based one; if libusb is disabled, usb-host will be the legacy implementation). For BSD, it has to be chosen at configure time using --enable/disable-libusb (the default is to use libusb if it is available, otherwise use the legacy implementation). SCSI - QEMU can now emulate the VMware PVSCSI device using "-device pvscsi". - QEMU can now use tcm_vhost, a virtio-scsi device model based on the Linux-iSCSI implementation of SCSI. Network cards - QEMU can now emulate the VMware paravirtualized network card using "-device vmxnet3". ARM - This release has initial support of KVM for the ARM architecture. This requires a 3.9 or better Linux kernel and a Cortex-A15 CPU. - The Zynq board provides a SD host controller interface. - The PCI controller model for VersatilePB and Realview boards has been significantly improved in functionality (including MMIO BAR support and a correct PCI IRQ mapping). Note that Linux kernels currently do not take advantage of this; however we autodetect kernels that expect the behaviour of an old broken QEMU and fall back to that. (The old IRQ behaviour can be forced with "-global versatile_pci.broken-irq-mapping=1" if absolutely necessary.) - Incorrect handling of the SRS instruction in Thumb mode has been fixed. - Performance of TCG emulation of ARM targets is improved over previous releases. - Migration and vm save/load now works correctly on the vexpress-a15 and vexpress-a9 models. PPC - Various improvements to TCG code generation - KVM synchronizes more state - Fix a few issues that blocked Mac OS X from working (still not 100% there though!) - Refactoring and improvement of soft mmu emulation for book3s - Implement various new instructions for ISA 2.05 and ISA 2.06 compatibility (-cpu POWER7) - Implement support for KVM based e500 family watchdog s390x - Various accuracy fixes for device emulation - Faster I/O hypercalls - Add firmware to boot from virtio-ccw disks - Guest kernel panics are notified to the host SPARC - Improve sun4u interrupt mapping, so that multiple PCI devices can be used simultaneously x86 - x86 supports emulation of a TPM (Trusted Platform Module) on machines that have a hardware TPM - Various speedups in TCG emulation of x86 - The iPXE ROMs that are distributed with QEMU support EFI - TCG supports the SSE4.1, SSE4.2, PCLMULQDQ, AES-NI, BMI and ADX extensions. - A paravirtual device is included that lets the guest notifies kernel panics to the host. - CPU hot-add support with cpu-add QMP command. More details Features/CPUHotplug. - new CPU properties "feature-words" and "filtered-features" to allow introspection of supported and not supported CPU features. - For reference and examples of how the new properties can be used by libvirt and other components, see: http://wiki.qemu.org/Features/CPUModels#Interfaces.2Frequirements_for_libvirt QMP - QEMU now generates a DEVICE_DELETED event when the guest acknowledges a device hot-unplug operation. - Much better handling for non-ASCII codepoints in JSON strings Character devices - Character devices gained support for flow control. More details in Features/ChardevFlowControl - All kinds of character devices can now be hot-plugged. Character device hotplug is also supported from the "human" monitor. Block devices - IDE and SCSI disks always have the ability to issue "discard" (aka TRIM or UNMAP) commands. However, by default "discard" commands are silently ignored as they can cause performance degradation and fragmentation. To enable them, the "-drive" option now supports a "discard" suboption; the default value is "ignore" (or its synonym "off"), and the other valid value is "unmap" (or "on"). - Sheepdog drives can also be specified with URIs. - iSCSI disks support on-line resizing using block_resize. Similar to block devices, the resize has to be done first outside QEMU. - Various performance improvements in qcow2 internal snapshots (savevm). - The NBD backend has improved latency. - qemu-nbd can now skip image format probing using the -f/--format command-line option. - VHDX (MS Hyper-V) image format has initial read-only support. Dynamic and fixed sized disks are supported, but not differencing images (e.g. VHDX images with a backing file). Read-only is strictly enforced, and the 'readonly=on' option must be used for any VHDX images. - Secure Shell (ssh) support. Access remote disks over ssh using qemu -drive file=ssh://host/path/to/file Live Migration - Further improvements in throughput (up to +130%: 4.2 Gbps in 1.5 vs 1.8 Gbps in 1.4) and latency. User interface - QEMU now provides a GTK+ interface. The interface uses the VTE library to provide better terminal emulation for serial consoles and the monitor. - A new VNC extension has been added to communicate LED state changes for the keyboard. VNC - Websocket connections can now be encrypted with TLS. User-mode emulation ------------------- - Threaded programs are now more stable, though still experimental. Guest agent ----------- - New commands in qemu-ga let the host put CPUs online/offline with help from the guest OS (Linux only) - Low impact CVE-2013-2007 ("qemu: guest agent creates files with insecure permissions in daemon mode") is fixed. - Note for guest administrators: unix domain sockets, logfiles etc. created by previous versions of qemu-ga do not have their file mode bits reset by this change; only newly created files have mode 0600 when daemonizing. Please delete your old files or change their permissions manually when upgrading. - The guest-file-open QMP command continues to create files with mode 0666 for compatibility reasons. Host support ------------ - QEMU is now a lot faster on Windows hosts than in previous versions - libcacard has been ported to Windows. Known issues - The GTK+ backend does not compile on BSD systems (including Mac OS X). This will likely be fixed in a later stable update.
Diffstat (limited to 'emulators')
-rw-r--r--emulators/qemu/Makefile37
-rw-r--r--emulators/qemu/PLIST10
-rw-r--r--emulators/qemu/distinfo34
-rw-r--r--emulators/qemu/patches/patch-ef4
-rw-r--r--emulators/qemu/patches/patch-en13
-rw-r--r--emulators/qemu/patches/patch-et6
-rw-r--r--emulators/qemu/patches/patch-hw_display_omap__dss.c (renamed from emulators/qemu/patches/patch-eh)6
-rw-r--r--emulators/qemu/patches/patch-hw_net_etraxfs__eth.c (renamed from emulators/qemu/patches/patch-eg)6
-rw-r--r--emulators/qemu/patches/patch-hw_net_xilinx__axienet.c (renamed from emulators/qemu/patches/patch-hw_xilinx__axienet.c)8
-rw-r--r--emulators/qemu/patches/patch-include_qemu_thread-posix.h16
-rw-r--r--emulators/qemu/patches/patch-ioport.c4
-rw-r--r--emulators/qemu/patches/patch-memory.c4
-rw-r--r--emulators/qemu/patches/patch-net_tap-bsd.c4
-rw-r--r--emulators/qemu/patches/patch-slirp_tcp__subr.c10
-rw-r--r--emulators/qemu/patches/patch-user-exec.c4
-rw-r--r--emulators/qemu/patches/patch-util_hbitmap.c6
-rw-r--r--emulators/qemu/patches/patch-util_qemu-thread-posix.c39
17 files changed, 103 insertions, 108 deletions
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile
index 02847be2d1b..417580d3462 100644
--- a/emulators/qemu/Makefile
+++ b/emulators/qemu/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.110 2013/06/28 19:30:28 tsutsui Exp $
+# $NetBSD: Makefile,v 1.111 2013/07/09 17:00:58 tsutsui Exp $
-DISTNAME= qemu-1.4.2
-PKGREVISION= 1
+DISTNAME= qemu-1.5.1
CATEGORIES= emulators
MASTER_SITES= http://wiki.qemu.org/download/
EXTRACT_SUFX= .tar.bz2
@@ -41,38 +40,6 @@ EGDIR= ${PREFIX}/share/examples/qemu
INSTALL_MAKE_FLAGS= egdir=${EGDIR}
PKG_SYSCONFSUBDIR= qemu
-# Avoid clash with system include file:
-pre-patch:
- mv ${WRKSRC}/audio/audio.h ${WRKSRC}/audio/qaudio.h
-
-SUBST_CLASSES+= qaudio
-SUBST_STAGE.qaudio= pre-configure
-SUBST_FILES.qaudio= arch_init.c monitor.c savevm.c vl.c \
- audio/*.c \
- hw/ac97.c \
- hw/adlib.c \
- hw/cs4231a.c \
- hw/es1370.c \
- hw/gus.c \
- hw/hda-audio.c \
- hw/lm4549.c \
- hw/lm4549.h \
- hw/marvell_88w8618_audio.c \
- hw/milkymist-ac97.c \
- hw/mips_fulong2e.c \
- hw/omap2.c \
- hw/palm.c \
- hw/pcspk.c \
- hw/sb16.c \
- hw/spitz.c \
- hw/tsc210x.c \
- hw/usb/dev-audio.c \
- hw/wm8750.c \
- hw/z2.c \
- ui/vnc.h
-SUBST_SED.qaudio= -e s,audio.h\",qaudio.h\",g
-SUBST_MESSAGE.qaudio= Fixing audio.h confusion
-
REPLACE_PERL+= scripts/texi2pod.pl
BUILDLINK_PASSTHRU_DIRS+= /usr/lib
diff --git a/emulators/qemu/PLIST b/emulators/qemu/PLIST
index 7d219b6195a..0969926bab8 100644
--- a/emulators/qemu/PLIST
+++ b/emulators/qemu/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.34 2013/06/16 18:27:25 tsutsui Exp $
+@comment $NetBSD: PLIST,v 1.35 2013/07/09 17:00:58 tsutsui Exp $
${PLIST.alpha}bin/qemu-alpha
${PLIST.arm}bin/qemu-arm
${PLIST.armeb}bin/qemu-armeb
@@ -36,6 +36,7 @@ bin/qemu-system-mips
bin/qemu-system-mips64
bin/qemu-system-mips64el
bin/qemu-system-mipsel
+bin/qemu-system-moxie
bin/qemu-system-or32
bin/qemu-system-ppc
bin/qemu-system-ppc64
@@ -61,6 +62,12 @@ share/examples/qemu/target-x86_64.conf
share/qemu/acpi-dsdt.aml
share/qemu/bamboo.dtb
share/qemu/bios.bin
+share/qemu/efi-e1000.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/keymaps/ar
share/qemu/keymaps/bepo
share/qemu/keymaps/common
@@ -115,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/s390-ccw.img
share/qemu/s390-zipl.rom
share/qemu/sgabios.bin
share/qemu/slof.bin
diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo
index e401d9495f7..28bfd7e4b0b 100644
--- a/emulators/qemu/distinfo
+++ b/emulators/qemu/distinfo
@@ -1,18 +1,18 @@
-$NetBSD: distinfo,v 1.84 2013/06/28 19:30:28 tsutsui Exp $
+$NetBSD: distinfo,v 1.85 2013/07/09 17:00:58 tsutsui Exp $
-SHA1 (qemu-1.4.2.tar.bz2) = 7e01e57e7385dba76125f69829aa78e98acdce4f
-RMD160 (qemu-1.4.2.tar.bz2) = 4b136a6f2192b07aaf04270a60c9326635d8865a
-Size (qemu-1.4.2.tar.bz2) = 10416877 bytes
-SHA1 (patch-ef) = 0b7dc779b174c842c529443e59ffaccbfe8616de
-SHA1 (patch-eg) = ce5adc1c45f6a7d6d6a63ec6c97ba146ff6e9e63
-SHA1 (patch-eh) = 72302ffd1a56dc4fa8d19b3095c9111331a20621
-SHA1 (patch-en) = d4396209ddca3b53f2e4664087550a9660708537
-SHA1 (patch-et) = 8c52e10d92e30226b02f9cb017efa28880124467
-SHA1 (patch-hw_xilinx__axienet.c) = e31f00c01a30d5447c771cceca413f247b67ea14
-SHA1 (patch-ioport.c) = a8f85248039de4d572f3af754d1e29ef9f83d8d7
-SHA1 (patch-memory.c) = ca15c0cfd20b54bee0f8ec769a9047b5cd76e4f3
-SHA1 (patch-net_tap-bsd.c) = 4d21ea8dd639db2a98ef9e341c3b863c9be965e2
-SHA1 (patch-slirp_tcp__subr.c) = c134e0fe0ce6b8fc92a630c98891b4c3e56cc861
-SHA1 (patch-user-exec.c) = 6400647b4a08885ebd4bd8f57d19d3fdb66ae434
-SHA1 (patch-util_hbitmap.c) = 8c3d42d9b594efc1b5eb0ccfb5d110bd63eaa9f0
-SHA1 (patch-util_qemu-thread-posix.c) = 04be1ce985dad2ffd78c300b8e1dd10fced1641a
+SHA1 (qemu-1.5.1.tar.bz2) = 1e1339dffb01c98f33ec8451266cee1adf3b41be
+RMD160 (qemu-1.5.1.tar.bz2) = 22cdf2860f0fdb2907c57d33ea82db9bb0139c59
+Size (qemu-1.5.1.tar.bz2) = 11931754 bytes
+SHA1 (patch-ef) = 871ccf29463dec1bd56d7f7808248c5b1af4d4d6
+SHA1 (patch-et) = bc96fbe2869042f9a77716cfe3c5342262e7b489
+SHA1 (patch-hw_display_omap__dss.c) = af89754a9a078a5b52240473d85351bd447623c0
+SHA1 (patch-hw_net_etraxfs__eth.c) = a6ac71e3a2a605bbabc52792db1d063dcb7764c2
+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-slirp_tcp__subr.c) = 430157ea8a92fe1d6fc4f1f22ea5530641315fe1
+SHA1 (patch-user-exec.c) = 41f8bfdd86cbaa974ceb91571a2b2293b9df5153
+SHA1 (patch-util_hbitmap.c) = 372fcbad5272205cd354bc7760ead77e017b07d1
+SHA1 (patch-util_qemu-thread-posix.c) = 0f3ce555b4d1328a869a374bf58eee3bda320cc2
diff --git a/emulators/qemu/patches/patch-ef b/emulators/qemu/patches/patch-ef
index 1e03b95ba0c..9b38f21a842 100644
--- a/emulators/qemu/patches/patch-ef
+++ b/emulators/qemu/patches/patch-ef
@@ -1,9 +1,9 @@
-$NetBSD: patch-ef,v 1.5 2013/06/16 18:27:25 tsutsui Exp $
+$NetBSD: patch-ef,v 1.6 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)
---- audio/audio.c.orig 2013-05-24 13:37:57.000000000 +0000
+--- audio/audio.c.orig 2013-06-26 21:47:29.000000000 +0000
+++ audio/audio.c
@@ -1172,7 +1172,7 @@ int AUD_read (SWVoiceIn *sw, void *buf,
return 0;
diff --git a/emulators/qemu/patches/patch-en b/emulators/qemu/patches/patch-en
deleted file mode 100644
index 5ce7e278691..00000000000
--- a/emulators/qemu/patches/patch-en
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-en,v 1.6 2013/06/16 18:27:25 tsutsui Exp $
-
---- tcg/arm/tcg-target.h.orig 2013-05-24 13:37:58.000000000 +0000
-+++ tcg/arm/tcg-target.h
-@@ -84,7 +84,7 @@ static inline void flush_icache_range(tc
- tcg_target_ulong stop)
- {
- #if QEMU_GNUC_PREREQ(4, 1)
-- __builtin___clear_cache((char *) start, (char *) stop);
-+ __clear_cache((char *) start, (char *) stop); /* declared in exec-all.h */
- #else
- register unsigned long _beg __asm ("a1") = start;
- register unsigned long _end __asm ("a2") = stop;
diff --git a/emulators/qemu/patches/patch-et b/emulators/qemu/patches/patch-et
index 8c29755acb7..d7507e9e9ab 100644
--- a/emulators/qemu/patches/patch-et
+++ b/emulators/qemu/patches/patch-et
@@ -1,8 +1,8 @@
-$NetBSD: patch-et,v 1.7 2013/06/16 18:27:25 tsutsui Exp $
+$NetBSD: patch-et,v 1.8 2013/07/09 17:00:58 tsutsui Exp $
---- Makefile.orig 2013-05-24 13:37:57.000000000 +0000
+--- Makefile.orig 2013-06-26 21:47:29.000000000 +0000
+++ Makefile
-@@ -297,8 +297,9 @@ install-datadir:
+@@ -324,8 +324,9 @@ install-datadir:
install-confdir:
$(INSTALL_DIR) "$(DESTDIR)$(qemu_confdir)"
diff --git a/emulators/qemu/patches/patch-eh b/emulators/qemu/patches/patch-hw_display_omap__dss.c
index 84bd9d246e3..9aa61116e8b 100644
--- a/emulators/qemu/patches/patch-eh
+++ b/emulators/qemu/patches/patch-hw_display_omap__dss.c
@@ -1,10 +1,10 @@
-$NetBSD: patch-eh,v 1.6 2013/06/16 18:27:25 tsutsui Exp $
+$NetBSD: patch-hw_display_omap__dss.c,v 1.1 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)
---- hw/omap_dss.c.orig 2013-05-24 13:37:57.000000000 +0000
-+++ hw/omap_dss.c
+--- hw/display/omap_dss.c.orig 2013-06-26 21:47:29.000000000 +0000
++++ hw/display/omap_dss.c
@@ -791,18 +791,18 @@ static void omap_rfbi_write(void *opaque
break;
case 0x58: /* RFBI_READ */
diff --git a/emulators/qemu/patches/patch-eg b/emulators/qemu/patches/patch-hw_net_etraxfs__eth.c
index 902cf53b249..f7444a542a0 100644
--- a/emulators/qemu/patches/patch-eg
+++ b/emulators/qemu/patches/patch-hw_net_etraxfs__eth.c
@@ -1,10 +1,10 @@
-$NetBSD: patch-eg,v 1.6 2013/06/16 18:27:25 tsutsui Exp $
+$NetBSD: patch-hw_net_etraxfs__eth.c,v 1.1 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)
---- hw/etraxfs_eth.c.orig 2013-05-24 13:37:57.000000000 +0000
-+++ hw/etraxfs_eth.c
+--- hw/net/etraxfs_eth.c.orig 2013-06-26 21:47:29.000000000 +0000
++++ hw/net/etraxfs_eth.c
@@ -185,7 +185,7 @@ static void mdio_read_req(struct qemu_md
phy = bus->devs[bus->addr];
diff --git a/emulators/qemu/patches/patch-hw_xilinx__axienet.c b/emulators/qemu/patches/patch-hw_net_xilinx__axienet.c
index b616a05cbce..1aa2313e3cc 100644
--- a/emulators/qemu/patches/patch-hw_xilinx__axienet.c
+++ b/emulators/qemu/patches/patch-hw_net_xilinx__axienet.c
@@ -1,11 +1,11 @@
-$NetBSD: patch-hw_xilinx__axienet.c,v 1.4 2013/06/16 18:27:25 tsutsui Exp $
+$NetBSD: patch-hw_net_xilinx__axienet.c,v 1.1 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)
---- hw/xilinx_axienet.c.orig 2013-05-24 13:37:57.000000000 +0000
-+++ hw/xilinx_axienet.c
-@@ -188,7 +188,7 @@ static uint16_t mdio_read_req(struct MDI
+--- hw/net/xilinx_axienet.c.orig 2013-06-26 21:47:29.000000000 +0000
++++ hw/net/xilinx_axienet.c
+@@ -207,7 +207,7 @@ static uint16_t mdio_read_req(struct MDI
phy = bus->devs[addr];
if (phy && phy->read) {
diff --git a/emulators/qemu/patches/patch-include_qemu_thread-posix.h b/emulators/qemu/patches/patch-include_qemu_thread-posix.h
new file mode 100644
index 00000000000..168289ff506
--- /dev/null
+++ b/emulators/qemu/patches/patch-include_qemu_thread-posix.h
@@ -0,0 +1,16 @@
+$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
index 318f70e1a97..d1b54bdff7b 100644
--- a/emulators/qemu/patches/patch-ioport.c
+++ b/emulators/qemu/patches/patch-ioport.c
@@ -1,9 +1,9 @@
-$NetBSD: patch-ioport.c,v 1.7 2013/06/16 18:27:25 tsutsui Exp $
+$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-05-24 13:37:57.000000000 +0000
+--- 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;
diff --git a/emulators/qemu/patches/patch-memory.c b/emulators/qemu/patches/patch-memory.c
index 7c9c90d4013..38340cdcd9f 100644
--- a/emulators/qemu/patches/patch-memory.c
+++ b/emulators/qemu/patches/patch-memory.c
@@ -1,9 +1,9 @@
-$NetBSD: patch-memory.c,v 1.4 2013/06/16 18:27:25 tsutsui Exp $
+$NetBSD: patch-memory.c,v 1.5 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)
---- memory.c.orig 2013-05-24 13:37:57.000000000 +0000
+--- memory.c.orig 2013-06-26 21:47:29.000000000 +0000
+++ memory.c
@@ -313,7 +313,7 @@ static void memory_region_read_accessor(
if (mr->flush_coalesced_mmio) {
diff --git a/emulators/qemu/patches/patch-net_tap-bsd.c b/emulators/qemu/patches/patch-net_tap-bsd.c
index 91e58006698..10b319d4dad 100644
--- a/emulators/qemu/patches/patch-net_tap-bsd.c
+++ b/emulators/qemu/patches/patch-net_tap-bsd.c
@@ -1,8 +1,8 @@
-$NetBSD: patch-net_tap-bsd.c,v 1.3 2013/06/16 18:27:25 tsutsui Exp $
+$NetBSD: patch-net_tap-bsd.c,v 1.4 2013/07/09 17:00:58 tsutsui Exp $
Make it understand "-net tap,ifname=tap3" on NetBSD.
---- net/tap-bsd.c.orig 2013-05-24 13:37:57.000000000 +0000
+--- net/tap-bsd.c.orig 2013-06-26 21:47:29.000000000 +0000
+++ net/tap-bsd.c
@@ -44,7 +44,7 @@ int tap_open(char *ifname, int ifname_si
struct stat s;
diff --git a/emulators/qemu/patches/patch-slirp_tcp__subr.c b/emulators/qemu/patches/patch-slirp_tcp__subr.c
index f9b2821bec7..65169ef7d64 100644
--- a/emulators/qemu/patches/patch-slirp_tcp__subr.c
+++ b/emulators/qemu/patches/patch-slirp_tcp__subr.c
@@ -1,13 +1,13 @@
-$NetBSD: patch-slirp_tcp__subr.c,v 1.4 2013/06/16 18:27:25 tsutsui Exp $
+$NetBSD: patch-slirp_tcp__subr.c,v 1.5 2013/07/09 17:00:58 tsutsui Exp $
---- slirp/tcp_subr.c.orig 2013-05-24 13:37:57.000000000 +0000
+--- slirp/tcp_subr.c.orig 2013-06-26 21:47:29.000000000 +0000
+++ slirp/tcp_subr.c
@@ -341,6 +341,8 @@ int tcp_fconnect(struct socket *so)
- setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(opt ));
+ qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
opt = 1;
- setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(opt ));
+ qemu_setsockopt(s, SOL_SOCKET, SO_OOBINLINE, &opt, sizeof(opt));
+ opt = 1;
-+ setsockopt(s,IPPROTO_TCP,TCP_NODELAY,(char *)&opt,sizeof(int));
++ qemu_setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &opt, sizeof(opt));
addr.sin_family = AF_INET;
if ((so->so_faddr.s_addr & slirp->vnetwork_mask.s_addr) ==
diff --git a/emulators/qemu/patches/patch-user-exec.c b/emulators/qemu/patches/patch-user-exec.c
index f5be2292bb7..da690dfd127 100644
--- a/emulators/qemu/patches/patch-user-exec.c
+++ b/emulators/qemu/patches/patch-user-exec.c
@@ -1,8 +1,8 @@
-$NetBSD: patch-user-exec.c,v 1.1 2013/06/27 14:09:35 tsutsui Exp $
+$NetBSD: patch-user-exec.c,v 1.2 2013/07/09 17:00:58 tsutsui Exp $
Add OS dependent code for NetBSD/arm.
---- user-exec.c.orig 2013-05-24 13:37:58.000000000 +0000
+--- user-exec.c.orig 2013-06-26 21:47:30.000000000 +0000
+++ user-exec.c
@@ -428,19 +428,31 @@ int cpu_signal_handler(int host_signum,
diff --git a/emulators/qemu/patches/patch-util_hbitmap.c b/emulators/qemu/patches/patch-util_hbitmap.c
index 14d7b06369a..1e6eae97d29 100644
--- a/emulators/qemu/patches/patch-util_hbitmap.c
+++ b/emulators/qemu/patches/patch-util_hbitmap.c
@@ -1,8 +1,8 @@
-$NetBSD: patch-util_hbitmap.c,v 1.1 2013/06/16 18:27:25 tsutsui Exp $
+$NetBSD: patch-util_hbitmap.c,v 1.2 2013/07/09 17:00:58 tsutsui Exp $
Avoid conflicts against popcountl(3) in NetBSD's libc.
---- util/hbitmap.c.orig 2013-05-24 13:37:58.000000000 +0000
+--- util/hbitmap.c.orig 2013-06-26 21:47:30.000000000 +0000
+++ util/hbitmap.c
@@ -92,7 +92,7 @@ struct HBitmap {
unsigned long *levels[HBITMAP_LEVELS];
@@ -13,7 +13,7 @@ Avoid conflicts against popcountl(3) in NetBSD's libc.
{
return BITS_PER_LONG == 32 ? ctpop32(l) : ctpop64(l);
}
-@@ -199,14 +199,14 @@ static uint64_t hb_count_between(HBitmap
+@@ -200,14 +200,14 @@ static uint64_t hb_count_between(HBitmap
if (pos >= (end >> BITS_PER_LEVEL)) {
break;
}
diff --git a/emulators/qemu/patches/patch-util_qemu-thread-posix.c b/emulators/qemu/patches/patch-util_qemu-thread-posix.c
index 0f14bb107ca..9b5aadd907c 100644
--- a/emulators/qemu/patches/patch-util_qemu-thread-posix.c
+++ b/emulators/qemu/patches/patch-util_qemu-thread-posix.c
@@ -1,4 +1,4 @@
-$NetBSD: patch-util_qemu-thread-posix.c,v 1.1 2013/06/28 19:30:28 tsutsui Exp $
+$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":
@@ -8,13 +8,18 @@ http://git.qemu.org/?p=qemu.git;a=commit;h=c166cb72f1676855816340666c3b618beef4b
- 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@.
+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-05-24 13:37:58.000000000 +0000
+--- util/qemu-thread-posix.c.orig 2013-06-26 21:47:30.000000000 +0000
+++ util/qemu-thread-posix.c
-@@ -172,10 +172,9 @@ void qemu_sem_post(QemuSemaphore *sem)
+@@ -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 == INT_MAX) {
++ if (sem->count == UINT_MAX) {
rc = EINVAL;
- } else if (sem->count++ < 0) {
- rc = pthread_cond_signal(&sem->cond);
@@ -25,7 +30,7 @@ Discussed with and patch is provieded by soda@.
}
pthread_mutex_unlock(&sem->lock);
if (rc != 0) {
-@@ -207,19 +206,21 @@ int qemu_sem_timedwait(QemuSemaphore *se
+@@ -207,19 +206,21 @@ int qemu_sem_timedwait(QemuSemaphore *sem, int ms)
struct timespec ts;
#if defined(__APPLE__) || defined(__NetBSD__)
@@ -34,7 +39,7 @@ Discussed with and patch is provieded by soda@.
pthread_mutex_lock(&sem->lock);
- --sem->count;
- while (sem->count < 0) {
-+ while (sem->count <= 0) {
++ while (sem->count == 0) {
rc = pthread_cond_timedwait(&sem->cond, &sem->lock, &ts);
if (rc == ETIMEDOUT) {
- ++sem->count;
@@ -50,16 +55,28 @@ Discussed with and patch is provieded by soda@.
pthread_mutex_unlock(&sem->lock);
return (rc == ETIMEDOUT ? -1 : 0);
#else
-@@ -251,10 +252,10 @@ void qemu_sem_wait(QemuSemaphore *sem)
+@@ -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) {
-+ while (sem->count <= 0) {
- pthread_cond_wait(&sem->cond, &sem->lock);
+- 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;
+- int rc;
+-
+ do {
+ rc = sem_wait(&sem->sem);
+ } while (rc == -1 && errno == EINTR);