./emulators/qemu, CPU emulator using dynamic translation

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.2.1, Package name: qemu-2.2.1, Maintainer: pkgsrc-users

QEMU is a FAST! processor emulator using dynamic translation to achieve
good emulation speed, QEMU has two operating modes:

* Full system emulation. In this mode, QEMU emulates a full system
(for example a PC), including a processor and various peripherals.
It can be used to launch different Operating Systems without rebooting
the PC or to debug system code.
* User mode emulation (Linux host only). In this mode, QEMU can launch
Linux processes compiled for one CPU on another CPU. It can be used
to launch the Wine Windows API emulator or to ease cross-compilation
and cross-debugging.

Required to run:
[devel/glib2] [devel/SDL] [devel/ncurses] [x11/pixman] [lang/python27]

Required to build:
[textproc/texi2html] [pkgtools/x11-links] [x11/glproto] [x11/renderproto] [x11/xproto] [x11/xf86vidmodeproto] [x11/xf86driproto] [x11/damageproto] [x11/inputproto] [x11/xextproto] [x11/randrproto] [x11/dri2proto] [x11/fixesproto4]

Package options: sdl

Master sites:

SHA1: 4d1cefc9861fb90979497e8c0bffd223103aa240
RMD160: 53430a4cc637f6579cce2e29cb72f3af292c793b
Filesize: 23909.668 KB

Version history: (Expand)

CVS history: (Expand)

   2015-03-13 10:09:13 by Ryo ONODERA | Files touched by this commit (2) | Package updated
Log message:
Update to 2.2.1


