./emulators/qemu, CPU emulator using dynamic translation

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

Branch: CURRENT, Version: 2.0.0, Package name: qemu-2.0.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/fixesproto] [x11/xf86driproto] [x11/damageproto] [x11/inputproto] [x11/xextproto] [x11/randrproto] [x11/dri2proto]

Package options: sdl

Master sites:

SHA1: cc24a60a93ba697057a67b6a7224b95627eaf1a6
RMD160: ecd05e036431c14930ae2455a032495dd7ebaf85
Filesize: 12538.718 KB

Version history: (Expand)

CVS history: (Expand)

   2014-04-18 17:50:16 by Adam Ciarcinski | Files touched by this commit (4)
Log message:
Changes 2.0.0:
Incompatible changes
All onboard buses now have distinct names, so that all of them can be reached \ 
with "-device bus=...". As a result of this, some buses that used to \ 
have duplicates got renamed:
i2c-bus.0 to i2c-bus.1 for machines n800, n810;
virtio-mmio-bus.0 to virtio-mmio-bus.3 for vexpress-a15, vexpress-a9;
virtio-mmio-bus.0 to virtio-mmio-bus.31 for virt;
usb-bus.0 to usb-bus.1 for xilinx-zynq-a9, fulong2e;
ide.0 to ide.1 for isapc, mips, g3beige, mac99, prep;
This change requires care when doing migration from 1.x to 2.x QEMU; you need to \ 
specify bus=NEW explicitly on the destination for devices on the renamed bus.
Another bus rename is pci to pci.0 for pseries. This does not require as much \ 
care on migration; if you were specifying "bus=pci" explicitly, QEMU \ 
will not start unless you change that to "bus=pci.0".
qemu-system-arm no longer defaults to the obsolete "integratorcp" if \ 
no machine is specified on the command line (this was a recurring source of \ 
confusion). Users with existing integratorcp images will need to add "-M \ 
integratorcp" to the command line if it is not already present.
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 2.1, -readconfig will standardize on the name fo the command \ 
line option.
Support for "-M virt", a board type that only uses virtio devices
Support for "-cpu host" when running under KVM
Support for new 32-bit mode ARMv8 instructions in TCG
Support for all 64-bit mode ARMV8 user-accessible instructions except for the \ 
optional CRC and crypto extensions
Support for AArch64 disassembling (requires a C++ compiler to be installed on \ 
the host)
Initial support for KVM on AArch64 systems (some features such as migration are \ 
not yet implemented)
Support for the Canon PowerShot A1100 DIGIC board using "-M canon-a1100"
Support for the allwinner-a10-based board "-M cubieboard"
Support for flow control in the Cadence UART
"integratorcp" is no longer the default machine (see the 'incompatible \ 
changes' section above)
Support for Altivec 2.07 and VSX instructions when running under TCG
Support for ISA 2.06 "load/store quadword instructions", "divide \ 
extended instructions" and "floating-point test instructions" \ 
when running under TCG
PReP is not anymore (incorrectly) included in qemu-system-ppcemb
Improved support for "-nodefaults" on the pSeries machine. Display \ 
devices created with "-device VGA" will be handled correctly in the \ 
device tree.
Support for boot order in pSeries emulation
Support for adapter interrupts in virtio-cc2
Support for Sun CG3 framebuffer with the Sun4m machine. The CG3 framebuffer can \ 
be requested with "-vga cg3".
Support for the CASA compare-and-swap instruction in TCG.
On the Q35 machine, the HPET interrupt can now be attached to GSIs 16-23, like \ 
on real hardware.
The Q35 machine now supports CPU hotplug.
Two flash chips can be specified using the "-drive if=pflash" or \ 
"-pflash" options twice.
Memory layout has changed slightly; to improve performance, the PIIX4 machine \ 
("-M pc") now has 3GB of low memory instead of 3.5GB if the guest has \ 
more than 3.5GB of memory. Similarly, the Q35 machine ("-M q35") now \ 
has 2GB instead of 2.75GB of low memory if the guest has more than 2.75GB of \ 
overall memory.
Support for migration of Intel MPX registers.
The Apple SMC device is now exposed in the ACPI tables.
On the PIIX machine, PCI hotplug now supports devices behind a bridge (only for \ 
bridges not added by hotplug; hot-plugged bridges can still use the PCI Standard \ 
Hot-Plug Controller).
Support for the Hyper-V reference time counter via the "hv-time" \ 
suboption of "-cpu". This can improve performance of Windows guests \ 
substantially for applications that do many floating-point or SIMD operations. \ 
(Requires KVM and Linux 3.14).
The distributed qemupciserial.inf file now allows installing multiport PCI \ 
serial devices on Windows too.
ACPI tables generated by QEMU can now be used by OVMF firmware. OVMF starting \ 
with SVN r15420 is needed. In particular hotplug, pvpanic device and other ACPI \ 
based features now work for OVMF.
x2apic is now enabled by default when KVM is in use.
PCI passthrough of devices with a ROM now works.
added support for ML605 and KC705 FPGA boards.
Cache-related opcodes now correctly check privilege level/memory accessibility.
   2014-04-01 08:47:43 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
Changes 1.7.1:
This is a bug-fix release.
   2014-01-25 11:30:32 by Thomas Klausner | Files touched by this commit (533) | Package updated
Log message:
Mark packages as not ready for python-3.x where applicable;
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE=  33 # not yet ported as of x.y.z
respectively, please use the same style for other packages,
and check during updates.

Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.

Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.

Whitespace cleanups and other nits corrected, where necessary.
   2014-01-15 19:26:20 by Thomas Klausner | Files touched by this commit (15) | Package updated
Log message:
Update to 1.7.0, from tsutsui.


System emulation

Device emulation


    The HDA device emulation now includes a mixer by default.
    Previously this had to be enabled with the configure argument
    "--enable-mixemu" when building QEMU.
    Audio will work correctly on systems without OSS (/dev/dsp).
    On previous versions, those systems needed special arguments
    to "configure" for audio to work out of the box.
    Audio honors the QEMU_AUDIO_TIMER_PERIOD environment variable
    and has less CPU utilization by default than previous versions.

Block devices

    Support for the LSI 53C810 SCSI HBA, which unlike the 895A is
    supported on some very old Windows NT versions.

Device assignment

    VFIO now supports setting CPU affinity on MSI interrupts.
    VFIO can now reset assigned devices much more reliably using
    either PCI function-level reset (FLR), power management, or a
    reset (done by the kernel) of the parent bridge.
    Several improvements to the reliability of using option ROMs
    for devices that are assigned with VFIO.


    Performance and functionality improvements for USB 3.0.


    Can now specify an initrd on the command line.


    PowerPC now supports the dump-guest-memory command.


    The "nmi" command will trigger a crash dump from kdump, using
    a RESTART interrupt.
    The SCLP line-mode console ("operating system messages") can
    be accessed with "-device sclplmconsole".


    ACPI tables can be generated by QEMU and can be used by firmware
    directly. This will in the future enable new features without
    modifications of all firmware components (SeaBIOS, OVMF,
    Initial support for supporting more than 1TB of RAM (but firmware
    does not yet support this).
    Xen HVM domains can now resume from suspend-to-RAM (S3) state.


    Subcommands (like "info block") can now autocomplete their
    Help for a single subcommand can be printed with a monitor
    command such as "help info block".
    New commands "blockdev-snapshot-internal-sync",
    "blockdev-snapshot-delete-internal-sync" improve support for
    internal qcow2 snapshot.
    New command "blockdev-add" provides a QMP interface for block
    device hotplug.

Block devices

    The throttling algorithm has been rewritten; the new code is
    more robust, and supports configuration of separate limits for
    sustained I/O vs. I/O bursts


    Migration was broken from QEMU <= 1.5 to 1.6; the new release
    fixes it.

User-mode emulation

    M68K ColdFire emulation supports atomic system calls.

Block devices, qemu-img, qemu-io

    The sheepdog driver supports automatic reconnect after network
    The VMDK driver supports files produced by VMWare ESX.
    The qcow2 driver can detect some cases of corruption, and will
    prevent writing to a corrupted image.
    The VHDX driver supports creating and writing .vhdx images.
    The metadata of a file (where each sector of the guest image
    is stored in the file on the host) can be dumped in human-readable
    or JSON format using a new command "qemu-img map".

Guest agent

    The "filesystem freeze/thaw" commands are now supported on
    Windows too, where they will invoke the native Volume Shadow
    Copy Service (VSS).


    For targets that have no embedded disassembler, QEMU will now
    produce hexadecimal dumps instead of just emitting an error
    when a disassembly is requested. The enclosed script disas-objdump.pl
    can be used, together with an external objdump program, to
    convert the dump to a readable disassembly.

Host support

    TCG now runs on x32 hosts.

Known issues

    On Win32, QEMU must be compiled with --disable-coroutine-pool
    to work around a suspected compiler bug.
    The GTK terminal windows (monitor, serial console, parallel,
    ...) are still unusable in TCG mode: they lose characters and
    can raise deadlocks.
   2014-01-11 14:08:59 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
Changes 1.6.2:
Bug-fix release.
   2013-10-27 17:33:26 by Hubert Feyrer | Files touched by this commit (3)
Log message:
Make this build on Mac OS X 10.7.x - the linker needs ranlink ran
(via ar), else it will fail to link.

OK joerg@
   2013-10-27 01:23:42 by Joerg Sonnenberger | Files touched by this commit (2)
Log message:
Provide some sane ARFLAGS.
   2013-10-26 15:39:37 by Aleksej Saushev | Files touched by this commit (1)
Log message:
It needs bison to build.