./emulators/qemu, CPU emulator using dynamic translation

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

Branch: CURRENT, Version: 2.8.0nb2, Package name: qemu-2.8.0nb2, 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:
[www/curl] [graphics/png] [graphics/jpeg] [archivers/lzo] [security/libgcrypt] [devel/glib2] [devel/ncursesw] [x11/pixman] [lang/python27] [devel/snappy] [devel/SDL2] [devel/jemalloc]

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

Package options: sdl

Master sites:

SHA1: a5602f2ddb51d61b4c0e618b779fdb0dbdc9cc1f
RMD160: da1e640443a15f36a242fe803c65a39f85b06fcc
Filesize: 27703.63 KB

Version history: (Expand)

CVS history: (Expand)

   2017-02-27 06:19:29 by Adam Ciarcinski | Files touched by this commit (7)
Log message:
Revision 2 changes:
* Fixed building with C++.
* Fixed building on Darwin (PR 51899).
* Added GTK3 as an option.
* Switched from SDL-1 to SDL-2.
* Depend and enable support for: lzo, jemalloc, snappy, png, curl, jpeg.
   2017-02-20 05:03:07 by Ryo ONODERA | Files touched by this commit (1) | Package updated
Log message:
   2017-01-17 10:10:11 by Roy Marples | Files touched by this commit (1)
Log message:
qemu requires resize_term and wide curses. Thanks to kamil@ and sorry to pgoyette@.
   2017-01-08 03:26:47 by Kamil Rytarowski | Files touched by this commit (3)
Log message:
Add support in qemu for native NetBSD curses(3)

curses_version() is ncurses specific function available only in ncurses and
used just in configure.

Bump revision to 1
   2017-01-01 15:44:09 by Thomas Klausner | Files touched by this commit (577)
Log message:
Add python-3.6 to incompatible versions.
   2016-12-30 11:00:16 by Ryo ONODERA | Files touched by this commit (8) | Package updated
Log message:
Update to 2.8.0

== System emulation ==
=== Incompatible changes ===
* The number of allow PCI host bridges for pSeries machine was reduced from 256 \ 
to 31 (more can be configured by setting up MMIO windows manually).
* Removed support for tftp:// in the block layer, since this has been broken \ 
forever for files bigger than 256KB.
=== 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".
:-readconfig will standardize on the name for the command line option.
* Behavior of automatic calculation of SMP topology when some SMP topology \ 
options for -smp are omitted (sockets, cores, threads) will change in the \ 
future. If guest ABI needs to be preserved on upgrades while using the SMP \ 
topology options, users should either set set all options explicitly (sockets, \ 
cores, threads), or omit all of them.
* Devices "allwinner-a10", "pc87312", "ssi-sd" \ 
will be configured with explicit properties instead of implicitly.  This is \ 
unlikely to affect users.
* QMP command blockdev-add is still a work in progress.  It doesn't support all \ 
block drivers, it lacks a matching blockdev-del, and more.  It might change \ 
* For x86, specifying a CPUID feature with both "+feature/-feature" \ 
and "feature=on/off" will cause a warning.  The current behavior for \ 
this combination ("+feature/-feature" wins over \ 
"feature=on/off") will be changed so that "+feature" and \ 
"-feature" will be synonyms for "feature=on" and \ 
"feature=off" respectively).
=== ARM ===
* Improvements to the Aspeed board.
* Support for HLT semihosting traps in AArch32 mode (both ARM and Thumb).
* The ACPI tables for the "virt" machine type support ITS.
* The Cadence GEM device now supports multiple priority queues through the \ 
num-priority-queues property.
* The STM32F2xx board (Netduino 2) now includes ADC and SPI devices.
==== KVM ====
=== MIPS ===
* Support for 24KEc CPUs.
=== PowerPC ===
* Support for POWER9 CPUs.
* Improvements for the new "powernv" platform.
==== pSeries ====
* PCI host bridges can be associated to NUMA nodes.
* Support for more than 1 TiB of guest memory.
* Support for more than 64 GiB of MMIO window in a PCI host bridge.
* Support for the "-prom-env" parameter
=== s390 ===
* Support for CPU models.
* Support for virtio-ccw revision 2.