2001e19: Update version for v2.2.1 release (Michael Roth)
c70221d: vpc: Fix size in fixed image creation (Kevin Wolf)
07db685: coroutine: Fix use after free with qemu_coroutine_yield() (Kevin Wolf)
c4ca8af: acpi: update generated hex files (Michael Roth)
16765a5: acpi-test: update expected DSDT (Michael Roth)
dab0efc: pc: acpi: fix WindowsXP BSOD when memory hotplug is enabled (Igor
6c699aa: xen-hvm: increase maxmem before calling xc_domain_populate_physmap
(Stefano Stabellini)
a958b9b: linux-user: Check for cpu_init() errors (Eduardo Habkost)
4ec1b9b: qdev: Avoid type assertion in qdev_build_hotpluggable_device_list()
(Jun Li)
3e04f97: kvm/apic: fix 2.2->2.1 migration (Paolo Bonzini)
00fd890: target-mips: fix broken snapshotting (Leon Alrae)
3d1cd59: update ipxe from 69313ed to 35c5379 (Gerd Hoffmann)
a97f9a7: exec: change default exception_index value for migration to -1 (Paolo
987aba5: qtest: Fix deadloop by running main loop AIO context's timers (Fam
7d389a2: block/iscsi: fix uninitialized variable (Peter Wu)
2a020d2: fix mc146818rtc wrong subsection name to avoid
vmstate_subsection_load() fail (Zhang Haoyu)
6833856: libcacard: stop linking against every single 3rd party library (Daniel
P. Berrange)
a9eb2b6: qemu-thread: fix qemu_event without futexes (Paolo Bonzini)
4d49de6: vfio-pci: Fix missing unparent of dynamically allocated MemoryRegion
(Alex Williamson)
3750d25: target-arm/translate-a64: Fix wrong mmu_idx usage for LDT/STT (Peter
4ac8b01: hw/input/hid.c Fix capslock hid code (Dinar Valeev)
e60fb7a: sb16: fix interrupt acknowledgement (Paolo Bonzini)
451b9e2: virtio: fix feature bit checks (Cornelia Huck)
0d09315: vt82c686: avoid out-of-bounds read (Paolo Bonzini)
8d1fdb1: target-i386: fix movntsd on big-endian hosts (Paolo Bonzini)
b0a231a: scsi: fix cancellation when I/O was completed but DMA was not. (Paolo
09e2753: linux-user: Fix broken m68k signal handling on 64 bit hosts (Peter
49725cd: pckbd: set bits 2-3-6-7 of the output port by default (Paolo Bonzini)
fdb2ed4: serial: refine serial_thr_ipending_needed (Paolo Bonzini)
e54bcad: serial: reset thri_pending on IER writes with THRI=0 (Paolo Bonzini)
e1ce0c3: vl.c: fix regression when reading machine type from config file
(Marcel Apfelbaum)
cb3360d: PPC: Fix crash on spapr_tce_table_finalize() (David Gibson)
f738ade: atomic: fix position of volatile qualifier (Paolo Bonzini)
83dbd88: migration/block: fix pending() return value (Vladimir
718ab31: target-xtensa: test cross-page opcode (Max Filippov)
27ad3df: target-xtensa: fix translation for opcodes crossing page boundary (Max
6569578: audio: Don't free hw resources until after hw backend is stopped
(Peter Maydell)
51d703f: linuxboot: fix loading old kernels (Paolo Bonzini)
ebd2bd2: block: Don't probe for unknown backing file format (Kevin Wolf)
9f8da03: qcow2.py: Add required padding for header extensions (Kevin Wolf)
63a3acd: qcow2: Fix header extension size check (Kevin Wolf)
9fc6075: block migration: fix return value (Gary R Hook)
6950b92: block/raw-posix: Fix ret in raw_open_common() (Max Reitz)
9b3f3d6: qcow2: Respect bdrv_truncate() error (Max Reitz)
6f45cda: qcow2: Flushing the caches in qcow2_close may fail (Max Reitz)
1e85e69: qcow2: Prevent numerical overflow (Max Reitz)
ff15187: iotests: Add test for unsupported image creation (Max Reitz)
0a0a984: iotests: Only kill NBD server if it runs (Max Reitz)
b15bfd0: qemu-img: Check create_opts before image amendment (Max Reitz)
10be14e: qemu-img: Check create_opts before image creation (Max Reitz)
6065d54: block: Check create_opts before image creation (Max Reitz)
0fc9a06: block/nfs: Add create_opts (Max Reitz)
1961d1c: block/vvfat: qcow driver may not be found (Max Reitz)
e81703b: block: Omit bdrv_find_format for essential drivers (Max Reitz)
7e213f8: block: Make essential BlockDriver objects public (Max Reitz)
   2015-03-06 14:22:03 by Tobias Nygren | Files touched by this commit (2)
Log message:
Replace user-exec.c patch with cleaned up version which was sent upstream.
Includes PR pkg/49723 fix for sparc64.
   2015-01-09 00:00:42 by Sebastian Wiedenroth | Files touched by this commit (1)
Log message:
Disable coroutine-pool on SunOS to work around "Co-routine is yielding to \ 
no one".
   2015-01-07 22:39:24 by Sebastian Wiedenroth | Files touched by this commit (3)
Log message:
fix build on SunOS
   2014-12-12 16:36:03 by Ryo ONODERA | Files touched by this commit (1)
Log message:
Fix packaging. It was my misunderstanding.
Thank you, wiz@.
   2014-12-11 15:04:59 by Ryo ONODERA | Files touched by this commit (3) | Package updated
Log message:
Update to 2.2.0

# System emulation
## Future incompatible changes
* Three options are using different names on the command line and in \ 
configuration file. In particular:
** The "acpi" configuration file section matches command-line option \ 
** The "boot-opts" configuration file section matches command-line \ 
option "boot";
** The "smp-opts" configuration file section matches command-line \ 
option "smp".

Starting with QEMU xyz.jkl, -readconfig will standardize on the name for the \ 
command line option.

## ARM
* Support for loading a device tree even with no -kernel option or when booting \ 
ELF images
* Support for input interrupts in the PL061 GPIO controller
* TCG can emulate breakpoints and watchpoints.
* Support for PSCI firmware interface emulating in TCG
** enables clean shutdown from non-kvm guests

* Support for MIPS64 Release 6 emulation.
* Support for MIPS SIMD Architecture emulation.
* Fix for incorrectly handled delay slots in MIPS16 and microMIPS.

## PowerPC
* Mac OS X 10.2, 10.3 and 10.4 guests run with the mac99 machine type.
* Bugfixes and optimization for TCG emulation of PowerPC targets.

### IBM (pSeries)
* Support for the "nmi" monitor command, to enter the kernel debugger.
* Live migration support for NVRAM

### Freescale (BookE)
* Breakpoint support on KVM.
* Support for the e500 platform bus and dynamic instantiation of FreeScale eTSEC \ 
devices (-device eTSEC).
* Support for MPC8XXX gpio controller to enable shutdown with 3.19+ Linux guests
## s390
* Enhance support for boot from DASD to handle more formats.
* Support for memory hotplug.
* Support for cpu state handling and migration.
* Support for booting newer kernels under TCG.
* Improved SMP startup and cpu online/offline performance especially for large guests

* Emulation of TCX hardware acceleration (allows X to run under NetBSD and Solaris)
* NetBSD and OpenBSD can now run under qemu-system-sparc64 in -nographic mode

## TriCore
* New target.

## x86
* Support for IOMMU (VT-d) emulation on the Q35 machine type, enabled with \ 
"-machine iommu=on".
* Support for specifying drives in short form on the command-line (i.e. using \ 
-cdrom, -hda, -drive if=ide) on the Q35 machine type.
* TCG is reported to run QNX.
* All CPUs now work with "-cpu MODEL,enforce", of course as long as \ 
TCG or KVM support the CPU's set of features. Previously, a few CPUs included \ 
extraneous CPUID flags that cause "-cpu MODEL,enforce" to fail.

## KVM
* More robust live migration of the kvm pv clock
* Support for AVX512

## Xen
* QEMU can now boot a bzImage or multiboot kernel under Xen, using the command \ 
line option -kernel.

## Xtensa
* New script for automatic core import from xtensa configuration overlay.

## Device emulation and assignment
* The boot order set for hot-plugged devices will take effect during reboot. In \ 
addition, the boot order can be dynamically modified via QOM.

### IDE
* More accurate emulation of AHCI, especially visible with Windows guests.

### SCSI
* Passthrough of vendor-specific commands now works (only with the virtio-scsi HBA).
* Initial support in virtio-scsi for a threaded backend, which is used in the \ 
same way as virtio-blk ("-object iothread,id=id" and "-device \ 
virtio-scsi-pci,iothread=id"). Note that the code has known thread-safety \ 
problems that can lead to QEMU using freed memory. They should not happen in \ 
normal use, they can be triggered easily by malicious guests. This option should \ 
only be used if you are interested in making relevant parts of QEMU thread safe.
* Support for LSI MegaRAID SAS 2108 HBAs (-device megasas-gen2). Note that \ 
booting from this device does not work yet.
* virtio-scsi can now execute Abort Task and Abort Task Set task management \ 
functions asynchronously.

### PCI/PCIe
* MSIs are now (correctly) disabled until bus master DMA is enabled for the device.
* Support for ARI forwarding on PCIe root ports.

### USB
* Support for hot-plugging XHCI/EHCI/UHCI controllers (in the case of EHCI/UHCI, \ 
only if there are no companion controllers).
* Support for USB 2.0 (high speed) mice and keyboards, complementing the \ 
existing support for high speed USB tablets. High speed devices avoid the less \ 
efficient UHCI controller, and thus use less CPU on the host.

### VGA
* The default vga device on x86 has been switched from cirrus to stdvga, which \ 
works better for most guests. However, Windows XP will not suspend to RAM \ 
anymore; the change can be undone with "-vga cirrus" and does not \ 
affect PC machine types of versions 2.1 and earlier.

## Character devices
* Support for automatic reconnection of client sockets (e.g. "-chardev \ 

## GUI
### Monitor
* The "info pcmcia" command was removed. PCMCIA hotplug was never \ 
implemented, and thus the command could only return static information.

## Network
* Samba 4.1 is now supported.

## Block devices in system emulation
* The list of functionality now supported in threaded virtio-blk backend is \ 
growing: new in 2.2 are resizing of disks, device hot-unplug, the embedded NBD \ 
server, and background jobs (backup, stream, mirror, commit).

# Block devices and tools
* QEMU is more resistent against failure of large allocations in the block layer
* Support for Archipelago as a QEMU block backend
* Support for Parallels images larger than 2TB.
* Migration now works when using qcow2 over Ceph.
* Network-based drivers (NBD, libiscsi, etc.) now work on Win32 hosts too.
* Source image cache mode can be set for qemu-img check, convert and rebase
* qemu-nbd has a new --detect-zeroes option.
* Progress report for qemu-img commit and qemu-img amend

* In icount mode, it is possible to slow down emulation to match the requested \ 
CPU frequency (thus ensuring that the host and guest clocks remain aligned). \ 
This is enabled with "-icount N,align=on".
* A new "victim TLB" provides a 5-10% performance improvement.

# Tracing
* QEMU provides a SystemTap script that outputs binary trace data, for use in \ 
flight-recorder mode. The resulting traces can be parsed with QEMU's \ 
simpletrace.py script (using the --no-header command-line option).

# User-mode emulation
* New option: setting AT_RANDOM auxval with -seed option or QEMU_RAND_SEED env \ 
* New system calls supported
** timerfd_create, timerfd_gettime and timerfd_settime
** ioprio_get and ioprio_set
** setns
** unshare
* epoll_pwait has been enabled on ARM
* Signal handling support added for PPC64
* Emulated contents of /proc/self/maps fixed
   2014-10-14 23:00:15 by Soren Jacobsen | Files touched by this commit (3) | Package updated
Log message:
Update qemu to 2.1.2.  Changes:

9a72433: slirp: udp: fix NULL pointer dereference because of uninitialized \ 
socket (Petr Matousek)
00dd2b2: pc: leave more space for BIOS allocations (Michael S. Tsirkin)
80f4d02: Revert "virtio: don't call device on !vm_running" (Michael S. \ 
074e347: virtio-net: drop assert on vm stop (Michael S. Tsirkin)
9e8d994: Revert "rng-egd: remove redundant free" (Eduardo Habkost)
a56b9cf: hw/machine: Free old values of string properties (Eduardo Habkost)
0717855: Revert "spapr_pci: map the MSI window in each PHB" (Greg Kurz)
82d80e1: target-i386: Support migratable=no properly (Eduardo Habkost)
5dd076a: exec: Save CPUState::exception_index field (Pavel Dovgaluk)
257e9cf: pty: Fix byte loss bug when connecting to pty (Sebastian Tanase)
1aa87d3: spice: make sure we don't overflow ssd->buf (Gerd Hoffmann)
7fe5418: vbe: rework sanity checks (Gerd Hoffmann)
c5042f0: vbe: make bochs dispi interface return the correct memory size with qxl \ 
(Gerd Hoffmann)
cf29a88: virtio-net: purge outstanding packets when starting vhost (Michael S. \ 
08743db: net: complete all queued packets on VM stop (Michael S. Tsirkin)
d9c06c0: net: invoke callback when purging queue (Michael S. Tsirkin)
f321710: virtio: don't call device on !vm_running (Michael S. Tsirkin)
ec48bfd: net: Forbid dealing with packets when VM is not running (zhanghailiang)
eb36f79: acpi-build: Set FORCE_APIC_CLUSTER_MODEL bit for FADT flags (zhanghailiang)
34d41c1: vhost-scsi: init backend features earlier (Michael S. Tsirkin)
6f8d05a: vhost_net: init acked_features to backend_features (Jason Wang)
5e83dae: vhost_net: start/stop guest notifiers properly (Jason Wang)
ff34ca0: pci: avoid losing config updates to MSI/MSIX cap regs (Knut Omang)
e685d2a: virtio-net: don't run bh on vm stopped (Michael S. Tsirkin)
67cfda8: qxl-render: add more sanity checks (Gerd Hoffmann)
4fd144f: target-arm: Correct Cortex-A57 ISAR5 and AA64ISAR0 ID register values \ 
(Peter Maydell)
ea774b8: target-arm: Fix regression that disabled VFP for ARMv5 CPUs (Peter Maydell)
3e8966d: x86: Clear MTRRs on vCPU reset (Alex Williamson)
ba8576f: x86: kvm: Add MTRR support for kvm_get|put_msrs() (Alex Williamson)
07f8c97: x86: Use common variable range MTRR counts (Alex Williamson)
72c9c9a: target-i386: Don't forbid NX bit on PAE PDEs and PTEs (William Grant)
3d8cc86: vl: process -object after other backend options (Paolo Bonzini)
0824ca6: spapr_pci: map the MSI window in each PHB (Greg Kurz)
feb6334: thread-pool: avoid deadlock in nested aio_poll() calls (Stefan Hajnoczi)
75ada6b: thread-pool: avoid per-thread-pool EventNotifier (Stefan Hajnoczi)
be3af75: pc: reserve more memory for ACPI for new machine types (Michael S. Tsirkin)
bfe3e6f: pcihp: fix possible array out of bounds (Gonglei)
cd4acff: hostmem: set MPOL_MF_MOVE (Michael S. Tsirkin)
4b59161: vmxnet3: Pad short frames to minimum size (60 bytes) (Ben Draper)
fab7560: blkdebug: Delete BH in bdrv_aio_cancel (Fam Zheng)
16c92cd: qemu-iotests: add test case 101 for short file I/O (Stefan Hajnoczi)
dea6efe: raw-posix: fix O_DIRECT short reads (Stefan Hajnoczi)
8c4edd7: block/iscsi: fix memory corruption on iscsi resize (Peter Lieven)
504e2a7: arm/virt: Use PSCI v0.2 function IDs in the DT when KVM uses PSCI v0.2 \ 
(Christoffer Dall)
2f6d5e1: target-arm: Rename QEMU PSCI v0.1 definitions (Christoffer Dall)
20463dc: target-arm: Fix return address for A64 BRK instructions (Peter Maydell)
2a575c4: virtio-blk: fix reference a pointer which might be freed (zhanghailiang)
1ad9dce: acpi: align RSDP (Michael S. Tsirkin)
ba1bc81: numa: show hex number in error message for consistency and prefix them \ 
with 0x (Hu Tao)
948574e: pc-dimm: fix up error message (Michael S. Tsirkin)
044af98: pc-dimm: validate node property (Hu Tao)
7c68c54: hw:i386: typo fix: MEMORY_HOPTLUG_DEVICE -> MEMORY_HOTPLUG_DEVICE \ 
(Hu Tao)
bd47406: ide: only constrain read/write requests to drive size, not other types \ 
(Michael Tokarev)
e22d5dc: l2tpv3 (configure): it is linux-specific (Michael Tokarev)
dfd4808: vfio: Fix MSI-X vector expansion (Alex Williamson)
5f26e63: qdev-monitor: include QOM properties in -device FOO, help output \ 
(Stefan Hajnoczi)
42f7a13: qmp: hide "hotplugged" device property from \ 
device-list-properties (Stefan Hajnoczi)
   2014-08-17 10:57:01 by Adam Ciarcinski | Files touched by this commit (9)
Log message:
Changes 2.1.0:
Incompatible changes:
The 82573L NIC was incorrectly treated as an 8254xx model. It no longer works \ 
correctly on either Linux (3.14.*) or Windows 7 and has been removed.
On x86, migration from QEMU 1.7 to QEMU 2.0 was broken if the guest had PCI \ 
bridges or for some number of CPUs (12, 13, 14, 54, 55, 56, 97, 98, 99, 139, \ 
140) are the only ones). QEMU 2.1 fixes this, so that migration from QEMU 1.7 to \ 
QEMU 2.1 should always work. However, the fix breaks the following scenarios \ 
migration from QEMU 2.0 to QEMU 2.1 with PCI bridges and machine types \ 
migration from QEMU 2.0 to QEMU 2.1 with the aforementioned number of CPUs and \ 
machine type pc-i440fx-1.7

Future incompatible changes:
Three options are using different names on the command line and in configuration \ 
file. In particular:
The "acpi" configuration file section matches command-line option \ 
The "boot-opts" configuration file section matches command-line option \ 
The "smp-opts" configuration file section matches command-line option \ 
Starting with QEMU xyz.jkl, -readconfig will standardize on the name for the \ 
command line option.

Firmware can be passed to the vexpress machine via -bios.
Improvements to Allwinner SoC emulation.
AArch64 TCG system emulation support.
AArch64 SHA and Crypto instruction support.

Support for semihosting.

Support for u-boot initrd images.

Support for KVM in the Malta board.