]> git.proxmox.com Git - qemu.git/log
qemu.git
15 years agoThe configure test for struct iovec #includes <sys/uio.h> but qemu-common.h did not.
blueswir1 [Sat, 6 Dec 2008 19:44:56 +0000 (19:44 +0000)]
The configure test for struct iovec #includes <sys/uio.h> but qemu-common.h did not.

This fixes compilation of hw/virtio.h on Mac OS X.

Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5894 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert dcr load/store to TCG
aurel32 [Sat, 6 Dec 2008 16:37:18 +0000 (16:37 +0000)]
target-ppc: convert dcr load/store to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5893 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert msr load/store to TCG
aurel32 [Sat, 6 Dec 2008 13:03:35 +0000 (13:03 +0000)]
target-ppc: convert msr load/store to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5892 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert POWER bridge instructions to TCG
aurel32 [Sat, 6 Dec 2008 12:19:14 +0000 (12:19 +0000)]
target-ppc: convert POWER bridge instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5891 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRevert "hw/apic.c: use fls() from host-utils"
aurel32 [Sat, 6 Dec 2008 10:46:35 +0000 (10:46 +0000)]
Revert "hw/apic.c: use fls() from host-utils"

This reverts commit 5876.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5890 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake struct iovec universally available
aliguori [Fri, 5 Dec 2008 20:05:26 +0000 (20:05 +0000)]
Make struct iovec universally available

Vectored IO APIs will require some sort of vector argument.  It makes sense to
use struct iovec and just define it globally for Windows.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5889 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAttached patch contains warning fixes.
blueswir1 [Fri, 5 Dec 2008 17:56:40 +0000 (17:56 +0000)]
Attached patch contains warning fixes.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5888 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAttached patch make cpu-exec.c compile on NetBSD.
blueswir1 [Fri, 5 Dec 2008 17:55:45 +0000 (17:55 +0000)]
Attached patch make cpu-exec.c compile on NetBSD.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5887 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAttached patch makes NetBSD use the native bswap functions
blueswir1 [Fri, 5 Dec 2008 17:54:09 +0000 (17:54 +0000)]
Attached patch makes NetBSD use the native bswap functions
which compile.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5886 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agosys-queue.h defines _SYS_QUEUE_H_ which is also defined by
blueswir1 [Fri, 5 Dec 2008 17:53:21 +0000 (17:53 +0000)]
sys-queue.h defines _SYS_QUEUE_H_ which is also defined by
the <sys/queue.h> system header. <sys/disk.h> uses SLIST_ENTRY
on NetBSD, which doesn't exist in sys-queue.h. Therefore,
include <sys/queue.h> before including sys-queue.h.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5885 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix PPC PREP platform, broken by commit 5849
aurel32 [Fri, 5 Dec 2008 16:05:41 +0000 (16:05 +0000)]
Fix PPC PREP platform, broken by commit 5849

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5884 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agohw/ppc4xx_pci.c: kill two warnings
aurel32 [Fri, 5 Dec 2008 16:05:32 +0000 (16:05 +0000)]
hw/ppc4xx_pci.c: kill two warnings

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5883 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert POWER shift instructions to TCG
aurel32 [Fri, 5 Dec 2008 07:21:44 +0000 (07:21 +0000)]
target-ppc: convert POWER shift instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5882 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: add functions to load/store SPR
aurel32 [Fri, 5 Dec 2008 07:21:31 +0000 (07:21 +0000)]
target-ppc: add functions to load/store SPR

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5881 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agodo boundary check based on absolute value (Glauber Costa)
aliguori [Thu, 4 Dec 2008 22:36:38 +0000 (22:36 +0000)]
do boundary check based on absolute value (Glauber  Costa)

For backward operations, dstpitch and srcpitch can
be negative. This leads BLTUNSAFE macro into an
overflow, and as a result, it avoids performing
operations that are perfectly valid.

The visible effect that led to that patch was the gnome-panel
bar in Fedora10. Before this patch, you could see garbage
clobbering a big portion of the bar.

After this patch, this garbage is gone.

