pkgsrc changes:
- update PLIST for new files
- update patches (adjust lines, update comments)
- remove unnecessary files from subst list
XXX1: tested only on NetBSD/i386 6.1 and NetBSD/amd64 6.1
XXX2: needs to investicate hangup in pthread_cond_timedwait(3) on NetBSD
under load of multiple disk xfers (1.3.1 had the similar problem)
Upstream changes:
Changes mentioned in 1.4.2 announcment:
http://lists.nongnu.org/archive/html/qemu-stable/2013-05/msg00095.html
89400a8: update VERSION for 1.4.2 (Michael Roth)
e85b521: ppc: do not register IABR SPR twice for 603e (Herve Poussineau)
f890185: hw/9pfs: use O_NOFOLLOW for mapped readlink operation (Aneesh Kumar
K.V)
745f6c0: hw/9pfs: Fix segfault with 9p2000.u (Aneesh Kumar K.V)
0182df5: rbd: add an asynchronous flush (Josh Durgin)
7f28f0f: qemu-iotests: add tests for rebasing zero clusters (Paolo Bonzini)
45bbe1f: virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event (Luiz
Capitulino)
06efdc4: qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 (Paolo
Bonzini)
0c70b5a: configure: Don't fall back to gthread coroutine backend (Brad Smith)
b90fd15: usb-redir: Fix crash on migration with no client connected (Hans de
Goede)
7322cb1: docs: Fix generating qemu-doc.html with texinfo 5 (Cole Robinson)
1d7723f: qga: unlink just created guest-file if fchmod() or fdopen() fails on
it (Laszlo Ersek)
67b460a: qga: distinguish binary modes in "guest_file_open_modes" map (Laszlo
Ersek)
84247bb: translate-all.c: Remove cpu_unlink_tb() (Peter Maydell)
2ebcc59: Handle CPU interrupts by inline checking of a flag (Peter Maydell)
69001b3: cpu-exec: wrap tcg_qemu_tb_exec() in a fn to restore the PC (Peter
Maydell)
3accab7: tcg: Document tcg_qemu_tb_exec() and provide constants for low bit
uses (Peter Maydell)
6025953: qga: set umask 0077 when daemonizing (CVE-2013-2007) (Laszlo Ersek)
93399d0: tcg/optimize: fix setcond2 optimization (Aurelien Jarno)
074dd56: target-mips: Fix accumulator arguments to gen_helper_dmult(u) (Richard
Sandiford)
d10d251: configure: Pick up libseccomp include path (Andreas Faber)
5613bda: virtio-ccw: Check indicators location. (Cornelia Huck)
c5675a9: tap: properly initialize vhostfds (Jason Wang)
e355efd: rng random backend: check for -EAGAIN errors on read (Amit Shah)
4d7f455: qdev: Fix QOM unrealize behavior (Andreas Farber)
0486c27: nbd: unlock mutex in nbd_co_send_request() error path (Stefan Hajnoczi)
Changes mentioned in 1.4.1 announcment:
http://lists.nongnu.org/archive/html/qemu-stable/2013-04/msg00071.html
57105f7: update VERSION for 1.4.1 (Michael Roth)
6e88653: Add -f FMT / --format FMT arg to qemu-nbd (Daniel P. Berrange)
6d0b135: target-mips: Fix accumulator selection for MIPS16 and microMIPS
(Richard Sandiford)
d89f9ba: Allow clock_gettime() monotonic clock to be utilized on more OS's
(Brad Smith)
46f9071: target-i386: Check for host features before filter_features_for_kvm()
(Eduardo Habkost)
f85e082: help: add docs for missing 'queues' option of tap (Jason Wang)
da78a1b: compiler: fix warning with GCC 4.8.0 (Paolo Bonzini)
2b92aa3: block: complete all IOs before resizing a device (Peter Lieven)
e4cce2d: Revert "block: complete all IOs before .bdrv_truncate" (Peter Lieven)
d15b1aa: qxl: better vga init in enter_vga_mode (Gerd Hoffmann)
65fe29e: doc: Fix texinfo @table markup in qemu-options.hx (Markus Armbruster)
888e036: acpi: initialize s4_val used in s4 shutdown (Bruce Rogers)
d019dd9: target-mips: fix rndrashift_short_acc and code for EXTR_ instructions
(Petar Jovanovic)
dac077f: target-mips: fix DSP overflow macro and affected routines (Petar
Jovanovic)
b09a673: target-mips: fix for sign-issue in MULQ_W helper (Petar Jovanovic)
79a4dd4: target-mips: fix for incorrect multiplication with MULQ_S.PH (Petar
Jovanovic)
57e929c: usb-tablet: Don't claim wakeup capability for USB-2 version (Hans de
Goede)
27c7135: chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors (Stefan
Hajnoczi)
283b7de: qemu-socket: set passed fd non-blocking in socket_connect() (Stefan
Hajnoczi)
a1cb89f: net: ensure "socket" backend uses non-blocking fds (Stefan Hajnoczi)
68f9df5: oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()
(Stefan Hajnoczi)
0135796: update seabios to 1.7.2.1 (Gerd Hoffmann)
799a34a: linux-user/syscall.c: Don't warn about unimplemented get_robust_list
(Peter Maydell)
8378910: linux-user: make bogus negative iovec lengths fail EINVAL (Peter
Maydell)
7a238b9: linux-user: fix futex strace of FUTEX_CLOCK_REALTIME (John Rigby)
02493ee: linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex (John Rigby)
7d47b24: qcow2: flush refcount cache correctly in qcow2_write_snapshots()
(Stefan Hajnoczi)
02ea844: qcow2: flush refcount cache correctly in alloc_refcount_block()
(Stefan Hajnoczi)
0fcf00b: page_cache: fix memory leak (Peter Lieven)
5610ef5: Fix page_cache leak in cache_resize (Orit Wasserman)
7a687ae: virtio-blk: fix unplug + virsh reboot (Christian Borntraeger)
b91aee5: ide/macio: Fix macio DMA initialisation. (Mark Cave-Ayland)
e09b99b: target-ppc: Fix CPU_POWERPC_MPC8547E (Andreas Farber)
611c7f2: pseries: Add cleanup hook for PAPR virtual LAN device (David Gibson)
4e4566c: configure: Require at least spice-protocol-0.12.3 (Michal Privoznik)
43e0061: qemu-bridge-helper: force usage of a very high MAC address for the
bridge (Paolo Bonzini)
3c3de7c: virtio-ccw: Queue sanity check for notify hypercall. (Cornelia Huck)
b0da310: tcg: Fix occasional TCG broken problem when ldst optimization enabled
(Yeongkyoon Lee)
d26efd2: qga/main.c: Don't use g_key_file_get/set_int64 (Peter Crosthwaite)
f305d50: qemu-ga: use key-value store to avoid recycling fd handles after
restart (Michael Roth)
d3652a1: qcow2: make is_allocated return true for zero clusters (Paolo Bonzini)
5194350: pseries: Add compatible property to root of device tree (David Gibson)
4d1cdb9: Allow virtio-net features for legacy s390 virtio bus (Christian
Borntraeger)
c3b81e0: rtc-test: Fix test failures with recent glib (Cole Robinson)
99b1f39: scsi-disk: do not complete canceled UNMAP requests (Paolo Bonzini)
f23ab03: scsi: do not call scsi_read_data/scsi_write_data for a canceled
request (Paolo Bonzini)
0c918dd: iscsi: look for pkg-config file too (Paolo Bonzini)
a8b090e: scsi-disk: handle io_canceled uniformly and correctly (Paolo Bonzini)
4a38944: qemu-ga: make guest-sync-delimited available during fsfreeze (Michael
Roth)
b7ff1a7: qmp: netdev_add is like -netdev, not -net, fix documentation (Markus
Armbruster)
d49fed4: vga: fix byteswapping. (Gerd Hoffmann)
cebb8eb: help: add docs for multiqueue tap options (Jason Wang)
3b39a11: net: reduce the unnecessary memory allocation of multiqueue (Jason
Wang)
ec9f828: qemu-char.c: fix waiting for telnet connection message (Igor Mitsyanko)
332e934: tap: forbid creating multiqueue tap when hub is used (Jason Wang)
e6b795f: block: complete all IOs before .bdrv_truncate (Peter Lieven)
51968b8: coroutine: trim down nesting level in perf_nesting test (Paolo Bonzini)
80d8b5d: target-ppc: Fix "G2leGP3" PVR (Andreas Farber)
ChangeLog 1.4
http://wiki.qemu.org/ChangeLog/1.4
System emulation
----------------
Device emulation
Device issignment
- Improved support for MSI-X on some Mellanox devices.
- VFIO supports PCIe extended configuration space.
USB
- Various CPU usage and throughput improvements for USB 2.0.
- usb-tablet can be connected as an USB 2.0 device, also lowering
the CPU usage substantially.
- Improved support for pass-through of USB serial devices.
- A new device usb-bot is the same as usb-storage, but is configured
like other SCSI adapters and supports multiple LUNs.
Network
- virtio-net supports multiqueue operation.
Other
- Added support for IndustryPack emulation. The TEWS TPCI200 device
emulation (device "tpci200") hosts IndustryPack modules, and the
GE IP-Octal 232 emulation (device "ipoctal232") implements eight
RS-232 serial ports.
ARM
- Various minor bugfixes; no new features in this release.
MIPS
- Improved support for DSP instructions.
PowerPC
- pSeries: NVRAM support for improved guest installation experience
- G3/G4: Allow dcbzl (for Mac OS X guests)
- e500: Linux guests don't use use SWTLB anymore, freeing memory for
real applications
- e500: MSI support
- e500: Allow for up to 31 PCI devices with -M ppce500
- e500: Support idle hcall when running KVM on e500mc or above
- e500: Emulate the EPR facility (e500mc and above)
- PReP: Emulate a full PC87312 Super I/O chipset. This adds a parallel
port. Changing the chipset configuration register at runtime is
not yet supported.
S390
- New virtio-ccw machine and transport support
- Add -cpu ? support
- Improved support for S390 emulation.
x86
- Generation of APIC IDs for NUMA configuration is now compatible with
the Intel(R) 64 Architecture Processor Topology Enumeration
- Many fixes to the Q35 chipset emulation, including experimental AHCI
migration support and support for device assignment.
- Resetting the machine with a write to port 0xCF9 now works.
- The xlevel argument for -cpu option currently silently fix-ups the
user-provided value if it's less than 0x80000000. This will be
removed in future QEMU versions; users are expected to provide valid
xlevel value or QEMU will fail to start.
KVM
- New devices isa-debug-exit and pc-testdev can be used to run
kvm-unit-tests.
Xen
- Persistent grants support implemented in xen_disk, giving substantial
performance improvements.
- xen_disk supports BLKIF_OP_FLUSH_DISKCACHE, making the device safer
against power losses.
- xen_console supports multiple secondary PV consoles.
QMP
- New commands chardev-add and chardev-del add support for hotplugging
character devices.
- New ringbuf-read/ringbuf-write to read and write to memory chardevs
- Various improvements in error messages
Block devices
- Discard operations are now supported on block devices and on
filesystems other than XFS. They are also fully asynchronous now.
- Block device mirroring (also known as storage migration) performance
was greatly improved.
- New experimental threaded backend for virtio-block-pci. This new
backend achieves several times the IOPS of the existing virtio-blk
implementation; for now it can only be used for raw image files and
disables features such as live snapshots and storage migration.
Live Migration
- Moved migration from a timer to a thread, improving latency in
other parts of QEMU and throughput of migration itself
- Many machine models are now correctly marked as not migratable.
Spice
- A new spiceport character device can be used to support arbitrary
communication between the SPICE server on the host and the client.
VNC
- Added support for the Websocket protocol.
User-mode emulation
-------------------
- Fix ppc guest signal handling
- Fix MIPS target
Guest agent
-----------
- qemu-ga supports hooks that are executed when the guest receives
the guest-fsfreeze-freeze and guest-fsfreeze-thaw commands
Host support
------------
- Native asynchronous I/O for Win32 (introduced in 1.3) now actually works.
2013-05-24 Philip Kendall <philip-fuse@shadowmagic.org.uk>
* Fuse 1.1.1 released.
* Distribute PORTING,hacking/valgrind.supp,sound/wiisound.c,
tests/success.{mgt.bz2,opd} and ui/wii/wiimouse.h (Stuart Brady).
* Add ChangeLog entries for 1.0.0.1 and 1.0.0.1a (Fredrick Meunier).
* Release correct version of source files.
2013-05-19 Philip Kendall <philip-fuse@shadowmagic.org.uk>
* Fuse 1.1.0 released.
* Remove ROMs that there is no formal permission to distribute.
* New features:
* Add Spectranet ethernet interface emulation (Philip Kendall).
* Add SpeccyBoot ethernet interface emulation (Patrik Persson).
* Add SpecDrum sound interface emulation (Jon Mitchell).
* Add DISCiPLE disk interface emulation (Stuart Brady).
Sinclair Network emulation is not provided, and the interface is
not available under 128K emulation in this release.
* Support reading PZX files (Fredrick Meunier).
* Add support for POK files (Sergio Baldoví).
* Add recording of movies to FMF files (Gergely Szasz).
* Add GTK+ 3 compatibility (Sergio Baldoví).
* Emulation core improvements:
* Add support for ABC AY stereo (Stuart Brady).
* Correct feedback in AY noise generator (Patrik Rak).
* MIC bit only isn't enough to drive the speaker (Fredrick Meunier).
* Mirror Interface 1 ROM to the second 8Kb of ROM as in the real
interface (Fredrick Meunier, with thanks to mcleod_ideafix and
zx81).
* Support the Beta interface setting to not auto-boot the interface
on 48K machines (ketmar).
* Machine specific improvements:
* Read and write all potential 1024k worth of memory pages from a
snap (ketmar and Fredrick Meunier).
* Initialise the Pentagon 1024k memory ports from a snapshot (ketmar
and Fredrick Meunier).
* Restore the paged state of the Beta ROM when loading Pentagon
128k/512k/1024k snapshots (ketmar and Fredrick Meunier).
* Debugger improvements:
* Disassemble ED 4D as RETI (Simon Owen).
* Add IM, IFF1 and IFF2 setting and getting to the debugger (Alex
Badea).
* Miscellaneous improvements:
* Many improvements to Win32 UI and installer (Sergio Baldoví).
* Allow the use of the SDL joystick code in the GTK+ and Xlib UIs
(Sergio Baldoví).
* Add current machine name to GTK+ and Win32 statusbars (Sergio
Baldoví).
* Allow the drag and drop of files from KDE (Dolphin/Konqueror)
(Sergio Baldoví, with thanks to Diondeville).
* Add a statusbar for the xlib UI (Gergely Szasz).
* Extend supported symbol characters on SDL and xlib UIs (Sergio
Baldoví).
* Support for the TZX set signal level block (Fredrick Meunier).
* Drop support for GLib and GTK+ version 1.x (Alberto Garcia and
Sergio Baldoví).
* Support setting late timings from snapshots (Fredrick Meunier).
* Various other minor bugfixes.
2013-05-24 Philip Kendall <philip-fuse@shadowmagic.org.uk>
* libspectrum 1.1.1 released.
* Decreased libtool version to allow binaries built against
libspectrum 1.0.0 to run with libspectrum 1.1.1.
2013-05-18 Philip Kendall <philip-fuse@shadowmagic.org.uk>
* libspectrum 1.1.0 released.
* Support for Spectranet in snapshots (Philip Kendall).
* Support for Cheetah SpecDrum in snapshots (Fredrick Meunier).
* Support reading PZX files (Fredrick Meunier).
* Support for the TZX set signal level block (Fredrick Meunier).
* Various minor bug fixes/improvements:
* Add support for detecting POK files (Sergio Baldoví).
* Advertise support for bzip2 compressed and wav files (Sergio
Baldoví).
* Drop support for GLib version 1.x (Alberto Garcia).
* Add support for audiofile 0.3.x (Alberto Garcia).
* Load all snapshot RAM pages for machines with more than 128k
(Fredrick Meunier; thanks, ketmar).
* Support more SZX 1.5 features (Fredrick Meunier).
* Modernise autoconf support (Sergio Baldoví).
* Remove obsolete patch.
* Remove deprecated CONFIGURE_ARGS.
Changelog:
Changes in 2.6.2 (May 26, 2013):
- CPU
- VMX: implemented VMENTER to non-active guest state (HLT, SHUTDOWN, WAIT-FOR-SIPI)
- VMX: fixed write of guest segment access rights VMCS fields (32-bit field
was truncated to 16-bit)
- CPUID: Don't report Architectural Performance Monitoring in CPUID.
Reporting true capabilities without actually supporting them breaks Win7 x64 installation.
- CPUID: Fixed bx_generic CPUID std leafs (all std leafs > 2 were corrupted)
- CPUID: Enable all supported VMX capabilities for bx_generic CPUID configuration.
- CPUID: Enable X2APIC support for Ivy Bridge CPUDB configuration.
- Configure and compile
- Enabled VMX compilation by default in shortcut scripts.
- Allow CPU_LEVEL=5 configurations (pentium_mmx and amd_k2_chomper) even when Bochs was
compiled with CPU_LEVEL > 5.
- Misc
- Fixes for Bochs port on MorphOS (based on a patch by Thore Sittly):
missing functions, byte-swapping and cdrom support.
-------------------------------------------------------------------------
Changes in 2.6.1 (April 7, 2013):
- CPU / CPUDB
- Bochs is fully aligned with rev45 of the of Intel(R) Architecture Manual.
- Implemented Supervisor Mode Access Prevention (SMAP) support
- Implemented VMX APIC Registers Virtualization and VMX Virtual Interrupt Delivery
- Implemented VMCS Shadowing and #VE exception secondary VMEXIT controls emulation
- Implemented RDRAND and RDSEED instructions
! CPUDB: Added AMD FX-4100 (Zambezi) configuration to CPUDB
- Bugfixes for CPU emulation correctness (critical fixes for SVM and AVX2 emulation)
- Bochs Debugger and Instrumentation
- Use Enhanced GUI Debugger instead of old-style wx debugger with wx gui.
The old-style wx debugger support was deprecated and removed from the source code.
- I/O Devices
- Implemented 3dfx Voodoo Graphics card emulation based on DOSBox patch, to enable
configure with --enable-voodoo option.
- Hard drive / HD image
- Added full save restore support for most of the disk image formats
- undoable / volatile mode: added support of other types of r/o base images
- DLL HD support rewritten and enabled for WIN32 host
- PCI chipset
- Implemented i430FX chipset emulation
- USB UHCI always enabled in the i440FX case
- Config interface
- Configure option --enable-misaligned-sse moved to runtime option in .bochsrc. The old
option is deprecated and should not be used anymore.
- moved 'user_shortcut' bochsrc option to the 'keyboard' option
- save log options per device to bochsrc
- win32: implemented scrollable dialog items for large parameter lists
- GUI and display libraries
- Graphics snapshot feature rewritten to support all kinds of graphics modes
- wx: starting a second simulation without closing Bochs now almost possible
- Tools
- bxcommit: added support for converting flat to growing mode images
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
* Imported hqx filters.
* Added debugger support.
* Rendered screen is now scaled by a factor of 2 by default.
* Fixed joystick issues. bool_joystick is also enabled by default.
* DGen is now fully controllable from a joystick/joypad.
* Imported Cyclone 68000 0.099, a M68K core written in pure ARM assembly.
* Imported DrZ80, a Z80 core also written in pure ARM assembly.
* Cyclone 68000 and DrZ80 are now the default CPU emulators on ARM.
* Lots of bugfixes.
* Option to automatically save configuration on exit
* More settings saved in configuration:
- currently attached tape file
- cartridge settings, including currently attached cartridges
- state of R-Time 8
- system settings, including Mosaic/Axlon RAM size
* New Tape Management menu - can now create blank tape images, switch tape
to read/write in order to save additional data at the end of the current
tape image, rewind/fast forward the tape, and mark it as read-only. See
DOC/USAGE for details.
* Displaying tape position when "Show sector/block counter" is enabled.
* Reworked Cartridge Management menu - now displays filename of the
attached cartridge.
* Option to disable restarting of the machine after cartridge change.
* When attaching a cartridge from the command line, cartridge type can now
be specified using the new -cart-type and -cart2-type options.
* New cartridge types supported:
- OSS 8 KB cartridge
- OSS two chip 16 KB cartridge (043M)
- Blizzard 4 KB cartridge
- AST 32 KB cartridge
- Atrax SDX 64 KB cartridge
- Atrax SDX 128 KB cartridge
- Turbosoft 64 KB cartridge
- Turbosoft 128 KB cartridge
- Ultracart 32 KB cartridge
- Low bank 8 KB cartridge
- SIC! 128 KB cartridge
- SIC! 256 KB cartridge
- SIC! 512 KB cartridge
- Standard 2 KB cartridge
- Standard 4 KB cartridge
- Right slot 4 KB cartridge
* The configure script can now auto-detect some of the available display and
sound interfaces before compiling.
* Option to enable XEP80 added to The Emulator Settings menu.
* Emulation of the 1200XL, including console LEDs, no built-in BASIC, the
F1-F4 keys (mapped to arrow keys in the SDL version) and the on-board
J1 jumper.
* Emulation of the XE Game System, including the built-in game and
detachable keyboard.
* Revamped the Select System menu (now called System Settings). Can now
select many system settings, including RAM expansions, OS and BASIC
revision, and more.
* System ROM settings moved to a separate menu. Now it stores paths to all
known official revisions of the Atari OS, the 5200 BIOS, all BASIC
revisions, and the XEGS built-in game. The OS revision to use is chosen
automatically when selecting a machine type (for example, the 400/800 OS
PAL or NTSC version is chosen depending on the selected TV system).
* 400/800: Emulation of all RAM sizes achievable with different combinations
of the CX852 and CX853 modules - from 8 to 48 KB.
* Emulation of 32/48KB memory sizes in the XL/XE mode, compatible
with memory expansions for the 600XL manufactured by RC Systems.
* Emulation of the MapRAM hardware hack.
* Display settings: "Hue" renamed to "Tint". Tint now configurable also in
PAL mode.
* Problems compiling VMIPS with gcc 4.7.x have been fixed.
* An error has been fixed in the Makefiles which was preventing the
canned setup code from being installed.
* An error has been fixed in the Makefiles which was preventing
CFLAGS and LDFLAGS from being set correctly in some cases.