QEMU 1.0 released
From: | Anthony Liguori <aliguori-AT-us.ibm.com> | |
To: | qemu-devel <qemu-devel-AT-nongnu.org> | |
Subject: | [ANNOUNCE] QEMU 1.0 release | |
Date: | Thu, 01 Dec 2011 15:23:37 -0600 | |
Message-ID: | <4ED7F059.8040408@us.ibm.com> | |
Archive‑link: | Article |
Hi, On behalf of the QEMU Team, I'd like to announce the availability of QEMU 1.0! Over 8 years ago, Fabrice Bellard started QEMU as a small tool to run x86 Linux binaries on non-x86 Linux platforms. QEMU has since evolved into a cross architecture full system simulator capable of simulating 14 different target architectures across a wide variety of host platforms. QEMU can simulate over 400 different hardware devices in dozens of different boards. QEMU also forms the heart of multiple hardware virtualization platforms including Xen and KVM. Over those 8 years, we have seen almost 20,000 changesets from close to 400 unique authors. I'd like to personally thank everyone who has contributed to making this release and all of our previous releases a success! In this release, we have seen many improvements. For the a full summary of changes, see the ChangeLog below. You can download 1.0 from qemu.org at: http://wiki.qemu.org/download/qemu-1.0.tar.gz ChangeLog: == 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 Regards, Anthony Liguori
Posted Dec 2, 2011 20:57 UTC (Fri)
by vmpn (subscriber, #55435)
[Link] (22 responses)
Posted Dec 2, 2011 21:06 UTC (Fri)
by aliguori (subscriber, #30636)
[Link] (21 responses)
Posted Dec 2, 2011 21:36 UTC (Fri)
by nix (subscriber, #2304)
[Link] (2 responses)
Posted Dec 3, 2011 21:24 UTC (Sat)
by vmpn (subscriber, #55435)
[Link] (1 responses)
Posted Dec 4, 2011 8:59 UTC (Sun)
by bradh (guest, #2274)
[Link]
On many ARM boards, there really is hardware limits on how large memory can be, so the emulated hardware will break just as the real hardware would.
Short version: don't -m 1024 and assume it works.
Posted Dec 3, 2011 10:16 UTC (Sat)
by mastro (guest, #72665)
[Link] (17 responses)
Is this still the case?
Posted Dec 3, 2011 13:33 UTC (Sat)
by chithanh (guest, #52801)
[Link] (16 responses)
Posted Dec 3, 2011 21:09 UTC (Sat)
by landley (guest, #6789)
[Link] (15 responses)
Application emulation runs a userspace program and intercepts system calls to fake access to the operating system. System emulation runs a kernel and intercepts hardware access to fake a motherboard.
If you booted windows 98 under it, it was system emulation. If it couldn't call fork(), it was application emulation.
Rob
Posted Dec 4, 2011 1:16 UTC (Sun)
by drag (guest, #31333)
[Link] (14 responses)
Posted Dec 4, 2011 2:10 UTC (Sun)
by SEJeff (guest, #51588)
[Link] (13 responses)
Posted Dec 4, 2011 2:25 UTC (Sun)
by drag (guest, #31333)
[Link] (6 responses)
I have used Qemu for some minimal cross-platform Linux development for ARM on Debian using my x86 laptop, but it was a while ago and I don't remember the details.
Posted Dec 4, 2011 2:40 UTC (Sun)
by SEJeff (guest, #51588)
[Link] (5 responses)
Posted Dec 4, 2011 14:34 UTC (Sun)
by aliguori (subscriber, #30636)
[Link]
Posted Dec 4, 2011 20:05 UTC (Sun)
by jnguyen (guest, #72727)
[Link] (3 responses)
And these are different again from the KVM (switch) that has been around for even longer. I do wish they picked different names.
Posted Dec 4, 2011 20:56 UTC (Sun)
by nix (subscriber, #2304)
[Link] (2 responses)
Posted Dec 5, 2011 10:26 UTC (Mon)
by drag (guest, #31333)
[Link] (1 responses)
Yeah sure you can use something other then Qemu with KVM, but the Qemu + KVM is what people are going to be generally using at this time.
Posted Dec 5, 2011 12:16 UTC (Mon)
by nix (subscriber, #2304)
[Link]
Posted Dec 4, 2011 2:43 UTC (Sun)
by MegabytePhreak (guest, #60945)
[Link] (5 responses)
In many ways it is like WINE, except for the fact there is emulation involved of course. I suppose it may even be possible to use the binfmt feature to detect the architecture of the elf files and run the non-native ones in QEMU automatically, just like is done with Wine (and Mono, etc.).
Posted Dec 4, 2011 4:16 UTC (Sun)
by tzafrir (subscriber, #11501)
[Link] (4 responses)
http://tinkering-is-fun.blogspot.com/2009/12/running-arm-...
On Debian, at least, the package qemu-user-static already installs that binfmt stuff for you.
debootstrap --arch armel --foreign suite path/to/new/chroot
The qemu package provides a helper script to wrap those commands:
qemu-debootstrap
Unlike wine, though, performance is not close to native. Well, it may emulate closely the performance of some specific ARM devices. Recall QEMU has to do much more emulation than WINE. But having it on your native system, with your "unlimited" disk space is helpful as well.
Posted Dec 4, 2011 4:40 UTC (Sun)
by MegabytePhreak (guest, #60945)
[Link] (3 responses)
Posted Dec 4, 2011 11:49 UTC (Sun)
by Jonno (subscriber, #49613)
[Link] (1 responses)
All you need to do is install a multi-arch enabled dpkg (default on Ubuntu 11.10, on Debian you still need to build from source), add the line "foreign-architecture armel" to /etc/dpkg/dpkg.cfg.d/multiarch, and install libgcc1:armel, libc6:armel, libstdc++6:armel, as well as any other shared libraries used by the application(s) you want to run (as well as qemu-user-static for your host architecture ofcourse).
Posted Dec 5, 2011 11:56 UTC (Mon)
by drag (guest, #31333)
[Link]
Combine that with Qemu's ability and Debian blows away 99% of the vendor provided platform SDKs that I have ran into.
Not that I am a expert on the subject.
Posted Dec 4, 2011 22:07 UTC (Sun)
by foom (subscriber, #14868)
[Link]
Posted Dec 4, 2011 6:44 UTC (Sun)
by ebirdie (guest, #512)
[Link] (1 responses)
> == Migration ==
Posted Dec 4, 2011 14:41 UTC (Sun)
by aliguori (subscriber, #30636)
[Link]
Posted Dec 4, 2011 10:26 UTC (Sun)
by geofft (subscriber, #59789)
[Link] (1 responses)
I at least have shell scripts that depend on running "qemu" with certain arguments. If the "qemu" tool does some target architecture detection and supports all the arguments the qemu-system-* command does, then that's fine (and then distributions can provide a symlink or a tiny shell script until the tool appears). If not, this seems a little backwards-incompatible, so I'm curious what the benefit is.
(Strictly speaking, I think I only have shell scripts that depend on running "kvm" with certain arguments, but I imagine the situation is similar.)
Posted Dec 4, 2011 14:36 UTC (Sun)
by aliguori (subscriber, #30636)
[Link]
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
http://www.lemote.com/bbs/viewthread.php?tid=5661
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
cp /usr/bin/qemu-arm-static path/to/new/chroot/usr/bin/
chroot path/to/new/chroot /deboostrap/deboostrap --second-stage
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released
> * QEMU now supports live migration using image files like QCOW2 on shared storage
QEMU 1.0 released
QEMU 1.0 released
QEMU 1.0 released