Signed-off-by: Glauber Costa <glommer@redhat.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5880 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse writeback caching by default with qcow2
aliguori [Thu, 4 Dec 2008 21:39:21 +0000 (21:39 +0000)]
Use writeback caching by default with qcow2

qcow2 writes a cluster reference count on every cluster update.  This causes
performance to crater when using anything but cache=writeback.  This is most
noticeable when using savevm.  Right now, qcow2 isn't a reliable format
regardless of the type of cache your using because metadata is not updated in
the correct order.  Considering this, I think it's somewhat reasonable to use
writeback caching by default with qcow2 files.

It at least avoids the massive performance regression for users until we sort
out the issues in qcow2.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5879 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix RTC initial date computation
aurel32 [Thu, 4 Dec 2008 21:34:52 +0000 (21:34 +0000)]
Fix RTC initial date computation

qemu_get_clock() returns a structure containing the time the user wants
to be set (either UTC time, a local time, or a given date). Use mktimegm()
instead of mktime() to convert it into POSIX time without taking the host
timezone into account.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5878 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix windows build after virtio changes
aliguori [Thu, 4 Dec 2008 21:28:28 +0000 (21:28 +0000)]
Fix windows build after virtio changes

Windows does not have sys/uio.h and does not have err.h.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5877 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agohw/apic.c: use fls() from host-utils
aurel32 [Thu, 4 Dec 2008 20:57:02 +0000 (20:57 +0000)]
hw/apic.c: use fls() from host-utils

...and fix a bug, the implementation in hw/apic.c was wrong.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5876 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd missing file from previous commit.
aliguori [Thu, 4 Dec 2008 20:35:16 +0000 (20:35 +0000)]
Add missing file from previous commit.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5875 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd virtio-balloon support
aliguori [Thu, 4 Dec 2008 20:33:06 +0000 (20:33 +0000)]
Add virtio-balloon support

This adds a VirtIO based balloon driver.  It uses madvise() to actually balloon
the memory when possible.

Until 2.6.27, KVM forced memory pinning so we must disable ballooning unless the
kernel actually supports it when using KVM.  It's always safe when using TCG.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5874 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd ballooning infrastructure.
aliguori [Thu, 4 Dec 2008 20:19:35 +0000 (20:19 +0000)]
Add ballooning infrastructure.

Balloon devices allow you to ask the guest to allocate memory.  This allows you
to release that memory.  It's mostly useful for freeing up large chunks of
memory from cooperative guests.

Ballooning is supported by both Xen and VirtIO.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5873 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDefine fls() in terms of clz32().
aliguori [Thu, 4 Dec 2008 20:08:06 +0000 (20:08 +0000)]
Define fls() in terms of clz32().

As suggested by Laurent Desnogues.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5872 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRemove TARGET_PAGE_SIZE from virtio interface (Hollis Blanchard)
aliguori [Thu, 4 Dec 2008 19:58:45 +0000 (19:58 +0000)]
Remove TARGET_PAGE_SIZE from virtio interface (Hollis Blanchard)

TARGET_PAGE_SIZE should only be used internal to qemu, not in guest/host
interfaces. The virtio frontend code in Linux uses two constants (PFN shift
and vring alignment) for the interface, so update qemu to match.

I've tested this with PowerPC KVM and confirmed that it fixes virtio problems
when using non-TARGET_PAGE_SIZE pages in the guest.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5871 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd virtio-blk support
aliguori [Thu, 4 Dec 2008 19:52:44 +0000 (19:52 +0000)]
Add virtio-blk support

Virtio-blk is a paravirtual block device based on VirtIO.  It can be used by
specifying the if=virtio parameter to the -drive parameter.

When using -enable-kvm, it can achieve very good performance compared to IDE or
SCSI.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5870 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoVirtio core support
aliguori [Thu, 4 Dec 2008 19:38:57 +0000 (19:38 +0000)]
Virtio core support

This patch adds core support for VirtIO.  VirtIO is a paravirtualization
framework that has been in Linux since 2.6.21.  A PCI transport has been
available since 2.6.25.  Network drivers are also available for Windows.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5869 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce fls() helper
aliguori [Thu, 4 Dec 2008 19:19:45 +0000 (19:19 +0000)]
Introduce fls() helper

