./emulators/qemu, CPU emulator using dynamic translation

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


Branch: CURRENT, Version: 2.2.0, Package name: qemu-2.2.0, 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: 9a16623775a92fd25334f4eced4e6a56ab536233
RMD160: 9a156bdefd8fad72154eee1b10ed53a0e4c1c9a2
Filesize: 23746.774 KB

Version history: (Expand)


CVS history: (Expand)


   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

Changelog:
# 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 \ 
"acpitable";
** 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

## MIPS
* 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

## SPARC
* 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 \ 
socket,host=localhost,port=12345,nowait,reconnect=5").

## 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

# TCG
* 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 \ 
variable
* 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. \ 
Tsirkin)
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. \ 
Tsirkin)
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 \ 
instead:
migration from QEMU 2.0 to QEMU 2.1 with PCI bridges and machine types \ 
pc-i440fx-1.7/pc-i440fx-2.0
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 \ 
"acpitable";
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
---
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.

LM32
----
Support for semihosting.

Microblaze
----------
Support for u-boot initrd images.

MIPS
----
Support for KVM in the Malta board.

more...
   2014-07-11 21:15:08 by Andreas Gustafsson | Files touched by this commit (4) | Package updated
Log message:
Fix qemu bug 1335444 aka PR pkg/48071.  Patches from Kirill Batuzov,
with minor changes to make them apply to 2.0.0.  Bump PKGREVISION.
   2014-05-30 01:38:20 by Thomas Klausner | Files touched by this commit (3049)
Log message:
Bump for perl-5.20.0.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
   2014-05-15 14:28:13 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
Add a patch based on upstream git fixing five different CVEs in one file.
Congratulations.

Bump PKGREVISION.
   2014-05-09 09:37:28 by Thomas Klausner | Files touched by this commit (553)
Log message:
Mark packages that are not ready for python-3.3 also not ready for 3.4,
until proven otherwise.