OSDN Git Service
aurel32 [Fri, 10 Apr 2009 21:56:32 +0000 (21:56 +0000)]
target-mips: fix commit r7076
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7078
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 10 Apr 2009 21:42:18 +0000 (21:42 +0000)]
target-mips: optimize gen_movcf_d()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7077
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 10 Apr 2009 21:41:53 +0000 (21:41 +0000)]
target-mips: optimize a few tcg_temp_free()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7076
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 10 Apr 2009 21:27:48 +0000 (21:27 +0000)]
target-alpha: remove amask helper
The direct use of helper_amask in translate.c was bogus (as env is not
assigned). Directly code amask in tcg and remove the helper.
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7075
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 10 Apr 2009 21:27:31 +0000 (21:27 +0000)]
target-alpha: remove helper_load_implver
There is no need to use an helper. Directly load the value with tcg code.
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7074
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 10 Apr 2009 21:27:15 +0000 (21:27 +0000)]
target-alpha: overflow condition for sublv and subqv
The conditions to detect overflow in sub operations was wrong.
This patch is necessary to boot Tru64.
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7073
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 10 Apr 2009 21:26:55 +0000 (21:26 +0000)]
Clean up rc4030 init function
At the moment, rc4030 init function is returning some function pointers.
Mark them non-static and define them in header file instead.
Export also a function to read/write DMA memory, it will be required by
the netcard.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7072
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 10 Apr 2009 20:48:17 +0000 (20:48 +0000)]
Make PCI config status register read-only
From the documentation I can find, this register is supposed to be read-only.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7070
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Fri, 10 Apr 2009 16:23:59 +0000 (16:23 +0000)]
Wean device tree code off phys_ram_base.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7068
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Fri, 10 Apr 2009 14:29:45 +0000 (14:29 +0000)]
Yet more phys_ram_base elimination.
Signed-off-by: Paul Brook <paul@cofdesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7067
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Fri, 10 Apr 2009 13:00:29 +0000 (13:00 +0000)]
BSD user: add support for OpenBSD/amd64 host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7066
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Fri, 10 Apr 2009 07:29:34 +0000 (07:29 +0000)]
BSD user: add support for OpenBSD/i386 host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7065
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Fri, 10 Apr 2009 03:36:49 +0000 (03:36 +0000)]
More phys_ram_base elimination.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7064
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Fri, 10 Apr 2009 02:24:36 +0000 (02:24 +0000)]
Clean up VGA ram allocation.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7063
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Fri, 10 Apr 2009 02:19:52 +0000 (02:19 +0000)]
Fix RTC breakage from r7031.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7062
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Fri, 10 Apr 2009 01:24:26 +0000 (01:24 +0000)]
Musicpal ram access cleanup.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7061
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Fri, 10 Apr 2009 00:26:15 +0000 (00:26 +0000)]
More phys_ram_base removal.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7060
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Thu, 9 Apr 2009 22:21:07 +0000 (22:21 +0000)]
Cleanup SPARC/TCX framebuffer allocation.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7059
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Thu, 9 Apr 2009 21:02:04 +0000 (21:02 +0000)]
Use cpu_physical_memory_write_rom instead of memcpy.
Signed-off-by: Glauber Costa <glommer@redhat.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7058
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Thu, 9 Apr 2009 20:59:05 +0000 (20:59 +0000)]
Register a single area for vga bios and option roms
Those guys are not different in nature. They're all roms,
not blessed with the graces of being written to. So there's
not need to issue multiple requests to memory registration areas:
just treat them as brothers, and put them all in the same
region.
It also has the nice side effect of improving the loading code
a little bit. Besides some of the ugliness going away, we're now
avoiding phys_ram_base dependencies in option rom code.
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7057
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Thu, 9 Apr 2009 20:05:49 +0000 (20:05 +0000)]
Use load_image_targphys and avoid phys_ram_base.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7056
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Thu, 9 Apr 2009 17:48:30 +0000 (17:48 +0000)]
More phys_ram_base removal.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7055
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Thu, 9 Apr 2009 17:30:32 +0000 (17:30 +0000)]
Use load_image_targphys.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7054
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Thu, 9 Apr 2009 17:19:47 +0000 (17:19 +0000)]
Use guest memory access functions when setting up arm boorloader.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7053
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Thu, 9 Apr 2009 17:15:18 +0000 (17:15 +0000)]
Use qemu_ram_alloc.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7052
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Thu, 9 Apr 2009 15:20:50 +0000 (15:20 +0000)]
Enable generic accepts-anything cpu by default for usermode emulation.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7051
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 23:07:05 +0000 (23:07 +0000)]
linux-user: fix fstatat64()/newfstatat() syscall implementation
There are two different syscall names for the same goal.
On systems with sizeof(long) == 64 it calls newfstatat.
On systems with sizeof(long) == 32 it calls fstatat64.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7050
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 22:56:33 +0000 (22:56 +0000)]
pcnet: Avoid double conversion via PHYSADDR
rdra and tdra are already kept converted in the pcnet state structure.
Avoid converting derivatives a second time. The same case with the local
variable xmit_cxda: it already contains a converted cxda address. This
issue only causes troubles when using the pcnet in 16-bit legacy mode.
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@7049
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 22:56:26 +0000 (22:56 +0000)]
apic: Fix access to non-existent APIC
When running with -M isapc, there is no env->apic_state. Fix
cpu_get/set_apic_* helpers to handle this corner case gracefully.
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@7048
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 22:56:19 +0000 (22:56 +0000)]
Use stdint.h for integral data types and definitions
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@7047
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 21:48:27 +0000 (21:48 +0000)]
target-mips: optimize gen_farith()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7046
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 21:48:18 +0000 (21:48 +0000)]
target-mips: optimize gen_flt3_arith()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7045
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 21:48:10 +0000 (21:48 +0000)]
target-mips: optimize gen_flt3_ldst()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7044
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 21:48:02 +0000 (21:48 +0000)]
target-mips: optimize gen_arith()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7043
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 21:47:55 +0000 (21:47 +0000)]
target-mips: optimize decode_opc()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7042
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 21:47:44 +0000 (21:47 +0000)]
target-mips: optimize gen_cp1()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7041
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 21:47:35 +0000 (21:47 +0000)]
target-mips: optimize gen_cp0()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7040
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 21:29:37 +0000 (21:29 +0000)]
factor out setting pc in gdbstub
The code for handling the c and s packets both contain code for setting
the pc. Move that code out to a common function.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Acked-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@7039
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 8 Apr 2009 21:29:30 +0000 (21:29 +0000)]
linux-user: fix problems with inotify syscalls
The sys_inotify* calls are defined if the target supports them and the
host supports the necessary syscalls. But the syscalls are handled if
the target supports them. This situation leads to compilation failures
when the host doesn't support the necessary syscalls, as the linker will
complain about undefined functions.
Fix this state of affairs by making the handling conditions the same as
the call definition conditions.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Acked-By: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7038
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 8 Apr 2009 13:14:12 +0000 (13:14 +0000)]
Update the version information to 0.10.50 to signify development branch
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7037
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Tue, 7 Apr 2009 23:17:49 +0000 (23:17 +0000)]
Add --with-pkgversion.
Allows distributors to identify their builds without needing to hack the
sources.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7036
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Tue, 7 Apr 2009 22:58:45 +0000 (22:58 +0000)]
Implement --version.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7035
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 22:48:36 +0000 (22:48 +0000)]
target-arm: don't use T[x] in helper
(Torbjörn Andersson)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7034
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 22:31:34 +0000 (22:31 +0000)]
target-alpha: fix palcode mask for user pal calls
(Also 6 bits for unprivileged calls)
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7033
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 22:31:26 +0000 (22:31 +0000)]
target-alpha: document more registers used by 21264
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7032
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 22:28:50 +0000 (22:28 +0000)]
mc146818: add square wave output support
This is necessary for es40 as the sqw output is directly connected to the
core chipset.
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7031
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 22:03:44 +0000 (22:03 +0000)]
rc4030 registers improvements
Attached patch documents some registers and simplifies one hack.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7030
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 21:47:34 +0000 (21:47 +0000)]
target-alpha: set target page size to 13 bits
(As defined by the alpha arch ref).
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7029
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 21:47:27 +0000 (21:47 +0000)]
Allow 5 mmu indexes.
This is necessary for alpha because it has 4 protection levels and pal mode.
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7028
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 21:44:52 +0000 (21:44 +0000)]
target-alpha: stop translation if too long
Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7027
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 7 Apr 2009 20:55:58 +0000 (20:55 +0000)]
Fix crash on resolution change -> screen dump -> vga redraw (Avi Kivity)
The vga screen dump function updates last_width and last_height,
but does not change the DisplaySurface that these variables describe.
A consequent vga_draw_graphic() will therefore fail to resize the
surface and crash.
Fix by invalidating the display state after a screen dump, forcing
vga_draw_graphic() to reallocate the DisplaySurface.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7026
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 7 Apr 2009 20:55:29 +0000 (20:55 +0000)]
Revert r6989
There is a much more elegant fix that will follow up after this commit.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7025
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 19:57:24 +0000 (19:57 +0000)]
tcg/tcg.h: fix a few typos
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7024
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 19:57:17 +0000 (19:57 +0000)]
Document some missing options in configure -h
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7023
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 7 Apr 2009 19:57:09 +0000 (19:57 +0000)]
vnc: Fix incorrect attempt to clear a flag
In vnc.c in pixel_format_message, the code tries to clear the
QEMU_ALLOCATED_FLAG from the client display surface, however
it uses the wrong operator and ends up enabling all other
flags. Most notably this enables the big endian flag and
causes some chaos.
Signed-off-by: Brian Kress <kressb@moose.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7022
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 7 Apr 2009 18:43:28 +0000 (18:43 +0000)]
native preadv/pwritev support (Christoph Hellwig)
This ties up the preadv/pwritev syscalls to qemu if they are declared in
unistd.h. This is the case currently on at least NetBSD and OpenBSD and
will hopefully soon be the case on Linux.
Thanks to Blue Swirl and Gerd Hoffmann for the configure autodetection
of preadv/pwritev.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7021
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 7 Apr 2009 18:43:24 +0000 (18:43 +0000)]
push down vector linearization to posix-aio-compat.c (Christoph Hellwig)
Make all AIO requests vectored and defer linearization until the actual
I/O thread. This prepares for using native preadv/pwritev.
Also enables asynchronous direct I/O by handling that case in the I/O thread.
Qcow and qcow2 propably want to be adopted to directly deal with multi-segment
requests, but that can be implemented later.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7020
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 7 Apr 2009 18:43:20 +0000 (18:43 +0000)]
remove bdrv_aio_read/bdrv_aio_write (Christoph Hellwig)
Always use the vectored APIs to reduce code churn once we switch the BlockDriver
API to be vectored.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7019
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 7 Apr 2009 18:23:51 +0000 (18:23 +0000)]
more BlockDriver C99 initializers (Christoph Hellwig)
Looks like the two bdrv_raw instances were missed last time.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7018
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 7 Apr 2009 18:22:35 +0000 (18:22 +0000)]
Don't try to return result from a void function (spotted by Sparse)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7017
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 7 Apr 2009 17:57:09 +0000 (17:57 +0000)]
Fix a few Sparse warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7016
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 7 Apr 2009 02:19:41 +0000 (02:19 +0000)]
Update Changelog to reflect 0.10.2 release
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7015
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Tue, 7 Apr 2009 02:10:16 +0000 (02:10 +0000)]
Remove potentially offensive humor.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7014
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 7 Apr 2009 01:24:53 +0000 (01:24 +0000)]
Fix find_device_type() to correctly identify floppy disk devices; (Luca Tettamanti)
they are reported as DRIVE_REMOVABLE by win32.
Signed-off-by: Luca Tettamanti <kronos.it@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7010
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 6 Apr 2009 12:34:07 +0000 (12:34 +0000)]
target-mips: use the TCG_CALL_PURE and TCG_CALL_CONST for some helpers
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7009
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 6 Apr 2009 12:33:59 +0000 (12:33 +0000)]
tcg: add a CONST flag to TCG helpers
A const function only reads its arguments and does not use TCG
globals variables. Hence a call to such a function does not
save TCG globals variabes back to their canonical location.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7008
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 6 Apr 2009 12:33:51 +0000 (12:33 +0000)]
tcg: improve comment about pure functions
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7007
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 6 Apr 2009 00:35:08 +0000 (00:35 +0000)]
Remove WIN32 guard around -k
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7006
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 5 Apr 2009 20:08:59 +0000 (20:08 +0000)]
Add new command line option -singlestep for tcg single stepping.
This replaces a compile time option for some targets and adds
this feature to targets which did not have a compile time option.
Add monitor command to enable or disable single step mode.
Modify monitor command "info status" to display single step mode.
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@7004
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 5 Apr 2009 20:08:50 +0000 (20:08 +0000)]
tcg/x86_64: optimize register allocation order
The beginning of the register allocation order list on the TCG x86_64
target matches the list of clobbered registers. This means that when an
helper is called, there is almost always clobbered registers that have
to be spilled.
The same way register %rsi and %rdi are at the top of the register
allocation order list, while they can't be used for load/store
operations. This means the data and/or address registers are very often
%rsi and %rdi, and their values have to be spilled, and then moved back
to another register.
This patches changes to the allocation order to avoid those effects.
It results in a 8% gain speed in qemu-x86_64 to compress a bzip2 file,
and a 6% gain in qemu-system-mips64 to compile a small application.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7003
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 19:30:55 +0000 (19:30 +0000)]
stop dirty tracking just at the end of migration (Glauber Costa)
If there is still work to do, it is not safe to assume we
can end the dirty tracking. Specifically, kvm can update the dirty
tracking log inside ram_save_block(), leaving pages still out of sync
if we go with the current code.
Based on a patch by Yaniv Kamay
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@6999
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 19:30:51 +0000 (19:30 +0000)]
create qemu_file_set_error (Glauber Costa)
This is mainly for consistency, since we don't want
anything outside of savevm setting it explicitly. There
are current no users of that in qemu tree, but there
are potential candidates on kvm-userspace. And avi
is a nice guy, let's be nice with him.
Based on a patch by Yaniv Kamay
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@6998
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 19:30:33 +0000 (19:30 +0000)]
propagate error on failed completion (Glauber Costa)
migrate_fd_put_ready() calls qemu_savevm_state_complete(),
but the later can fail.
If it happens, re-start the vm and propagate the error up
Based on a patch by Yaniv Kamay
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@6997
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 19:29:26 +0000 (19:29 +0000)]
Disable qemu-io on Win32
It breaks the build.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6996
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 19:14:04 +0000 (19:14 +0000)]
Add files not included in previous commit.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6995
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 19:10:55 +0000 (19:10 +0000)]
Fix savevm after BDRV_FILE size enforcement
We now enforce that you cannot write beyond the end of a non-growable file.
qcow2 files are not growable but we rely on them being growable to do
savevm/loadvm. Temporarily allow them to be growable by introducing a new
API specifically for savevm read/write operations.
Reported-by: malc
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6994
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 19:10:50 +0000 (19:10 +0000)]
Fix the build for --disable-aio
This was reported by malc.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6993
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 18:43:41 +0000 (18:43 +0000)]
gdbstub: Rework configuration via command line and monitor (Jan Kiszka)
Introduce a more canonical gdbstub configuration (system emulation only)
via the new switch '-gdb dev'. Keep '-s' as shorthand for
'-gdb tcp::1234'. Use the same syntax also for the corresponding monitor
command 'gdbserver'. Its default remains to listen on TCP port 1234.
Changes in v4:
- Rebased over new command line switches meta file
Changes in v3:
- Fix documentation
Changes in v2:
- Support for pipe-based like to gdb (target remote | qemu -gdb stdio)
- Properly update the qemu-doc
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@6992
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 18:43:37 +0000 (18:43 +0000)]
Make `-icount' help fit 80 chars screen width (Robert Riebisch)
On Windows default screen width for the command prompt (A.K.A. "DOS
window") is 80 chars. `-icount' help is 87 chars wide. So make it fit.
Signed-off-by: Robert Riebisch <rr@bttr-software.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6991
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 18:41:23 +0000 (18:41 +0000)]
qemu-io - an I/O path exerciser (Christoph Hellwig)
This patch adds a new qemu-io tool that links against the block layer and
image formats and allow to exercise them without needing a guest image.
It is inspired by the xfs_io tool which does the same for plain file I/O.
In fact the libxcmd library which is the backend of xfs_io is reused by this
tool in a limited fashing (cmd.[ch] files).
This version tests out most of the plain block I/O commands with the
most notable absent commands beeing snapshot handling and real aio.
This tool is the basis of the I/O path test suite I'm working on right now.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6990
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 18:41:18 +0000 (18:41 +0000)]
Fix display breakage when resizing the screen (v2) (Avi Kivity)
When the vga resolution changes, a new display surface is not allocated
immediately; instead that is deferred until the next update. However,
if we're running without a display client attached, that won't happen
and the next bitblt is likely to cause a segfault by overflowing the
display surface.
Fix by reallocating the display immediately when the resolution changes.
Tested with (Windows|Linux) x (cirrus|std) x (curses|sdl).
Changes from v1:
- fix segfault when switching virtual consoles with curses
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6989
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 5 Apr 2009 18:03:31 +0000 (18:03 +0000)]
Fix some win32 compile warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6984
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 17:41:02 +0000 (17:41 +0000)]
Make binary stripping conditional (Riku Voipio)
Currently qemu unconditionally strips binaries on install. This
is a problem for packagers who may want to store/ship debug symbols
of compiled packages for debugging purposes.
Keep stripping as default for the oldtimers and add a
--disable-strip flag to override.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6983
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 17:40:58 +0000 (17:40 +0000)]
qcow2: fix image creation for large, > ~2TB, images (Chris Wright)
When creating large disk images w/ qcow2 format, qcow2_create is hard
coded to creating a single refcount block. This is insufficient for
large images, and will cause qemu-img to segfault as it walks off the
end of the refcount block. Keep track of the space needed during image
create and create proper number of refcount blocks accordingly.
https://bugzilla.redhat.com/show_bug.cgi?id=491943
Signed-off-by: Chris Wright <chrisw@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6982
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 17:40:55 +0000 (17:40 +0000)]
pci_add storage: fix error handling for 'if' parameter (Eduardo Habkost)
This fixes:
- The error message to show the actual if= argument value. It was showing
the filename instead, because 'buf' is reaused on the filename parsing.
- A bug that makes a block device to be created even when an unsupported if= arg
is passed to pci_add.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6981
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 17:40:50 +0000 (17:40 +0000)]
build system: clean qemu-options.texi and gdbstub-xml.c (Jan Kiszka)
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@6980
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 17:40:46 +0000 (17:40 +0000)]
build system: silent generation of doc files and qemu-options.h (Jan Kiszka)
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@6979
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 17:40:43 +0000 (17:40 +0000)]
Add host_device support to qemu-img. (Nolan Leake)
This patch allows the use a host_device as the destination for "qemu-img
convert".
I added a ->bdrv_create function host_device. It merely verifies that
the device exists and is large enough.
A check is needed in the qemu-img convert loop to ensure that we write
out all 0 sectors to the host_device. Otherwise they end up with stale
garbage where all zero sectors were expected.
I also made the check against bdrv_is_allocated enabled for everything
_except_ host devices, since there is no point in making the block
backend write a bunch of zeros just so that we can memcmp them
immediately afterwards. Host devices can't benefit from this because
there is no way to differentiate between a sector being unallocated
because it was never written, or because it was written with all zeros
and then made a trip through qemu-img convert.
Finally, there is an unrelated fix for a typo in the error message
printed if the destination device does not support ->bdrv_create.
Signed-off-by: Nolan Leake <nolan <at> sigbus.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6978
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 17:40:38 +0000 (17:40 +0000)]
Fix (at least one cause of) qcow2 corruption. (Nolan Leake)
qcow2's get_cluster_offset() scans forward in the l2 table to find other
clusters that have the same allocation status as the first cluster.
This is used by (among others) qcow_is_allocated().
Unfortunately, it was not checking to be sure that it didn't fall off
the end of the l2 table. This patch adds that check.
The symptom that motivated me to look into this was that
bdrv_is_allocated() was returning false when there was in fact data
there. This is one of many ways this bug could lead to data corruption.
I checked the other place that scans for consecutive unallocated blocks
(alloc_cluster_offset()) and it appears to be OK:
nb_clusters = MIN(nb_clusters, s->l2_size - l2_index);
appears to prevent the same problem from occurring.
Signed-off-by: Nolan Leake <nolan <at> sigbus.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6977
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 17:40:34 +0000 (17:40 +0000)]
Document QEMU coding style (v2) (Avi Kivity)
With the help of some Limoncino I noted several aspects of the QEMU coding
style, particularly where it differs from the Linux coding style as many
contributors work on both projects.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6976
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 5 Apr 2009 17:40:08 +0000 (17:40 +0000)]
Fix oops on 2.6.25 guest (Rusty Russell)
I believe this is behind the following:
https://bugs.edge.launchpad.net/ubuntu/jaunty/+source/linux/+bug/331128
virtio_pci in 2.6.25 didn't do feature negotiation correctly: it acked every
bit. Fortunately, we can detect this.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6975
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 4 Apr 2009 19:10:26 +0000 (19:10 +0000)]
Fix branches and TLB matches for 64 bit targets
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6974
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 4 Apr 2009 15:33:03 +0000 (15:33 +0000)]
Allocate space for static call args, increase stack frame size on Sparc64
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6973
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 4 Apr 2009 09:21:28 +0000 (09:21 +0000)]
Compile all files with -ffixed-g5 etc. to avoid env (%g5) corruption
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6972
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 4 Apr 2009 07:41:20 +0000 (07:41 +0000)]
Make i386-softmmu boot on Sparc host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6971
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Fri, 3 Apr 2009 07:33:24 +0000 (07:33 +0000)]
SH: Fix linux-user _is_cached typo.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6970
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Fri, 3 Apr 2009 07:29:38 +0000 (07:29 +0000)]
SH: Add cpu_sh4_is_cached for linux-user.
The entire U0 area is assumed to be cacheable.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6969
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Thu, 2 Apr 2009 22:54:35 +0000 (22:54 +0000)]
Immediate versions of ro[lr]
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6968
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Thu, 2 Apr 2009 01:16:39 +0000 (01:16 +0000)]
Temporary workaround for ppc on ppc
target-ppc/translate.c puts values of type opcode_t into .opcodes
section, using GCC extension to do so, and hoping that this will make
them appear contiguously and in the source order in the resulting
executable. This assumption is not safe and is known to be violated
with certain versions of GCC, certain flags passed to it and on
certain platforms (gcc 4.3.0, -O and PPC/PPC64 for instance)
The workaround consists of adding -fno-unit-at-a-time to the list of
GCC command line options while building PPC translate.o on a PPC.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6967
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Wed, 1 Apr 2009 23:10:46 +0000 (23:10 +0000)]
SH: Improve movca.l/ocbi emulation.
Author: Vladimir Prus <vladimir@codesourcery.com>
Fix movcal.l/ocbi emulation.
* target-sh4/cpu.h (memory_content): New.
(CPUSH4State): New fields movcal_backup and movcal_backup_tail.
* target-sh4/helper.h (helper_movcal)
(helper_discard_movcal_backup, helper_ocbi): New.
* target-sh4/op_helper.c (helper_movcal)
(helper_discard_movcal_backup, helper_ocbi): New.
* target-sh4/translate.c (DisasContext): New field has_movcal.
(sh4_defs): Update CVS for SH7785.
(cpu_sh4_init): Initialize env->movcal_backup_tail.
(_decode_opc): Discard movca.l-backup.
Make use of helper_movcal and helper_ocbi.
(gen_intermediate_code_internal): Initialize has_movcal to 1.
Thanks to Shin-ichiro KAWASAKI and Paul Mundt for valuable feedback.
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6966
c046a42c-6fe2-441c-8c8c-
71466251a162