=== SH ===
=== SPARC ===
=== TileGX ===
=== Tricore ===
=== x86 ===
* Support for several new CPUID features related to AVX-512 instruction set \ 
* The emulated IOAPIC (used by TCG and, with KVM, if the "-machine \ 
kernel_irqchip" option has the value "off" or "split") \ 
now defaults to version 0x20, which supports directed end-of-interrupt messages.
* Support for Extended Interrupt Mode (EIM) in the intel_iommu device.  EIM \ 
requires KVM (Linux v4.7 or newer, for x2APIC support) and "-machine \ 
kernel-irqchip=split"; it is enabled automatically if interrupt remapping \ 
is enabled ("-machine kernel-irqchip=split -device \ 
* Support for up to 288 CPUs with the Q35 machine types.  256 or more CPUs are \ 
only supported if IOMMU and EIM are enabled.
==== Xen ====
* Support for unplugging SCSI disk.
* Support for SUSE xenlinux-compatible device unplug.
=== Device emulation and assignment ===
* QEMU now includes a generic loader pseudo-device that lets you load multiple \ 
images or values into memory at startup.  This device is documented in \ 
==== ACPI ====
* Support for hotplugging of NVDIMM devices (_FIT)
==== Block devices ====
==== Network devices ====
* Support for fault tolerance based on coarse-grained lock stepping (COLO).
==== SCSI ====
==== PCI/PCIe ====
* The sample EDU device now supports MSI.
* \ 
[http://git.qemu.org/?p=qemu.git;a=blob;f=docs/pcie.txt;h=9fb20aaed9f41c302419206e1201d151c35e5a1c;hb=HEAD \ 
PCI Express Guidelines documentation] has been added for advice on topology and \ 
PCI vs PCIe.
==== USB ====
==== VFIO ====
==== virtio ====
* New device vhost-vsock.
* Initial support for graceful handling of guest errors (i.e. QEMU should not \ 
exit on guest errors).
* Support for new virtio-crypto device.

==== Xen ====
* Support for grant copy.
=== Character devices ===
=== Crypto subsystem ===
* Support for more hash algorithms for PBKDF.
* Support for CTR mode.
=== GUI ===
* SPICE can use pure OpenGL rendering if "gl=on" is specified.
=== Monitor ===
=== Migration ===
* Support for fault tolerance based on coarse-grained lock stepping (COLO).
=== Network ===
=== Block devices and tools ===
* More QMP commands support node-name (block-stream, block-commit, \ 
blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, \ 
blockdev-snapshot-internal-sync, change-backing-file, drive-backup, \ 
drive-mirror, nbd-server-add).
* The BLOCK_IO_ERROR event now includes the node name.
* More QMP commands accept device model names (block_set_io_throttle, \ 
blockdev-change-medium, eject, x-blockdev-remove-medium, \ 
x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
* The DEVICE_TRAY_MOVED event now includes the device id.
* Throttling now applies to the guest device only, and not to block jobs or the \ 
NBD server.
* drive-backup and blockdev-backup support writing out backups in compressed format.
* The LUKS format now can configure the PBKDF iteration count.
* block-stream supports streaming from a backing file to another backing file.
* Support for replication, for coarse-grained lock stepping (COLO) fault tolerance.
* New "dd" subcomamand of qemu-img.
* The DMG driver can be compiled to a separate driver, so as to make QEMU's \ 
dependency on libbz2 optional.
* Support for iSER in QEMU's iSCSI initiator through a iser:// URI.
* The NBD client and server support the NBD_CMD_WRITE_ZEROES extension.
* Raw images support "offset" and "size" options to access \ 
only a part of the file or device.

=== Tracing ===
* New tracing backend "syslog".
* Support for multiple "-d trace:PATTERN" command-line arguments.
=== CLI options ===

== User-mode emulation ==
=== Removed target support ===
* The unicore32-linux-user target implemented a different system call ABI from \ 
mainline Linux for this architecture. Support for it has been dropped.
=== New functionality ===
* Added support for more syscalls including preadv, pwritev, syslog.
* Major scalability improvements for multi-threaded programs (ARM, SPARC, x86).
* QEMU can now understand and generate fence and cmpxchg operations.

== TCG ==
* New TCG primitives have been added for safely modelling architectural \ 
synchronisation instructions (e.g. atomics, LL/SC, LOCK prefixes). arm, aarch64, \ 
alpha and x86 targets now use these primitives for multi-threaded linux-user \ 
programs. TCG target maintainers are encouraged to port their front-ends to use \ 
the new facilities.
* The TCG backends now emit appropriate barrier instructions for frontend \ 
barriers when running multi-threaded programs. However, emulating a \ 
strongly-ordered architecture (e.g., x86) on a weakly-ordered one (e.g., ARM or \ 
POWER) will not work yet.
* tb_flush() is finally thread-safe meaning multi-threaded programs are less \ 
likely to crash when the translation buffer is reset
* lock contention in the main cpu run-loop has been reduced improving \ 
performance for multi-threaded code
* a number of races were identified and fixed

A lot of the TCG work merged in this cycle where prerequisites for supporting \ 
multi-threaded system emulation (MTTCG). While full MTTCG support is expected to \ 
be merged in the next development cycle, multi-threaded linux-user programs will \ 
already benefit from this work.
   2016-12-29 23:59:39 by Thomas Klausner | Files touched by this commit (1)
Log message:
Fix build with SSP.

Closes my PR 51479.
   2016-12-27 22:44:42 by Benny Siegert | Files touched by this commit (1)
Log message:
Back out the NOT_JOBS_SAFE change. It turns out I was seeing an unrelated
problem. Sorry for the noise.