This is needed for virtio.  The implementation is originally from
Marcelo Tosatti.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5868 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoClarify -soundhw documentation as to avoid hda confusion
malc [Thu, 4 Dec 2008 18:01:26 +0000 (18:01 +0000)]
Clarify -soundhw documentation as to avoid hda confusion

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5867 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUpdate
malc [Thu, 4 Dec 2008 11:29:42 +0000 (11:29 +0000)]
Update

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5866 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSilence warnings generated due to `#if BUILD_Y8950'
malc [Wed, 3 Dec 2008 23:00:35 +0000 (23:00 +0000)]
Silence warnings generated due to `#if BUILD_Y8950'

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5865 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake audio violate POSIX less
malc [Wed, 3 Dec 2008 22:48:44 +0000 (22:48 +0000)]
Make audio violate POSIX less

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5864 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMore consistent PAGE_xxx defines, avoid conflicting with system PAGE_xxx
blueswir1 [Wed, 3 Dec 2008 16:29:47 +0000 (16:29 +0000)]
More consistent PAGE_xxx defines, avoid conflicting with system PAGE_xxx

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5863 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIBM PowerPC 4xx 32-bit PCI controller emulation
aurel32 [Tue, 2 Dec 2008 23:53:50 +0000 (23:53 +0000)]
IBM PowerPC 4xx 32-bit PCI controller emulation

This PCI controller can be found on a number of 4xx SoCs, including the 440EP.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Acked-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5862 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoChange order of metadata update to prevent loosing guest data because of unexpected...
aliguori [Tue, 2 Dec 2008 20:14:05 +0000 (20:14 +0000)]
Change order of metadata update to prevent loosing guest data because of unexpected exit (Gleb Natapov)

