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...
pkgsrc changes:
- update HOMEPAGE and MASTER_SITES
Upstream changes:
Changes from 20130726:
X11 dependent part:
- fix build failure with GTK+ <2.18
Changes from 20120618:
X11 dependent part:
- assign F11 key to switch fullscreen and print menu during fullscreen
are replaced with .include "../../devel/readline/buildlink3.mk", and
USE_GNU_READLINE are removed,
* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
are replaced with .include "../../mk/readline.buildlink3.mk".
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.
Pkgsrc changes;
* HOMEPAGE & distribution site moved.
* HP has released the ROMs, and copies of these are now automatically
installed.
* I could not get the X11 shm option to work (native X11, NetBSD 6.1/i386),
so it is disabled in the Makefile.
* Patch with updated pty handling code, borrowing some from FreeBSD's
package here.
Upstream changes:
2011-08-08 "G. Allen Morris III" <gam3@gam3.net> release 0.6.4
* Default to throttling speed only when key-pressed
* Add throttle switch for speed emulation
* Fix buffer overflow bug
* release keys on loss of focus
* typo in access_time adjust
2010-02-01 "G. Allen Morris III" <gam3@gam3.net> release 0.6.3
* made updates to x48.spec
* put debian directory in dist file
* install X48 app data in correct place
using pkg-config appdefaultdir xt
* removed more debugging messages
* added 'netbook' look for small/short screens
use +netbook on the command line
2010-01-30 "G. Allen Morris III" <gam3@gam3.net> release 0.6.2
* remove setlocal code that was causing a bug.
* removed some debugging code.
2009-06-31 "G. Allen Morris III" <gam3@gam3.net> release 0.6.1
* Fix to XShm to solve the 'LCD' Scramble problem.
2006-04-20 "G. Allen Morris III" <gam3@gam3.net>
* Added simple paste feature
* Repaired debugger non-readline input
* Changed from building with Imakefile to using GNU autoconfig
2005-03-20 "G. Allen Morris III" <gam3@gam3.net>
* added equal key for + and Meta Keys for Alpha
* applied a different fix for the arrow repeat key bug
* fixed a bug in the timer one logic. The cursor now flashes on input.
2005-03-20 "G. Allen Morris III" <gam3@gam3.net>
* added patch [000390] time.h compile bug
* added patch [000391] Arrow key repeat patch
* added ChangeLog file
2005-03-18 "G. Allen Morris III" <gam3@gam3.net>
* starting from x48 0.4.0.
with the alsa, opengl, png, pulseaudio, xrandr, xvideo, and zlib
PKG_OPTIONS. png, xrandr, xvideo, and zlib are enabled by default, since
those are the package's defaults. This relocates libXv from Makefile and
moves the disabling of OpenGL (which i can't see a reason why it is/was
disabled) to options.mk. Add msgmerge, xgettext, and perl to USE_TOOLS.
Set LICENSE to gnu-lgpl-v2.1, which is reflected on HOMEPAGE, but code also
includes gnu-gpl-v2 code, so add that too just to be safe. Bump PKGREVISION
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.
GNS3 0.8.3.1
* Vboxwrapper recompilation to run with VirtualBox 4.2
* Support for access to the GNS3 VirtualBox VM name from inside a VM:
VBoxControl guestproperty get NameInGNS3
* Minor fixes
GNS3 0.8.3
* Option to freely use the first VBox interface inside VMs (i.e. eth0
on Linux).
* New base configuration (startup-config) for devices with NM-16ESW
(named baseconfig_sw.txt).
* Console and headless mode support for VirtualBox devices.
* Embedded console/terminal server to access VirtualBox VM consoles
using Telnet.
* Support for drag & drop of topology files inside GNS3.
* Double quote support for Qemu options and ASA kernel/initrd command lines.
* Import & export for GNS3 configuration file (gns3.ini).
* Global TCP port tracker to allocate ports and avoid conflicts (console
+ AUX ports for IOS routers and console ports for Qemu-like/VirtualBox
devices are tracked)
* Scripts for using consoles with VBox VMs (Windows only).
* Backup nvram export when Dynamips has crashed.
* Option (activated by default) to use the VirtualBox VM names to name
VirtualBox devices in GNS3.
* Complete IPv6 support (with correct functions).
* Support for binding on specific addresses when loading a topology
* Option to track opened node consoles in order to close them when the
node gets deleted.
GNS3 0.8.0 VirtualBox Edition
Major Improvements:
* VirtualBox support (v4.1 required)
* Wireshark Live Traffic Capture
* Basic IPv6 enablement
* Basic Netbook enablement
* Dynagen Console got a massive rewrite / cleanup
* Russian translation got a major update
Detailed changes see CHANGELOG
and want NetBSD-5.0 compatibility, compat50 will depend on compat51 to
bridge the gap. There is currently no need for a compat52, nor for a
compat60-x11.
The compat tarballs may be larger than strictly necessary.
Testing was 'lightly', so there's probably Room for Improvement (tm).
0.9.11 -> 0.9.12
general:
- Fixes to the dynamic recompiler (Ari64)
- Added ARMv5 support to the dynarec (Ari64)
- New OSD system (Guillaume)
- Added "built-in" DDK to make it easier to compile on Windows (Guillaume)
sound:
- Improvements / Fixes in both SCSP and SCSP2 (Cwiiis)
video:
- Major improvements to the OpenGL renderer (Devmiyax)
- Major improvements to the software renderer (Guillaume)
- Some fixes to register emulation (Guillaume)
- Improvements to line drawing functions in the software renderer (Cwiiis)
- Fixed endianess bugs (Guillaume)
cocoa port:
- Added "load image" feature (BlueCrab)
- Fixed the resize bug (BlueCrab)
qt port:
- Added shortcuts to toggle vdp2 layers (Benjamin Siskoo)
- Fixed the "mute sound" feature (Guillaume)
- It's now possible to compile the Qt port in "full software" mode (Guillaume)
- Added an autostart option, disabled by default (Guillaume)
- Now using a XDG compliant location for config file (Guillaume)
- Added a debugger to the Qt port (CyberWarriorX)
- DirectX cores can now be used in Qt port (CyberWarriorX)
- Cheat search function (CyberWarriorX)
- Option to show/hide menu and toolbar (Guillaume)
- Close button in pad settings (guillaume)
Changelog:
QMP
The sendkey monitor command is now available via QMP.
All targets
QEMU can now use the Linux VFIO driver to assign PCI devices to a virtual machine.
The bus master configuration bit for PCI devices is now emulated. PCI devices cannot anymore perform DMA without setting the bit before. This may break firmware that wasn't tested on real hardware.
MIPS
Loongson Multimedia Instructions are now implemented.
MIPS32/64 ASE DSP Instructions are now implemented.
x86
The TSC frequency can be larger than 2.147 GHz.
Configuration files do not support anymore the cpudef section.
TCG (emulation) supports the SMEP (Supervisor Mode Execution Prevention) and SMAP (Supervisor Mode Access Prevention) features of newer x86 processors.
CPUID/models?
The "cpudef" config file section is now deprecated and will be removed in v1.4.
New CPU models: "Haswell" (new features: fma, pcid, movbe, fsgsbase, bmi1, hle, avx2, smep, bmi2, erms, invpcid, rtm) and "Opteron_G5" (new features: tbm, f16c, fma)
Added Intel Q35 chipset as a new machine type, '--machine q35'. Adds PCIe support. Requires an updated SeaBIOS (bios.bin), and '-acpitable file=/seabios-path/q35-acpi-dsdt.aml' to run.
Xtensa
Single precision floating point instructions are now implemented.
Device emulation
Emulation of the MC146818 real-time clock (used on PC and several other boards) does not wake up QEMU anymore every second to update the clock.
USB3 has been vastly improved, including support for USB mass storage devices and MSI/MSI-X support for the XHCI controller.
USB redirection now supports live migration.
Several bugs in the AHCI controller were fixed to support recent Windows versions.
ivshmem now has a "use64" property which will make the ivshmem driver register a 64-bit memory BAR.
New paravirtualized hardware random number generator device, VirtIORNG.
Network devices
Some problems were fixed leading to bad receive performance of E1000 and Xen network cards.
Block devices
qemu-img now can output information in JSON format using "qemu-img info --output=json".
Glusterfs volumes can be accessed with "gluster://" URIs for "-drive" and similar options. Optionally the transport can also be specified, as in "gluster+tcp://" (other supported transports are "unix" and "rdma").
Options on the QMP streaming command direct the job to pause on encountering errors, or to ignore them altogether.
A new block job is supported: live block commit (also known as "snapshot deletion") moves data from an image to another in the backing file chain. With the current implementation of QEMU 1.3, the "source" image may not be the active one.
A new block job is supported: live disk mirroring (also known as "storage migration") moves data from an image to another. A new command "block-job-complete" is used to switch the VM to use the destination image exclusively.
Block jobs can now be paused and resumed from the monitor.
NBD block devices can now be specified using URI syntax. "nbd://" defaults to TCP transport, while "nbd+tcp://" and "nbd+unix://" can be used (similar to Gluster) to specify it. URI syntax simplifies access to named exports; the export name is simply the "path" component of the URI.
NBD connections to Unix sockets support relative paths.
QEMU embeds an NBD server, accessible via the monitor. The NBD server allows live access to the image seen by the VM. Note that the embedded server uses "named exports", which QEMU can access using the "nbd://host:port/name" syntax.
Windows hosts support asynchronous disk I/O.
Live Migration, Save/Restore
The "stop" and "cont" commands have new semantics on the destination machine during migration. Previously, the outcome depended on whether the commands were issued before or after the source connected to the destination QEMU: in particular, "cont" would fail if issued before connection, and "undo" the effect of the -S command-line option if issued after. Starting from this version, the effect of "stop" and "cont" will always take place at the end of migration (overriding the presence or absence of the -S option) and "cont" will never fail. This change should be transparent, since the old behavior was usually subject to a race condition.
The monitor now remains responsive during incoming migration. The new NBD server is also available during incoming migration.
Spice
QEMU will only send changed screen content to the Spice client when running in legacy VGA mode.
Seamless migration support.
Composite QXL commands (for linux guests).
Multiple monitors on a single pci device.
Arbitrary resolution support.
Device based monitor configuration notification (for future drivers).
various bug fixes and assertion removals in favor of a guest_bug mode.
require spice-server >= 0.12.0
KVM
QEMU now supports "old-style" PCI device assignment, which was the last missing feature from the qemu-kvm fork. Despite some remaining minor differences between qemu-kvm and QEMU, it is possible to switch from qemu-kvm to QEMU as soon as your guests can be rebooted. Live migration from qemu-kvm 1.2 to QEMU 1.3 is not supported, but can be enabled easily by downstream distributions who want to switch their packages from qemu-kvm to QEMU.
Xen
QEMU can now be used to live-migrate Xen domains.
SLIRP
SLIRP's TFTP server has improved performance, can transmit files bigger than 32 MB, and supports the block size option.
Guest agent
The guest agent will now store the state file in /var/run by default.
Host support
SPARCv7 and v8 support was removed.
Build dependencies
QEMU can now be built with Clang.
QEMU now uses pixman. QEMU configure will detect and use a system pixman if the development headers are ailable (they should be available for most recent Linux distros). As a fallback, we provide an internal copy of the pixman sources which will be used if there is no set of system pixman libraries. Compiling these will require autoconf.
Compiling QEMU ver 0.12 or better.
While here, add missing tex-pdftex build dependency (for vice.pdf) and
fix ffmpeg option build.
Changes: Lots of extra hardware is emulated (including the long
awaited SuperPET 6809 parts), and several new host platforms are
added.
libXext/buildlink3.mk, now that it is included there.
Leave the places where its API version is set or variables from it
are used directly (about 3 packages).
* Update emutos to 0.8.7
Changelog:
2012/09/20 - version 0.9.14 released
Mac users: check out the new bridged ethernet (see README_ethernet.rtf).
All users: try out the new Single Blit Composing and Single Blit Refresh
modes - they might give you a better video performance.
There are also many compilation and build fixes for various MacOSX targets
and few MPFR FPU fixes.
And last but not least, there's a neat user requested feature - mouse ungrab
(frees your keyboard and mouse from ARAnyM window so you can work in other
applications while ARAnyM is running) simply by clicking the host middle
mouse button (well, works only if you don't have the Eiffel mouse wheel
emulation enabled in settings).
* It seems that NetBSD/i386 and amd64 do not boot on this version of bochs...
Changelog:
Changes in 2.6 (September 2, 2012):
Brief summary :
- More than 10% CPU emulation speedup !
- Support for AMD's SVM hardware emulation (including extended XAPIC support).
- Implemented support for new x86 ISA extensions.
Bochs is fully aligned with rev043 of Intel(R) Architecture Manual.
- Improved emulation accuracy (critical fixes for APIC, VMX and AVX/XOP emulation).
- Bochs internal debugger: new command to show state of a device from the debugger.
- ROM BIOS: improved PCI boot ROM support (for VGA and other devices)
- Networking:
- Ported Intel(R) 82540EM Gigabit Ethernet adapter emulation from Qemu.
- Added PCI network boot ROM support to all network adapters.
- Added TFTP support to the 'slirp' networking module.
- Harddrive: added support for VirtualPC disk images, fixed sparse disk images.
- Sound:
- implemented PC speaker beep using the lowlevel sound interface.
- SDL audio output support.
- Added ability to set log action per device from .bochsrc.
- Moved disk imaging, networking, sound and USB devices to subdirectories
in the iodev folder.
Detailed change log :
- CPU
- Implemented EPT A/D extensions support.
Bochs is fully aligned with rev043 of the of Intel(R) Architecture Manual.
- Implemented ADX (ADCX/ADOX) instructions support, the feature can
be enabled using .bochsrc CPUID option.
- More than 10% CPU emulation speedup with even more optimal lazy flags
handling, stack access optimizations and cross branch trace linking.
- Support for AMD's SVM hardware emulation in Bochs CPU, to enable
configure with --enable-svm option
- Implemented AMD Extended XAPIC support, to enable set .bochsrc CPU
APIC option to 'xapic_ext'
! Added Corei5 750 (Lynnfield) configuration to the CPUDB
! Added Turion64 (Tyler) configuration to the CPUDB
! Added AMD Phenom X3 8650 (Toliman) configuration to the CPUDB
! Added Corei7 3770K (Ivy Bridge) configuration to the CPUDB
- Bugfixes for CPU emulation correctness and stability
(critical fixes for APIC/X2APIC, VMX and AVX/XOP emulation)
- Bochs Debugger and Instrumentation
- Implemented new debugger command 'info device [string]' that shows the
state of the device specified in 'string'
- Improved debug dump for ne2k, pci, pic and vga/cirrus devices. Added
debug dump for pci2isa, i/o apic, cmos, pit, floppy and dma devices.
- Added TLB to CPU param tree - now it can be browsed from Bochs internal
debugger and Bochs debugger GUI through param tree interfaces
- Implemented 'writemem' debugger command to dump virtual memory block
starting from selected linear address into a file
- Updated definition of instrumentation callbacks, see description in
instrumentation.txt / Fixed instrumentation examples
- Configure and compile
- Moved disk imaging, networking, sound and USB devices to subdirectories
in the iodev folder.
- pcidev: enable support for Linux kernel 3.x (Debian patch by Guillem Jover)
- debugger: generate parser / lexer files only if all required tools are present
- Config interface
- Added support for direct device plugin loading with bochsrc directive for
devices which have the same name for the plugin and config option.
- The bochsrc option 'plugin_ctrl' can now be used to load/unload optional
plugins directly when parsing the config file or command line. See the bochsrc
sample for supported devices.
- Moved bochsrc parsing / writing and config parameter handling for networking,
sound and USB devices to the plugin device code. The options are only
available when the corresponding plugin device is loaded.
- Added ability to set log action per device from .bochsrc.
- Added new command line option '-noconsole' to disable the console
window on Windows host.
- Renamed PCI Pseudo NIC option to "pcipnic" (for direct plugin loading)
- Moved several related options to the new "keyboard" bochsrc option.
- Added new parameter 'rtc_sync' for the 'clock' option. If this option
is enabled together with the realtime synchronization, the RTC runs
at realtime speed.
- Moved MWAIT_IS_NOP bochsrc option from CPUID to CPU so it can be set
even if cpu was configured using pre-defined CPUDB profile.
- Allow larger CPU 'quantum' values when emulating SMP systems for speed
(quantum values up to 32 are allowed now).
- I/O Devices
- Networking
- Ported Intel(R) 82540EM Gigabit Ethernet adapter emulation from Qemu,
to enable configure with option --enable-e1000
- Added PCI network boot ROM support to all network adapters
- Added TFTP support to the 'slirp' networking module
- PCI
- added "auto-assign to PCI slot" feature for PCI-only devices
- DMA
- Added the capability to transfer more then one byte / word per ISA DMA cycle
- VGA
- Major rewrite of the vga / cirrus code:
- vgacore (shared standard VGA emulation code)
- vga (Bochs VBE and PCI VGA)
- cirrus (CL-GD 5430 ISA / CL-GD 5446 PCI)
- Added VGA graphics blinking support
- More accurate vertical and horizontal retrace emulation
(based on the DOSBox implementation)
- hard drive / hdimage
- added new disk image mode 'vpc' for VirtualPC images
- undoable mode: added coherency check (flat image size and timestamp)
- sparse mode: fixed read support
- Sound
- implemented PC speaker beep using the lowlevel sound interface
- added SDL audio output support
- ROM BIOS
- improved PCI boot ROM support (for VGA and other devices)
- added MADT entry for Interrupt Source Override to ACPI tables
- GUI and display libraries
- implemented "auto-off" timer for status LEDs indicating a data transfer
- Added support for sending absolute mouse position values from the gui if an
absolute pointing device (USB tablet) is active (rfb, sdl, win32, wx, x).
- Gui debugger now supported when using sdl gui on Windows
- Implemented "hideIPS" option in rfb, sdl, win32 and wx libraries
- wx: fixed random freezes with wxGTK and "show ips" feature enabled
- rfb: the "show ips" feature now works on Windows host
- Tools
- bxcommit: added support for converting growing to flat mode images
- bxcommit: support command line options and non-interactive (quiet) mode
- bximage: increased maximum disk size to 8 TB
- SF patches applied
[3540389] Patch 5 : Change memory reference functions argument order by Yeong-uk Jo
[3539254] Patch 4 : Memory reference optimization 2 by Yeong-uk Jo
[3539251] Patch 3 : Memory reference optimization by Yeong-uk Jo
[3539237] Patch 2 : Some optimization by Yeong-uk Jo
[3539228] Patch 1 : ROM BIOS Compatibility patch by Yeong-uk Jo
[3505209] Fixed combo box size by Konrad Grochowski
[2864391] Gui debugger default regs by Thomas Nilsen
[3486555] Fix critical stack leak in Win32 GUI by Carlo Bramini
- these S.F. bugs were closed/fixed
[625877] wx: power button -> thread deadlock
[3534063] Configure does not check for flex presence
[3555237] NE2000 doesn't compile on OS/X
[3553168] X doesn't build in latest code on OS/X
[3550175] Crash when saving snapshot to directory instead of file
[3548109] VMX State Not Restored After Entering SMM on 32-bit Systems
[3548108] VMEXIT Instruction Length Not Always Getting Updated
[3545941] Typo in preprocessor symbol
[3538731] Missing CR8 register
[3538574] Missing XD flag ( Execute Disable ) when showing PTEs
[3537556] Missing initializations
[3537309] Unable to use the debug GUI with SDL and plugins
[3537473] GUI debugger only shows 32-bit CRx registers in x86-64 mode
[3533426] UHCI PCI interrupts
[3459359] svga cirrus initialization
[3535228] info gdt does not show long mode segments
[3531806] Bochs crashes (SIGSEGV) when starting via ssh console
[3531807] Various missing initialization values reported by Valgrind
[635789] mapping mode 0 not supported
[3307201] BOCHS panics when execute HBIOS.COM
[3528809] IO APIC index register width
[3528516] Missing #if in soundmod.h
[3526069] MADT:Interrupt Source Override missed
[3518753] update dump after manual chages to memory contents
[3516859] bug in svn e1000 module
[3516029] stepping not working in debugger GUI in case of smp vm
[3510403] closing config dialog box closes entire simulator
[3459998] Bochs cannot be compiled outside the source tree
[2905969] can't use --enable-gdb-stub on vs2008
[3294001] Bochs GUI doesn't appear properly for 2nd Bochs copy
[3493315] Changing VGA 9/8 dot mode causes screen corruption
- these S.F. feature requests were closed/implemented
[3540441] automatically enable devices in plugin control
[1251456] command line method to query bochs for features
[3409396] sdl sound
[3519794] debugger's ability to save physical/linear memory dumps
[1429612] Idea how to speedup simulation - stack direct access
[1703452] Other Network Devices?
[2919376] Disable show the console window
[534271] can't set log action by device (bochsrc)
given the libz typedef "voidp" for void *, "const voidp" does not magically
inject const inside the typedef'd type. Use the libz typedef "voidpc"
instead. May fix PR 46996.
Changes since version 1.1.1:
System emulation
All targets
* ... QMP error changes go here ...
* File descriptors can be passed to qemu using the new
add-fd/remove-fd QMP commands. It is intended that they can
be used in any place where QEMU would expect a file name.
This is ensured for disk images, support in other parts of
QEMU may still be inconsistent.
ARM
* LPAE (large physical address extensions) are now supported
for the Cortex-A15 CPU; you can now run a vexpress-a15 model
with more than 4GB of RAM
* The new monitor command "dump-guest-memory" creates an ELF
dump of the guest memory.
* New board model: i.MX31
PowerPC
* The pSeries target correctly creates segment size device
tree nodes (fixes odd bugs with HV vs PR KVM)
* The pSeries target implements an IOMMU.
* ... pSeries VGA, USB, etc.? ...
* The E500 target generates its device tree dynamically
* New mpc8544ds -machine option: dumpdtb. This allows to dump
the dynamically generated device tree to a file.
* Emulation for e5500 cores
* PC87312 Super I/O chipset emulation for PReP, adding
parallel port to prep machine
x86
* Support for PCI passthrough is available for Xen
fully-virtualized domains.
* The new monitor command "dump-guest-memory" creates an ELF
dump of the guest memory.
* When using KVM, the in-kernel APIC supports MSI.
* Also when using KVM, new PV EOI feature improves performance
when both host and guest run linux 3.6-rc1 and up. To
enable, add +kvm_pv_eoi to -cpu option, e.g.
-cpu kvm64,+kvm_pv_eoi
* The "cpudef" config file section is being deprecated and may
be removed in v1.3.
Device emulation
* VGA and QXL cards (obtained with -vga std and -vga qxl) have
16 MB of VRAM rather than 8 MB.
* Three new SCSI host bus adapter devices are available:
am53c974 and dc390 emulate respectively an AMD PCI PCscsi
and a Tekram DC-390 device, both of which are supported on
older operating systems including MS DOS 6.2, MS Windows 3.11,
98 SE, NT 3.1 and NT 4.0. megasas emulated an LSI SAS1078 RAID
controller. The next version of SeaBIOS will support booting
from am53c974 and dc390 disks.
* An USB-attached SCSI controller is now available.
Audio devices
* The PC speaker audio card is now available by default.
Network devices
* The guestfwd argument to slirp now supports running an
arbitrary command on every TCP connection (as in inetd).
This is invoked by specifying a target that starts with "cmd:".
Block devices
* Emulated IDE and SCSI as well as virtio-blk devices can now
switch the cache mode between writethrough and writeback.
virtio-blk automatically switches to writethrough if the
guest driver doesn't support flushes.
* The default cache mode for images is now writeback.
* Emulated SCSI devices can be given a custom vendor name,
product name and WWN.
* Improved support for passthrough of SCSI tapes and media changers.
* libiscsi can be used together with scsi-generic to pass
iSCSI tapes and media changers to the guest.
* When raw files are streamed, parts of the files that are
holes in the underlying filesystem are treated as
unallocated (as long as the OS supports either the FIEMAP
ioctl or the SEEK_HOLE/SEEK_DATA modes)
* CD-ROM drives can now be used with AHCI
qcow2
* qcow2 images support a new option, lazy_refcounts. If on,
the speed of cache=writethrough mode will be improved, at
the cost of requiring an fsck-like pass (and thus QEMU 1.2)
to use the image again after a power loss.
* qemu-img check can now repair qcow2 and QED images with the
new -r option.
VMDK
* Support for images in the streamOptimized subformat has been
fixed. This is a VMDK subformat commonly used with OVF appliances.
rbd
* rbd no longer ignores the cache setting
Live Migration, Save/Restore
* Migration works much better with guests with large memory.
* USB mass storage and passthrough devices support live migration.
VNC
* The threaded VNC server is now enabled by default.
Guest agent
* A new command "fstrim" was added to the guest agent.
New targets
* OpenRISC is now supported for both user-mode and system emulation.
- Fix a bit of pkglint.
- patch-aa is no longer needed.
Upstream changelog:
3.7.1 to 3.7.2: (June 10, 2012)
* Fixed bug in handling filenames with the '~' character, as is used
extensively by RomHunter rom-sets.
-Have fun!
3.7 to 3.7.1: (June 8, 2012)
* Note: because of TIA changes, the state file format has changed again,
and old state files will not work with this release.
* Improved TIA emulation with ROMs that have too few or too many
scanlines; the output is now more accurate compared to a real TV.
Special thanks to Omegamatrix of AtariAge for test ROMs in this area.
* Modified hotkey for "Change console palette" (Control-f) to also
change the display properties of the TIA. This allows you to switch
between NTSC/PAL/SECAM (and variant) modes dynamically. Related to
this, added Shift-Control-f key to step backwards through the
available modes.
* Added '64in1' and '128in1' multicart bankswitching schemes, which work
the same as the 2in1/4in1/etc ones (Control-r switches to each
consecutive game in the ROM).
* Fixed several bugs in DPC+ bankswitching scheme, including ability
to load and save state files. As well, ROMs now work correctly after
console format autodetection.
* Fixed bugs in handling relative filenames on the commandline,
introduced in the last release. The new functionality should be much
more robust.
3.6.1 to 3.7: (June 1, 2012)
* Added Blargg TV effects, with presets for Composite, S-video, RGB,
and badly adjusted TV, and well as a custom mode with full
configurability of contrast, brightness, gamma, etc. Many
keyboard shortcuts and commandline arguments were added to support
this; see the documentation for a detailed explanation. These
effects are OpenGL-only. Special thanks to Ian Bogost and the
Georgia Tech Atari Team for the preliminary implementation.
* Updated the CompuMate keyboard handler to recognize more keys on an
actual keyboard, instead of having to remember the weird combinations
used on the original CompuMate keyboard (although those original keys
will continue to work). Related to this, fixed bug whereby
'ghost keys' would be detected by the CompuMate, particularly after
pressing 'Enter' to start a game from the ROM launcher.
* Added emulation for MindLink controller using the mouse; the 'Bionic
Breakthrough' and 'Telepathy' ROMs now work.
* Updated FA2 bankswitch scheme (Star Castle) to emulate load/save
high score functionality to the Harmony cart flash RAM.
* Added ability for ROM launcher to 'descend' into ZIP files when it
contains more than one ROM file. This means you no longer have to
unzip a multi-file archive before using each ROM. Thanks go to Roland
Schabenberger (webOS maintainer) for this idea and sample code.
* Several improvements to the debugger/disassembler:
- The 'resolvedata', 'showaddr' and 'gfxformat' commandline
arguments are renamed to start with 'dis', indicating that
they're used with the built-in disassembler.
- Zero-page code addresses no longer have their high-byte
truncated, and system equates (TIA and I/O registers) are now
properly marked as such.
- The Distella '-r' option (Relocate calls out of address range)
is no longer the default, resulting in output more consistent
with normal usage of Distella. Related to this, added the
'-dis.relocate' commandline argument (and associated UI item)
to toggle this dynamically.
* Fixed bug in EFSC bankswitch scheme state saving; the Superchip RAM
wasn't actually being loaded and saved to state files.
* Improved speed of loading and saving state files, as well as slightly
reducing their size. Because of this, old state files will not work
with this release.
* Replaced commandline argument 'uselauncher' with 'exitlauncher'. The
new option specifies the behaviour of the ROM launcher when exiting
a ROM (always exit to launcher, or only when the launcher was actually
used). This setting can now be changed in the GUI.
* Several updates to the internal properties database:
- 'Juno First' ROMs now use an AtariVox/SaveKey when possible
- 'Astroblast' ROMs now use the paddles by default
- 'Star Castle 2600' ROMs added
* Changed key-combo for enabling TIA objects and collisions to be
toggled on and off with the Alt-period and Shift-Alt-period
respectively (instead of having two separate keys to turn them on
and off).
* When working on the commandline, relative filenames are now
correctly handled (current working directory is used).
* The Windows 98/ME/2000 builds have been discontinued, due to code and
features that are only available on Windows XP/SP3 and later.
* Updated included PNG library to latest stable version.
3.6 to 3.6.1: (March 30, 2012)
* Extended FA2 bankswitch scheme to handle 28K ROMs (in addition to
the previously supported 24K ROMs).
3.5.5 to 3.6: (March 16, 2012)
* Added support for 2600-daptor II device, including native support
for 7800 controllers, BoosterGrip and Keypad controllers. Special
thanks go to Tom Hafner for a complimentary test sample of this
device, and also for donating a BoosterGrip controller.
* Added ability to dynamically swap the port order of Stelladaptor/
2600-daptor devices with the 'Control-1' key combo (useful if you
have only one 2600-daptor and want to use it as a left port
normally, but as a right port for Star Raiders, etc).
* Added CompuMate bankswitching/controller support to the emulation
core; the Spectravideo CompuMate ROMs (NTSC and PAL) now work.
Frequently used keys on the CompuMate are directly mapped to your
keyboard (ie, Func-Space for backspace is mapped to Backspace, etc).
Loading/saving from the cassette player is not yet supported, and
will come in a future release.
* Fixed bug in BoosterGrip controller emulation; the functionality
of the booster and trigger buttons was reversed. Related to this,
renamed these actions in the Event Mapping dialog to be more clear.
* Reverted to SDL 1.2.14 for the Windows 98/2k release, since SDL
1.2.15 isn't supported in that environment.
* Updated included PNG library to latest stable version.
3.5 to 3.5.5: (February 4, 2012)
* Due to changes in the debugger, old state files will not work with
this release.
* Fixed bug in sound restructuring introduced in the last release; in
some cases, there could be some sound 'crackling' when starting a
ROM after at least one ROM had already been loaded.
* Several significant improvements to the debugger I/O tab:
- added controller input widgets for many of the built-in
controllers, allowing to control joysticks, paddles, etc
from within the debugger.
- added ability to modify the SWCHB/SWBCNT port B registers.
- added ability to view TIA INPTx and VBLANK latch/dump bits.
* Reworked 'mcontrol' argument, and added ability to map the mouse
axes separately for paddles 0-3 or driving controllers 0-1. In
such modes, the left mouse button is tied to the x-axis, and the
right button is tied to the y-axis.
* Mouse 'specific-axis' mode is now saved per-ROM, meaning that each
ROM can have separate settings. For example, this allows one ROM to
use paddles 0 and 1, while another can use paddles 0 and 2, etc.
* The key-combo for switching the mouse between controller modes is now
'Control-0' (Control-1,2,3 have been removed). This switches
between all possible modes for the current virtual controllers.
* Fixed bug in 'Fixed Debug Colors' mode; under certain circumstances,
playfield graphics could be coloured as being player graphics.
* Fixed bug in PAL color-loss setting in Video Settings; changing the
settings wouldn't take effect until the ROM was reloaded.
* Fixed bugs with cheatcode handling; loading a ROM with a cheat
disabled would sometimes trash the emulation. More work is
required in this area, including the ability to create more
advanced types of cheats.
* Updated ROM properties database for all Sega Genesis controller
compatible ROMs. Also, the mouse can now emulate a Genesis
controller, with the left/right buttons mapped to buttons B and C,
respectively.
* Added 'FA2' bankswitch scheme, thanks to code from Chris D.
Walton. This scheme will be used in an upcoming 'Star Castle' ROM.
* Updated internal ROM properties database to ROM-Hunter version 7
(thanks go to RomHunter for his tireless research in this area).
* Added several PERL tools to help in automation of analyzing RomHunter
ROM set releases.
* Fixed compile issues in Irix when using the default compiler
instead of gcc. Thanks go to Rainer M. Canavan for this code.
* Updated included PNG library to latest stable version.
3.4.1 to 3.5: (December 29, 2011)
* Stella is now DonationWare! Please see the DonationWare link on the
main webpage for more information.
* Added several improvements to the joystick management code. Joystick
event mapping is now saved per device, meaning that if you map events
to a certain joystick device, remove the device and then later insert
it again, Stella will remember the original mapping.
* The total number of joysticks present and their associated properties
(number of axes, buttons and hats) is now dynamic. That is, there's
no longer a hard-coded limit on the number of joysticks that Stella
can use, or the number of buttons, etc that it contains. This fixes
a serious bug with PS3 controllers with 27 buttons, whereby adding a
mapping for joystick 0 would inadvertantly change settings for
joystick 1, and could potentially lead to a program crash.
* Added 'mcontrol' commandline argument, which can specify to use each
mouse axis as a separate paddle. The old (and default) behaviour can
be activated by setting this argument to 'auto'. Related to this,
removed redundant 'usemouse' argument.
* Huge restructuring of the OpenGL code, making it compatible with
OpenGL 2.x+ features (such as vertex buffer objects), while at the
same time keeping compatibility with OpenGL 1.5 / OpenGL ES.
Because of the required changes, TV effects were removed (they will
be added again for the next release).
* Improvements to audio handling, particularly for certain cases of
Windows, ATI video cards, and OpenGL mode. The sound device is now
opened only once when Stella starts, and is paused between loading
different ROMs. This fixes a problem whereby sound could possibly
not be functional after loading the first ROM. Related to this,
removed the 'audiofirst' commandline argument as it's now redundant.
* Fixed bug with displaying the ROM launcher in Windows XP; the initial
load was sometimes taking up to 30 seconds to complete.
* Added logging facility, whereby the output of the application is
available within Stella itself. This can still be printed to the
console, or also saved to a file. Add the 'loglevel' and
'logtoconsole' commandline arguments which control these settings,
and removed the 'showinfo' argument as it's now redundant.
* Updated DPC+ bankswitching scheme to latest code provided by
SpiceWare.
* Added MAMCR handling to the Thumb ARM emulation code. Note that
MAMCR isn't actually emulated, it is just ignored for now. This
fixes a bug whereby accessing MAMCR would crash the ARM emulation.
* Added 'thumb.trapfatal' commandline argument, which causes the
Thumb ARM emulation to either trap on a fatal error (throw an
exception to the debugger and exit emulation) or simply log the
error and continue. This should normally always be enabled, but
can be disabled by developers for testing reasons.
* Updated default snapshot directory to be much saner and easier to
find. For most systems, it now defaults to the users 'Desktop'.
Note that the commandline argument has changed to 'snapdir'.
* The debugger 'print' command now indicates "special" addresses if
they are read-only (R), write-only (W) or read-write (R/W).
* Fixed a bug where scrolling the mouse-wheel in certain debugger UI
items would cause the program to crash; scrolling now works as
expected.
* Fixed minor display issue in the debugger RAM area; some addresses
were being displayed as '...'.
* Fixed compile issues in the latest versions of Ubuntu and Debian, and
fixed UNIX desktop file so that Stella will launch with a ROM when
selected from its icon. Thanks go to Stephen Kitt for this code.
* Updated included PNG library to latest stable version.
* Updated the credits list in the documentation, listing people that
have donated hardware to the Stella team.
Probably this was a problem for non-gcc / non-clang compilers, but such
a compiler wasn't tested. When lintpkgsrc tried to scan this package,
it spun around forever. Rewrite the CXX override code so this doesn't
happen. Fixes lintpkgsrc scan and probably build for rarer compilers
as well.
There were two problems building openMSX on NetBSD:
1) The was a name conflict with the funcion bswap16. This only appeared
on one file, so the function was prefixed with msx_ to solve it.
2) freetype-config is not located on $PREFIX on NetBSD with native X11.
Normally the wrappers abstract this but openmsx was making assumptions
and using absolute paths. The solution was to set the distroRoot
value to "None" which tells the configure process to not use a path
and those finds freetype-configure through the search path.
I compiled it, installed it, and executed openMSX with these patches.
Two years and a little over a month elapsed between the pkgsrc release
and the latest version 2.2.1 (5 May 2011). There were hundreds of
changes, but the vast majority were bug fixes and improvements on
existing functionality.
The only major addition was implementation of IDE.
See changelog in DOC/ChangeLog for details.
* Update configure script to force all platforms to use same installation
path as NetBSD
* The PLIST was built with fc-cache detected. This implicates fontconfig
as a dependency (without it, font still install but with a diff. name)
* like NetBSD, define HAVE_STDINT_H (other platforms may need it too)
Revbump required because package would have installed before without
PKG_DEVELOPER=yes, albeit incorrectly.
Version 2.1a is not compatible with zlib 1.26+. Luckily this problem
was fixed in version 2.2. Three patches were removed, and a few were
tweaked.
src/linux.c and src/win.c now have dos line endings. I used the
technique seen in textproc/FlightCrew to convert these to unix
endings after extraction. That should allow this package to build
on all platforms where zip handling of line ending differs.
Also defined GPLv3 license.
Several files needed the <cstring> include for functions like memset.
Additional, Tinderbox caught this error:
=== Checking filesystem state after all packages deleted
================================================================
list of extra files and directories in / (not present on clean system
but present after everything was deinstalled)
34217227226 0 lrwxr-xr-x 1 root wheel 65 Aug 12 00:13
usr/local/bin/openmsx ->
/work/emulators/openmsx/work/.destdir/usr/pkg/openmsx/bin/openmsx
The package was installing a symbolic link from /usr/local/bin to the
destdir! Luckily this feature is switchable with a variable. Fixed.
Now works with NetBSD 4, 5 & 6 which would have previously failed.
Comment out some unusual sector subtractions which handled values in the
multigigabyte range.
Now allows all tested NetBSD versions (3, 4, 5 & 6) to mount ISO images
Changelog:
# System emulation
## All targets
* qdev properties of type hex8 and hex32 used to accept hexadecimal values not prefixed with "0x"; the prefix is mandatory starting with this version. These properties are: iobase, membase, io_base for all devices that support the properties; vram_size for sysbus-g364 and SUNW,tcx; version for sb16 and iommu; ctl_iobase and data_iobase for fw_cfg; readback for debugcon; elcr_addr and elcr_mask for i8259.
* PCI addresses can still be addressed with a pair of hexadecimal device and function without a "0x" prefix.
* -kernel, -initrd and -append are now aliases for suboptions of -machine (for example -machine kernel=foo), and as such they are also available with -readconfig.
* PCI-to-PCI bridges are supported [...]
* PCI emulation includes a standard hot-plug controller [...]
* The coroutine backend can now be configured using configure --with-coroutine=.... A new coroutine backend sigaltstack is available for platforms that don't support the default ucontext backend.
* Last but not least: the SDL user interface now uses the new QEMU icon.
## ARM
* The syborg machine type has been removed since the Symbian Virtual Platform is no longer relevant with the disbanding of Symbian.
* A device tree can be passed to the kernel using -dtb option (or alternatively -machine dtb=...).
* New 'nuri' and 'smdkc210' models of Samsung Exynos4210 based devboards.
* New 'highbank' model of the Calxeda Highbank.
* New 'vexpress-a15' model of the Versatile Express Cortex-A15.
## PowerPC
* The Bamboo machine now works with TCG, before only KVM was able to execute 440 code.
* Pseries handles PCI, allowing for virtio devices with -M pseries.
* Pseries works with PR KVM allowing for -M pseries -enable-kvm to work on G5s.
* We can now emulate e500mc cores, but no e500mc based board is emulated yet. You need to use -M mpc8544ds and a special guest kernel.
* Timers on ppc405 now work and don't segfault QEMU.
## S/390
* Added support to -kernel to allow booting of ELF binaries.
* Fixed -kernel to allow booting of newer guest kernels.
* Devices can now be hotplug add'ed (remove is not there yet).
* Rebooting a virtual machine now works.
## SPARC
* Added interrupt controller and support of vector interrupts.
* Fixed handling 32 bit instructions on a sparc64 CPU.
* Fixed block load instructions regression happened in 1.0 release.
* Fixed BCD mask in m48t59 emulation, so that Solaris 2.5.1 doesn't hang on sun4m emulation when day of month >21.
* Fixed initrd loading in qemu-system-sparc64.
## x86
* NMIs are correctly injected through the LAPIC (rather than sent directly to the guest CPU) and respect the LINT1 mask, thus fixing kdump.
* The -rtc-td-hack option is now available as a qdev property (-global mc146818rtc.lost_tick_policy=slew) and as such can be specified in a -readconfig configuration file.
* When the system is suspended to RAM, QEMU will now stop executing the guest until a wakeup event occurs. Implemented wakeup events include key presses, mouse button presses, RTC alarm, ACPI timer expiration, serial console input (off by default; enable with -global isa-serial.wakeup=1), and the system_wakeup monitor command.
* KVM can optionally use kernel-based emulation of the local APIC, IOAPIC, i8259 PIC and i8254 PIT. This is supported with the -machine ...,kernel_irqchip=on command-line option. MSI is not supported yet when using the kernel_irqchip option.
* Emulation of a PC System Flash device. The feature is enabled by adding a pflash drive. This feature is not supported when KVM is enabled. See Features/PC System Flash for more information.
* KVM guests support Hyper-V enlightenments. These are enabled by the -cpu features hv_spinlocks, hv_relaxed and hv_vapic.
## Device emulation
* The virtio-scsi device is now supported by QEMU. The guest driver will be supported in Linux starting at version 3.4.
* QEMU now includes experimental support for USB 3.0 (xHCI).
* Various improvement on the floppy emulation, most notably media change has been fixed
## Audio devices
* Audio devices can now use volume control capabilities exposed by the PulseAudio and Spice backends. (Note: all audio devices do not expose their volume control unless --enable-mixemu is turned on).
## Block devices
* QEMU's NBD client implementation and the qemu-nbd server both fully support asynchronous I/O.
* The rbd block driver supports the discard operation now
* The vpc block driver supports the Fixed Disk subformat of VHD images now
* The new QMP command transaction can be used to perform a set of multiple snapshots atomically, rolling back to the original images if there is a problem along the way. See Features/SnapshotsMultipleDevices for more information.
* The new monitor command block_stream lets guest copy data from the backing file to the current image while the guest is running. This lets users enables quick provisioning of new virtual machines using shared remote storage, and lets the guest transition incrementally to fast local storage. An alternative to streaming is the copy-on-read option of the -drive command-line option, which only transfers data when the guest needs it.
* An experimental extension of the qcow2 file format has been introduced. With the implementation as of QEMU 1.1, the most important addition is zero clusters, which allows image streaming and copy-on-read to leave images sparse if the backing file they are copying from is sparse. In order to enable the extension, use qemu-img create -f qcow2 -o compat=1.1 <filename> <size> for creating the image. Note that older versions of QEMU won't be able to read such images.
* I/O throttling is experimentally supported using the new -drive options bps/bps_rd/bps_wr/iops/iops_rd/iops_wr. It is expected to work with virtio-blk and IDE harddisks, but may lead to hangs when used with CD-ROM or floppy emulation or other devices.
* qemu-io supports new options to enable tracing and to choose a cache modes
## Network devices
* QEMU supports a new type of network device, bridge (used with -net bridge or -netdev bridge). The new type is similar to tap, but uses a helper program instead of a script to attach the device to a bridge. The helper program can then be installed as setuid. The helper program supports a simple ACL and configuration mechanism, see the commit message and feature page for documentation.
## Live Migration, Save/Restore
* Live migration (or save/restore) from QEMU releases prior to 0.13 to QEMU 1.1 is not supported.
* Live migration supports IPv6. IPv6 addresses can be expressed as tcp:host:port. Brackets around a numeric host address are required if a port is also specified, otherwise they can be omitted.
# Guest agent
* qemu-ga has been ported to Windows.
* Interfaces added for suspending guests to disk/ram, and retrieving information about network interfaces
* Interfaces for filesystem freeze have been hardened, and no longer depend on guest agent runtime state to determine whether a system is currently frozen.
* An easier to use reset mechanism has been added: guest-sync-delimited.
# Host support
* ARM hosts are now supported again (they were broken in 1.0).
* Sockets and SLIRP on Windows hosts was broken in 0.14 and works again.
* 64-bit Windows hosts are now supported.
# User-mode emulation
* User-mode emulation can provide some information from the /proc filesystem.
* On 64-bit hosts user-mode emulation now defaults to reserving 0xf7000000 bytes of address space for the guest. This significantly reduces the likelihood of QEMU having to fail a guest mmap() request when there is still memory available. This reservation can be overridden with the -R command line option.
# Testing
* A make check target has been implemented and runs some quick sanity tests
* qemu-iotests, which was previously hosted in an external git repository, has been merged into the QEMU source tree
# Build dependencies
* Building QEMU requires glib 2.12 on POSIX systems, and glib 2.20 on Win32 systems.
This package starting failing this week. It was due to an change in the
system binutils which turned on link time optimization support. This
was intended for external compilers.
The package picked up that the linker was capable of supporting -flto, but
then just assumed the compiler also was! "4.4.7" was added to the list of
compilers to exclude. Earlier versions are not necessary because the
-flto switch would be suppressed anyway due to binutils not supporting it.
The current package won't compile if using libz >= 1.2.6 due to a typedef
change of GzFile. Luckily this packages used macros for gz* functions
which significantly cut down the number of lines to be patched.
As previously predicted, the horrible code in archive.c wouldn't last long
before breaking. There were a few dozen errors erupting when libz 1.2.7
header was used. The previous patch-af was appended, but the previous fix
for linux was changed because that was broken too.
Info: typedef of gzFile changed from void* at version 1.2.6, so its use
is no longer optional with libz versions >= 1.2.6.
The current package won't compile if using libz >= 1.2.6 due to a typedef
change of GzFile. Fix inspired by r1091 at vbam.svn.sourceforge.net
Package broke after DragonFly upgraded system libz from 1.2.5 to 1.2.7
* based on wip/qemu
Changelog:
1.1.0
System emulation
All targets
qdev properties of type hex8 and hex32 used to accept hexadecimal values not prefixed with "0x"; the prefix is mandatory starting with this version. These properties are: iobase, membase, io_base for all devices that support the properties; vram_size for sysbus-g364 and SUNW,tcx; version for sb16 and iommu; ctl_iobase and data_iobase for fw_cfg; readback for debugcon; elcr_addr and elcr_mask for i8259.
PCI addresses can still be addressed with a pair of hexadecimal device and function without a "0x" prefix.
-kernel, -initrd and -append are now aliases for suboptions of -machine (for example -machine kernel=foo), and as such they are also available with -readconfig.
PCI-to-PCI bridges are supported [...]
PCI emulation includes a standard hot-plug controller [...]
The coroutine backend can now be configured using configure --with-coroutine=.... A new coroutine backend sigaltstack is available for platforms that don't support the default ucontext backend.
Last but not least: the SDL user interface now uses the new QEMU icon.
ARM
The syborg machine type has been removed since the Symbian Virtual Platform is no longer relevant with the disbanding of Symbian.
A device tree can be passed to the kernel using -dtb option (or alternatively -machine dtb=...).
New 'nuri' and 'smdkc210' models of Samsung Exynos4210 based devboards.
New 'highbank' model of the Calxeda Highbank.
New 'vexpress-a15' model of the Versatile Express Cortex-A15.
PowerPC
The Bamboo machine now works with TCG, before only KVM was able to execute 440 code.
Pseries handles PCI, allowing for virtio devices with -M pseries.
Pseries works with PR KVM allowing for -M pseries -enable-kvm to work on G5s.
We can now emulate e500mc cores, but no e500mc based board is emulated yet. You need to use -M mpc8544ds and a special guest kernel.
Timers on ppc405 now work and don't segfault QEMU.
S/390
Added support to -kernel to allow booting of ELF binaries.
Fixed -kernel to allow booting of newer guest kernels.
Devices can now be hotplug add'ed (remove is not there yet).
Rebooting a virtual machine now works.
SPARC
Added interrupt controller and support of vector interrupts.
Fixed handling 32 bit instructions on a sparc64 CPU.
Fixed block load instructions regression happened in 1.0 release.
Fixed BCD mask in m48t59 emulation, so that Solaris 2.5.1 doesn't hang on sun4m emulation when day of month >21.
Fixed initrd loading in qemu-system-sparc64.
x86
NMIs are correctly injected through the LAPIC (rather than sent directly to the guest CPU) and respect the LINT1 mask, thus fixing kdump.
The -rtc-td-hack option is now available as a qdev property (-global mc146818rtc.lost_tick_policy=slew) and as such can be specified in a -readconfig configuration file.
When the system is suspended to RAM, QEMU will now stop executing the guest until a wakeup event occurs. Implemented wakeup events include key presses, mouse button presses, RTC alarm, ACPI timer expiration, serial console input (off by default; enable with -global isa-serial.wakeup=1), and the system_wakeup monitor command.
KVM can optionally use kernel-based emulation of the local APIC, IOAPIC, i8259 PIC and i8254 PIT. This is supported with the -machine ...,kernel_irqchip=on command-line option. MSI is not supported yet when using the kernel_irqchip option.
Emulation of a PC System Flash device. The feature is enabled by adding a pflash drive. This feature is not supported when KVM is enabled. See Features/PC System Flash for more information.
KVM guests support Hyper-V enlightenments. These are enabled by the -cpu features hv_spinlocks, hv_relaxed and hv_vapic.
Device emulation
The virtio-scsi device is now supported by QEMU. The guest driver will be supported in Linux starting at version 3.4.
QEMU now includes experimental support for USB 3.0 (xHCI).
Various improvement on the floppy emulation, most notably media change has been fixed
Audio devices
Audio devices can now use volume control capabilities exposed by the PulseAudio and Spice backends. (Note: all audio devices do not expose their volume control unless --enable-mixemu is turned on).
Block devices
QEMU's NBD client implementation and the qemu-nbd server both fully support asynchronous I/O.
The rbd block driver supports the discard operation now
The vpc block driver supports the Fixed Disk subformat of VHD images now
The new QMP command transaction can be used to perform a set of multiple snapshots atomically, rolling back to the original images if there is a problem along the way. See Features/SnapshotsMultipleDevices for more information.
The new monitor command block_stream lets guest copy data from the backing file to the current image while the guest is running. This lets users enables quick provisioning of new virtual machines using shared remote storage, and lets the guest transition incrementally to fast local storage. An alternative to streaming is the copy-on-read option of the -drive command-line option, which only transfers data when the guest needs it.
An experimental extension of the qcow2 file format has been introduced. With the implementation as of QEMU 1.1, the most important addition is zero clusters, which allows image streaming and copy-on-read to leave images sparse if the backing file they are copying from is sparse. In order to enable the extension, use qemu-img create -f qcow2 -o compat=1.1 <filename> <size> for creating the image. Note that older versions of QEMU won't be able to read such images.
I/O throttling is experimentally supported using the new -drive options bps/bps_rd/bps_wr/iops/iops_rd/iops_wr. It is expected to work with virtio-blk and IDE harddisks, but may lead to hangs when used with CD-ROM or floppy emulation or other devices.
qemu-io supports new options to enable tracing and to choose a cache modes
Network devices
QEMU supports a new type of network device, bridge (used with -net bridge or -netdev bridge). The new type is similar to tap, but uses a helper program instead of a script to attach the device to a bridge. The helper program can then be installed as setuid. The helper program supports a simple ACL and configuration mechanism, see the commit message and feature page for documentation.
Live Migration, Save/Restore
Live migration (or save/restore) from QEMU releases prior to 0.13 to QEMU 1.1 is not supported.
Live migration supports IPv6. IPv6 addresses can be expressed as tcp:host:port. Brackets around a numeric host address are required if a port is also specified, otherwise they can be omitted.
Guest agent
qemu-ga has been ported to Windows.
Interfaces added for suspending guests to disk/ram, and retrieving information about network interfaces
Interfaces for filesystem freeze have been hardened, and no longer depend on guest agent runtime state to determine whether a system is currently frozen.
An easier to use reset mechanism has been added: guest-sync-delimited.
Host support
ARM hosts are now supported again (they were broken in 1.0).
Sockets and SLIRP on Windows hosts was broken in 0.14 and works again.
64-bit Windows hosts are now supported.
User-mode emulation
User-mode emulation can provide some information from the /proc filesystem.
On 64-bit hosts user-mode emulation now defaults to reserving 0xf7000000 bytes of address space for the guest. This significantly reduces the likelihood of QEMU having to fail a guest mmap() request when there is still memory available. This reservation can be overridden with the -R command line option.
Testing
A make check target has been implemented and runs some quick sanity tests
qemu-iotests, which was previously hosted in an external git repository, has been merged into the QEMU source tree
Build dependencies
Building QEMU requires glib 2.12 on POSIX systems, and glib 2.20 on Win32 systems.
Changelog:
1.0.1
* Version 1.0.1
* Merge branch 's390-1.0' of git://repo.or.cz/qemu/agraf
* Merge branch 'ppc-1.0' of git://repo.or.cz/qemu/agraf
* e1000: bounds packet size against buffer size
* s390: fix cpu hotplug / cpu activity on interrupts
* s390x: add TR function for EXECUTE
* pseries: Don't try to munmap() a malloc()ed TCE table
* pseries: Populate "/chosen/linux,stdout-path" in the FDT
* pseries: Add a routine to find a stable "default" vty and use it
* pseries: Emit device tree nodes in reg order
* kvm-ppc: halt secondary cpus when guest reset
* pseries: Fix array overrun bug in PCI code
* console: Fix segfault on screendump without VGA adapter
* Merge branch 'master' of ssh://git.qemu.org/pub/git/qemu-stable-1.0
* rbd: always set out parameter in qemu_rbd_snap_list
* Documentation: Add qemu-img -t parameter in man page
* qemu-img rebase: Fix for undersized backing files
* coroutine: switch per-thread free pool to a global pool
* qiov: prevent double free or use-after-free
* PPC: Fix linker scripts on ppc hosts
* target-sh4: ignore ocbp and ocbwb instructions
* usb-ohci: td.cbp incorrectly updated near page end
* usb-host: properly release port on unplug & exit
* usb-storage: cancel I/O on reset
* Fix parse of usb device description with multiple configurations
* pc: fix event_idx compatibility for virtio devices
* pc: add pc-0.15
* cris: Handle conditional stores on CRISv10
* configure: Enable build by default PIE / read-only relocation sections on OpenBSD amd64/i386.
* target-i386: fix cmpxchg instruction emulation
* hw/9pfs: Use the correct signed type for different variables
* hw/9pfs: replace iovec manipulation with QEMUIOVector
* hw/9pfs: Use the correct file descriptor in Fsdriver Callback
* hw/9pfs: Add qdev.reset callback for virtio-9p-pci device
* hw/9pfs: Reset server state during TVERSION
* hw/9pfs: use migration blockers to prevent live migration when virtfs export path is mounted
* hw/9pfs: Improve portability to older systems
* exec.c: Fix subpage memory access to RAM MemoryRegion
* malta: Fix regression (i8259 interrupts did not work)
General
i386-softmmu is no longer named qemu but instead referred to as qemu-system-i386 for better consistency with other targets. A new tool is likely to be introduced that uses the qemu name so distributions are advised to not undo this change.
QEMU now uses a separate thread for VCPU execution. This merges the biggest difference between the qemu-kvm tree and upstream QEMU.
A new memory dispatch API has been added internally. A new monitor command "info mtree" can show the hierarchy of memory regions in the guest.
QEMU now has a build dependency on glib and makes extensive use of glib.
QEMU now can run on more hosts. Hosts without a native code generator can use the TCG interpreter (TCI). See Features/TCI for more information.
Block devices (disks)
QEMU now supports I/O latency accounting in the monitor command "info blockstats".
Errors are now tracked per device and are shown by the monitor command "info block".
All image formats now support asynchronous operation. IDE and SCSI emulation will use this feature, while other devices (notably floppy and SD) will not.
IDE/ATAPI
A large number of bugs were fixed regarding CD media change and tray locking.
SCSI
Memory management errors could crash QEMU when scsi-disk encountered I/O errors. Many instances of this problem were fixed.
The accuracy of error handling for SCSI emulation has been greatly improved.
SCSI devices can now be addressed by channel, target (id) and LUN. Not all emulated HBAs will support this feature (in particular, the LSI controller will not).
Block device pass through is now supported through a new scsi-block device. The scsi-block device works with block devices (like /dev/sda or /dev/sr0) rather than /dev/sgN devices, and is more efficient because it does not consume arbitrary amounts of memory when the guest does large data transfers.
SCSI CD-ROMs now report media changed events.
SCSI CD-ROMs now support DVD images.
Bugfixes for IDE media change also apply to SCSI.
SCSI devices now report a unit attention condition when the system is started or reset. This may cause problems with old firmware versions.
VDI
Now supports discarded blocks in dynamically-sized images.
User-mode networking (SLIRP)
SLIRP can process ARP replies and gratuitous ARP requests from the guest.
ARM
QEMU now supports the new Cortex-A15 instructions in linux-user mode (via "-cpu any"): VFPv4 fused multiply-accumulate (VFMA, VFMS, VFNMA, VFNMS) and also integer division (UDIV, SDIV).
The vexpress-a9, versatileab, versatilepb and realview-* boards now have audio support.
QEMU is known not to work on ARM hosts in this release. (ARM target emulation is fine.)
pSeries
sPAPR VIO devices can now be created with -device.
Xtensa
QEMU now supports DC232b and FSF xtensa CPU cores.
QEMU now supports sim (similar to Tensilica ISS) and LX60/LX110/LX200 machines.
Migration
QEMU now supports live migration using image files like QCOW2 on shared storage
The post-extract target on this package was supposed to allow normal users
to build this package, but it didn't work for me. It may have been the
attempt at changing $WRKSRC instead of $WRKSRC/src (recursively).
The updated command touches only directories rather than all files and
now handy_sdl builds for me with a non-root user.
* Update glibc rpm to 2.14.1-14.17.1, previous one is not in repo.
* Change /etc/mtab symlink to relative so that linux binary can read it.
Bump PKGREVISION.
disable the Nagle algorithm in the host-side connection. Either
the VM is already doing Nagle, in which case there is no point
in doing it twice, or it has chosen to disable it, in which case
we should respect that choice. This change speeds up GDB remote
debugging over TCP over user mode networking by multiple orders
of magnitude.
* libXp was used by Xaw8, but it had been obsolated, and in pkgsrc,
x11/libXaw/buildlink3.mk had been switched to pick up Xaw7 by default.
* With x11/xorg-cf-files, libXp was offered with XawClientLibs,
but updated to 1.0.4, it was removed.
* And pkgsrc had been switched to use always xorg-cf-files and imake from pkgsrc,
so all platforms should not require libXp from libXaw with Imake.
Bump PKGREVISION.
v1.03:
pecompat: New app
uips: Fixed a bug that caused bytes near the end of the file to be unnecessarily included in the .ips patch
cdpatch: Combining -f and -v now lists all errors, while still ignoring them
cdpatch: -x option now preserves modification time when possible
* Add patch for configure.ac, for making potential ethernet support easier.
Changelog:
2012/03/23 - version 0.9.13 released
A couple of important bugfixes accumulated in last few days:
o USB NatFeat doesn't fail to claim devices in certain cases
o MPFR FPU got fix for restarting of instructions after access error
o JIT CPU version should work even when compiled with newer compilers
o update your mmusetup.cnf in MiNT setup for larger FastRAM (see
provided atari/mmusetup.cnf that is set for 512 MB FastRAM now)
2012/03/19 - version 0.9.12 released
New features:
o MPFR based new precise FPU emulation core. Somewhat slower than the
normally used IEEE or UAE FPU emulation cores (about 5 times)
but should be totally complete and precise. Enabled in Linux binary
MMU builds (aranym-mmu). Hopefully Debian-m68k developers will enjoy it
:-)
o USB NatFeat fully usable: http://wiki.aranym.org/manual#usb
With a FreeMiNT driver you can access your USB flash discs from
the Atari side easily. First enter the SETUP GUI and plug in
the desired USB device. The USB support is compiled in by default
in all linux binary packages.
o NF Clipboard implemented newly for BeOS
o "aranym --version" will now list the built-in FPU core and also all
NatFeats that are compiled in.
Bugfixes:
o memleaks in various files
o blitter memmove fix
o MacOSX project fixes
o small 64bit fixes in nfcdrom
o aliasing issue fixes (in nfosmesa that is not compiled in)
o CPU CAS+CAS2 instructions - several very important fixes!
o some little fixes for newer GCCs in various files
o RPM spec file updated for Fedora, openSUSE and Mandriva. Give
rpmbuild -tb aranym_0.9.12.orig.tar.gz a try!
2011/02/06 - version 0.9.11 released
New features: SCC serial port emulation and USB NatFeat support.
BeOS/Haiku port: fixes and improvements.
MMU emulation: fix for initialization and FPU registers.
Video: fix (refresh palette when switching from true color to bitplane
mode) and an improvement (use current fullscreen size if fixed size is 0x0).
shipping symlinks into /usr/share/automake-1.11 instead of copies of
various semi-standard gnuish files, including some scripts needed by
the build.
Remove the patch that causes the build to try to run things direct
from ${PREFIX}/share/automake-1.11, as that's not the way things are
supposed to be done in a buildlink universe. However, adding a bl3.mk
to automake to allow using this stuff is itself wrong.
So instead, work around this mess by adding a post-extract hack that
deletes the symlinks and replaces them with the actual files from
automake.
Also, add a build dependence on automake so the files are actually
there when we try to reference them. (hi reinoud!)
No revbump needed as the package didn't build.
Grumble.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require X11 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require S-Lang shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require QT4 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require OpenSSL shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require OpenMotif shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package contains the glibc2 locale files.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require libxml2 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require TIFF shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require libsigc++2 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require PNG shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require JPEG shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require libdrm (for X acceleration).
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require cURL shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require CUPS shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require kerberos shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require GTK+-2.x shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require OpenGL/Mesa shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require freetype2 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require fontconfig shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require expat shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package contains some old shared libraries required by older
Linux binaries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
don't require X11 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require aspell shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require alsa shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require X11 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require S-Lang shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require QT4 shared libraries.