diff options
author | tsutsui <tsutsui@pkgsrc.org> | 2013-07-09 17:00:58 +0000 |
---|---|---|
committer | tsutsui <tsutsui@pkgsrc.org> | 2013-07-09 17:00:58 +0000 |
commit | c9d04c7e09b2ddc951fec128234be9a073cef9d2 (patch) | |
tree | 5e626460d307cb930c960e08190586be7bd9c3bd /emulators/qemu | |
parent | 4844b9ae5edd9d3793d430c5ef7b76062d763362 (diff) | |
download | pkgsrc-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/qemu')
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); |