Currently the order is this (during cow since it's the interesting case):
1. Decrement refcount of old clusters
2. Increment refcount for newly allocated clusters
3. Copy content of old sectors that will not be rewritten
4. Update L2 table with pointers to new clusters
5. Write guest data into new clusters (asynchronously)

There are several problems with this order. The first one is that if qemu
crashes (or killed or host reboots) after new clusters are linked into L2
table but before user data is written there, then on the next reboot guest
will find neither old data nor new one in those sectors and this is not
what gust expects even when journaling file system is in use.  The other
problem is that if qemu is killed between steps 1 and 4 then refcount
of old cluster will be incorrect and may cause snapshot corruption.

The patch change the order to be like this:
1. Increment refcount for newly allocated clusters
2. Write guest data into new clusters (asynchronously)
3. Copy content of old sectors that were not rewritten
4. Update L2 table with pointers to new clusters
5. Decrement refcount of old clusters

Unexpected crash may cause cluster leakage, but guest data should be safe.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5861 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCleanup {alloc|get}_cluster_offset() (Gleb Natapov)
aliguori [Tue, 2 Dec 2008 20:11:27 +0000 (20:11 +0000)]
Cleanup {alloc|get}_cluster_offset() (Gleb Natapov)

Move duplicated code into helper functions.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5860 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoWrite table offset and size in one syscall (Gleb Natapov)
aliguori [Tue, 2 Dec 2008 20:10:14 +0000 (20:10 +0000)]
Write table offset and size in one syscall (Gleb Natapov)

Otherwise if VM is killed between two writes data may be lost.
But if offset and size fields are at the same disk block one
write should update them both simultaneously.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5859 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce new helper function qcow_shedule_bh() (Gleb Natapov)
aliguori [Tue, 2 Dec 2008 20:08:04 +0000 (20:08 +0000)]
Introduce new helper function qcow_shedule_bh() (Gleb Natapov)

Use it to remove code duplications from qcow_aio_read_cb().

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5858 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRemove tabs from qcow_aio_read_cb(). (Gleb Natapov)
aliguori [Tue, 2 Dec 2008 20:06:51 +0000 (20:06 +0000)]
Remove tabs from qcow_aio_read_cb(). (Gleb Natapov)

Fix indentation.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5857 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoExclude unix: from vnc call to unix_listen() (Ryan Harper)
aliguori [Tue, 2 Dec 2008 20:02:14 +0000 (20:02 +0000)]
Exclude unix: from vnc call to unix_listen() (Ryan Harper)

When using an existing unix socket like:

 -vnc unix:/tmp/file1Y2nY2

qemu fails to bind a unix socket because the vnc call to unix_listen includes
the unix: prefix and stores that in the unix.sun_path.  The fix is to not pass
in unix: for the filename (same way qemu-char.c does it).

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5856 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix register name typo in dumping debug registers (Jan Kiszka)
aliguori [Tue, 2 Dec 2008 19:40:26 +0000 (19:40 +0000)]
Fix register name typo in dumping debug registers (Jan Kiszka)

Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5855 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRemove address masking after some rearranging
blueswir1 [Tue, 2 Dec 2008 17:51:19 +0000 (17:51 +0000)]
Remove address masking after some rearranging

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5854 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRemove address masking
blueswir1 [Tue, 2 Dec 2008 17:47:02 +0000 (17:47 +0000)]
Remove address masking

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5853 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCosmetic cleanups to previous patch.
pbrook [Tue, 2 Dec 2008 09:02:15 +0000 (09:02 +0000)]
Cosmetic cleanups to previous patch.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5852 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoReset the key modifiers upon client connect
malc [Mon, 1 Dec 2008 20:57:52 +0000 (20:57 +0000)]
Reset the key modifiers upon client connect

VNC should not maintain modifer state upon reconnects With some window
managers/vnc clients it will only see a key down event for a modifier
followed by immediate disconnect(think Alt-F4), with a net effect of
subsequently connected clients operating as if the modifier was never
released.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5851 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd basic audio functionality to vnc.c
malc [Mon, 1 Dec 2008 20:57:48 +0000 (20:57 +0000)]
Add basic audio functionality to vnc.c

This allows among other things to capturing A/V of running
guests. Ad-hoc client that does this (via script that invokes ffmpeg)
can be found at:
http://repo.or.cz/w/qemu/malc.git?a=tree;f=vcap;hb=capture3

Thanks to Anthony Liguori for comments and review.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5850 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoChange MMIO callbacks to use offsets, not absolute addresses.
pbrook [Mon, 1 Dec 2008 18:59:50 +0000 (18:59 +0000)]
Change MMIO callbacks to use offsets, not absolute addresses.

Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5849 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAllocate cleared memory for cpu state.
pbrook [Mon, 1 Dec 2008 14:29:13 +0000 (14:29 +0000)]
Allocate cleared memory for cpu state.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5848 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoarm: Don't potentially overwrite input registers in add2, sub2.
balrog [Mon, 1 Dec 2008 11:57:21 +0000 (11:57 +0000)]
arm: Don't potentially overwrite input registers in add2, sub2.

According to malc TCG will often genereate an add2/sub2/mul2 with low
half of the output in the same register as high half of one of the
inputs, so account for that.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5847 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix the comment added in r5844.
balrog [Mon, 1 Dec 2008 02:19:41 +0000 (02:19 +0000)]
Fix the comment added in r5844.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5846 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDon't rely on ARM tcg_out_goto() generating just a single insn.
balrog [Mon, 1 Dec 2008 02:17:12 +0000 (02:17 +0000)]
Don't rely on ARM tcg_out_goto() generating just a single insn.

Otherwise when tb_exit generates a jump beyond the pc-relative range,
tcg_out_goto() spans two/three instructions and we load the tb return
value from a wrong address.  This is #ifdefed out currently because
we take care for the jumps to be local.
Problem spotted by Steffen Liebergeld.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5845 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoarm: Reserve code buffer in memory range reachable for pc-relative branch.
balrog [Mon, 1 Dec 2008 02:10:17 +0000 (02:10 +0000)]
arm: Reserve code buffer in memory range reachable for pc-relative branch.

Unfortunately this range is so narrow that I'm not sure if it makes more
sense to always use memory load to pc kind of branch instead.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5844 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse libgcc __clear_cache to clean icache, when available.
balrog [Mon, 1 Dec 2008 02:02:37 +0000 (02:02 +0000)]
Use libgcc __clear_cache to clean icache, when available.

Calling the clear cache syscall directly generates an illegal instruction
on some (armv4) kernels.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5843 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix a typo preventing GNUC builtins usage.
balrog [Mon, 1 Dec 2008 01:53:55 +0000 (01:53 +0000)]
Fix a typo preventing GNUC builtins usage.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5842 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix pmovsx* / pmovzx* SSE instructions (original fix by Frank Mehnert).
balrog [Mon, 1 Dec 2008 01:52:37 +0000 (01:52 +0000)]
Fix pmovsx* / pmovzx* SSE instructions (original fix by Frank Mehnert).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5841 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDon't try to select on an invalid VNC socket when init fails.
balrog [Mon, 1 Dec 2008 01:48:36 +0000 (01:48 +0000)]
Don't try to select on an invalid VNC socket when init fails.

Otherwise we get a segfault.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5840 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoqemu-img: open files with cache=writeback
aurel32 [Sun, 30 Nov 2008 19:12:49 +0000 (19:12 +0000)]
qemu-img: open files with cache=writeback

Data integrity is not important in qemu-img, so open the files with
cache=writeback. This fixes the performance regression seen with qemu-img
since revision 5485, and most particularly with the qcow2 format.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5839 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: remove unused file op_mem_access.h
aurel32 [Sun, 30 Nov 2008 17:54:28 +0000 (17:54 +0000)]
target-ppc: remove unused file op_mem_access.h

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5838 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: use ldl/ldub/stl/stub for load/store in op_helper.c
aurel32 [Sun, 30 Nov 2008 17:54:21 +0000 (17:54 +0000)]
target-ppc: use ldl/ldub/stl/stub for load/store in op_helper.c

Should not give any performance penality given cpu_mmu_index() is
an inline function returning a value from env.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5837 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert PPC 440 instructions to TCG
aurel32 [Sun, 30 Nov 2008 17:26:29 +0000 (17:26 +0000)]
target-ppc: convert PPC 440 instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5836 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSpelling and grammar fixes
aurel32 [Sun, 30 Nov 2008 16:25:37 +0000 (16:25 +0000)]
Spelling and grammar fixes

Minor fixes of spelling and grammar in comments and documentation

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5835 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warning from sparse (wrong declaration)
aurel32 [Sun, 30 Nov 2008 16:25:17 +0000 (16:25 +0000)]
Fix warning from sparse (wrong declaration)

Fix data type (this fixes a warning from sparse)

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5834 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warning from sparse
aurel32 [Sun, 30 Nov 2008 16:25:05 +0000 (16:25 +0000)]
Fix warning from sparse

Remove unnecessary declaration for errno (this fixes a warning from sparse)

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5833 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert return from interrupt instructions to TCG
aurel32 [Sun, 30 Nov 2008 16:24:55 +0000 (16:24 +0000)]
target-ppc: convert return from interrupt instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5832 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert external load/store instructions to TCG
aurel32 [Sun, 30 Nov 2008 16:24:47 +0000 (16:24 +0000)]
target-ppc: convert external load/store instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5831 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert load/store with reservation instructions to TCG
aurel32 [Sun, 30 Nov 2008 16:24:39 +0000 (16:24 +0000)]
target-ppc: convert load/store with reservation instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5830 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert lscbx instruction to TCG
aurel32 [Sun, 30 Nov 2008 16:24:30 +0000 (16:24 +0000)]
target-ppc: convert lscbx instruction to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5829 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert load/store string instructions to TCG
aurel32 [Sun, 30 Nov 2008 16:24:21 +0000 (16:24 +0000)]
target-ppc: convert load/store string instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5828 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert icbi instruction to TCG
aurel32 [Sun, 30 Nov 2008 16:24:13 +0000 (16:24 +0000)]
target-ppc: convert icbi instruction to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5827 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert dcbz instruction to TCG
aurel32 [Sun, 30 Nov 2008 16:24:05 +0000 (16:24 +0000)]
target-ppc: convert dcbz instruction to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5826 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert load/store multiple instructions to TCG
aurel32 [Sun, 30 Nov 2008 16:23:56 +0000 (16:23 +0000)]
target-ppc: convert load/store multiple instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5825 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert wait instruction to TCG
aurel32 [Sun, 30 Nov 2008 16:23:46 +0000 (16:23 +0000)]
target-ppc: convert wait instruction to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5824 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert mfrom instruction to TCG
aurel32 [Sun, 30 Nov 2008 16:23:35 +0000 (16:23 +0000)]
target-ppc: convert mfrom instruction to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5823 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: remove dead code from op.c
aurel32 [Sun, 30 Nov 2008 16:23:25 +0000 (16:23 +0000)]
target-ppc: remove dead code from op.c

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5822 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agogdbstub: Fix access to PPC FPRs
aurel32 [Sun, 30 Nov 2008 16:23:18 +0000 (16:23 +0000)]
gdbstub: Fix access to PPC FPRs

Obviously, someone forgot to rebase the index before accessing one of
the 32 FPRs.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5821 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCommon cpu_loop_exit prototype
aurel32 [Sun, 30 Nov 2008 16:23:09 +0000 (16:23 +0000)]
Common cpu_loop_exit prototype

All archs use the same cpu_loop_exit, so move the prototype in a common
header. i386 was carrying a __hidden attribute, but that was empty for
this arch anyway.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5820 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert software TLB instructions to TCG
aurel32 [Sun, 30 Nov 2008 16:22:56 +0000 (16:22 +0000)]
target-ppc: convert software TLB instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5819 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix ICCS command (Herve Poussineau)
blueswir1 [Sun, 30 Nov 2008 10:24:13 +0000 (10:24 +0000)]
Fix ICCS command (Herve Poussineau)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5818 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoHandle SDL log just like other temporary files
malc [Sat, 29 Nov 2008 22:04:31 +0000 (22:04 +0000)]
Handle SDL log just like other temporary files

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5817 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse trap shell builtin to remove temporary files
malc [Sat, 29 Nov 2008 20:09:56 +0000 (20:09 +0000)]
Use trap shell builtin to remove temporary files

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5816 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix alignment of 64bit args
malc [Sat, 29 Nov 2008 19:55:15 +0000 (19:55 +0000)]
Fix alignment of 64bit args

Unbreaks sparc and mips64el. (Reported by Thiemo Seufer)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5815 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix 'enable selection' command (esp_4_ensel.diff)
blueswir1 [Sat, 29 Nov 2008 16:51:42 +0000 (16:51 +0000)]
Fix 'enable selection' command (esp_4_ensel.diff)
Indicate success after 'enable selection' command

Signed-off-by: Herve Poussineau <hpoussin@reactos.org>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5814 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix command len detection (esp_3_cmdlen.diff)
blueswir1 [Sat, 29 Nov 2008 16:51:02 +0000 (16:51 +0000)]
Fix command len detection (esp_3_cmdlen.diff)
When command is not DMA, TCMID and TCLO registers are not filled. Use command buffer len instead

Signed-off-by: Herve Poussineau <hpoussin@reactos.org>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5813 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix configuration 2 register (esp_2_cfg2.diff):
blueswir1 [Sat, 29 Nov 2008 16:48:29 +0000 (16:48 +0000)]
Fix configuration 2 register (esp_2_cfg2.diff):
According to http://www.ibiblio.org/pub/historic-linux/early-ports/Sparc/NCR/NCR53C9X.txt,
"Any bit pattern written to this register may be read back and should be identical"

Signed-off-by: Herve Poussineau <hpoussin@reactos.org>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5812 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMisc fixes (Herve Poussineau)
blueswir1 [Sat, 29 Nov 2008 16:45:28 +0000 (16:45 +0000)]
Misc fixes (Herve Poussineau)
- Fix internal fifo size (16 bytes), according to http://www.ibiblio.org/pub/historic-linux/early-ports/Sparc/NCR/NCR53C9X.txt
- Fix values of STAT_MI and STAT_MO
- Give a scsi ID to adapter, and prevent this ID to be used by devices
- Prevent fifo overrun in esp_mem_writeb
- Add a ESP_ERROR macro, and use it where appropriate

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5811 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDon't rely on the fact that MAX_FD is 2 (Herve Poussineau)
blueswir1 [Sat, 29 Nov 2008 16:42:40 +0000 (16:42 +0000)]
Don't rely on the fact that MAX_FD is 2 (Herve Poussineau)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5810 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoPrepare for handling different BSD mmap() flags
blueswir1 [Sat, 29 Nov 2008 14:05:16 +0000 (14:05 +0000)]
Prepare for handling different BSD mmap() flags

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5809 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix comment typo.
pbrook [Sat, 29 Nov 2008 13:33:23 +0000 (13:33 +0000)]
Fix comment typo.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5808 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoqemu-doc.texi: rewrite the documentation for the -net option
aurel32 [Fri, 28 Nov 2008 11:17:43 +0000 (11:17 +0000)]
qemu-doc.texi: rewrite the documentation for the -net option

Addresses comments from Jamie Lokier.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5807 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoqemu-doc.texi: document downscript network option
aurel32 [Fri, 28 Nov 2008 10:11:17 +0000 (10:11 +0000)]
qemu-doc.texi: document downscript network option

From Guido Günther, through the Debian BTS.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5806 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert POWER2 load/store instructions to TCG
aurel32 [Thu, 27 Nov 2008 19:30:56 +0000 (19:30 +0000)]
target-ppc: convert POWER2 load/store instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5805 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: convert SPE load/store to TCG
aurel32 [Thu, 27 Nov 2008 19:30:47 +0000 (19:30 +0000)]
target-ppc: convert SPE load/store to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5804 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: simplify evsplati and evsplatfi
aurel32 [Thu, 27 Nov 2008 19:30:38 +0000 (19:30 +0000)]
target-ppc: simplify evsplati and evsplatfi

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5803 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: Add support for STOP/CONT signals.
ths [Thu, 27 Nov 2008 15:47:15 +0000 (15:47 +0000)]
linux-user: Add support for STOP/CONT signals.

Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5802 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: sig is target signal.
ths [Thu, 27 Nov 2008 15:46:25 +0000 (15:46 +0000)]
linux-user: sig is target signal.

Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5801 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake installing bios files optional.
ths [Thu, 27 Nov 2008 15:45:16 +0000 (15:45 +0000)]
Make installing bios files optional.

Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5800 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse sys-queue.h for break/watchpoint managment (Jan Kiszka)
aliguori [Tue, 25 Nov 2008 22:13:57 +0000 (22:13 +0000)]
Use sys-queue.h for break/watchpoint managment (Jan Kiszka)

This switches cpu_break/watchpoint_* to TAILQ wrappers, simplifying the
code and also fixing a use after release issue in
cpu_break/watchpoint_remove_all.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5799 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd TAILQ_FOREACH_SAFE (Jan Kiszka)
aliguori [Tue, 25 Nov 2008 22:05:37 +0000 (22:05 +0000)]
Add TAILQ_FOREACH_SAFE (Jan Kiszka)

Add TAILQ iterator that allows to safely remove elements while walking
the list.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5798 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAbstract out geometry detection code from IDE for reuse
aliguori [Tue, 25 Nov 2008 21:50:24 +0000 (21:50 +0000)]
Abstract out geometry detection code from IDE for reuse

Virtio will want to use the geometry detection code.  It doesn't belong
in ide.c anyway.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5797 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRevert r5636 to fix icount on hosts w/o high-res clocks
aliguori [Tue, 25 Nov 2008 17:26:09 +0000 (17:26 +0000)]
Revert r5636 to fix icount on hosts w/o high-res clocks

Changeset r5636 changed the timers to run in the alarm callback.  The
alarm callback can only be called as frequently as the host alarm timer
fires.  For older Linux hosts and possibly non-Linux hosts, this can be
as high as a 1ms granularity.

icount calculates the select timeout based on the next deadline and
select is usually capable of sleeping for a short period of time than
alarm timer granularity.  This means that changing the timer callbacks
to be based on alarm firing caused timers to fire much later than they
ought to when using icount.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5796 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoi386: remove unused function prototypes (Laurent Desnogues)
aliguori [Tue, 25 Nov 2008 17:19:45 +0000 (17:19 +0000)]
i386: remove unused function prototypes (Laurent Desnogues)

This patch removes two unused prototypes from i386 target exec.h file.

Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5795 c046a42c-6fe2-441c-8c8c-71466251a162