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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
blueswir1 [Tue, 25 Nov 2008 16:49:33 +0000 (16:49 +0000)]
Fix usb-stub compilation
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5794
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 20:21:41 +0000 (20:21 +0000)]
vga optimization (Glauber Costa)
Hypervisors like KVM perform badly while doing mmio on
a loop, because it'll generate an exit on each access.
This is the case with VGA, which results in very bad
performance.
In this patch, we map the linear frame buffer as RAM,
make sure it has dirty region tracking enabled, and then
just let the region to be written.
Cleanups suggestions by:
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5793
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 19:36:26 +0000 (19:36 +0000)]
kvm: Introduce kvm logging interface (Glauber Costa)
Introduce functions to control logging of memory regions.
We select regions based on its start address, a
guest_physical_addr (target_phys_addr_t, in qemu nomenclature).
The main user of this interface right now is VGA optimization
(a way of reducing the number of mmio exits).
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5792
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 19:35:16 +0000 (19:35 +0000)]
move vga_io_address to VGA State (Glauber Costa)
It'll be reused later by the vga optimization.
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5791
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 19:33:59 +0000 (19:33 +0000)]
better type checking for vga (Glauber Costa)
unsigned long is too bad of a type. Use ram_addr_t instead.
aligurori: fixed a compile warning in this patch
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5790
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 19:29:13 +0000 (19:29 +0000)]
Introduce accessors for DisplayState (Stefano Stabellini)
Introducing some accessors:
ds_get_linesize
ds_get_bits_per_pixel
ds_get_width
ds_get_height
ds_get_data
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5789
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 24 Nov 2008 11:28:19 +0000 (11:28 +0000)]
target-ppc: convert trap instructions to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5788
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 24 Nov 2008 08:47:21 +0000 (08:47 +0000)]
target-ppc: convert altivec load/store to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5787
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 23 Nov 2008 16:30:50 +0000 (16:30 +0000)]
target-ppc: convert FPU load/store to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5786
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 23 Nov 2008 16:30:40 +0000 (16:30 +0000)]
target-ppc: fix access_type usage
Write env->access_type before a load/store operation instead of relying
on the name of the dyngen operation.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5785
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 23 Nov 2008 16:30:28 +0000 (16:30 +0000)]
target-ppc: include the instruction name in load/store handlers name
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5784
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 23 Nov 2008 10:54:04 +0000 (10:54 +0000)]
target-ppc: convert SPE FP ops to TCG
Including a few bug fixes:
- Don't clear high part for instruction with 32-bit destination
- Fix efscmp* and etstcmp* return value
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5783
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 23 Nov 2008 07:27:59 +0000 (07:27 +0000)]
Fix typo reported by Thiemo Seufer
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5782
c046a42c-6fe2-441c-8c8c-
71466251a162