OSDN Git Service
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
pbrook [Wed, 1 Apr 2009 12:27:59 +0000 (12:27 +0000)]
Implement and use shared memory framebuffer device rendering reoutine.
Use DMA mapping API.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6965
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Wed, 1 Apr 2009 11:43:02 +0000 (11:43 +0000)]
Use pixel_ops.h
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6964
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 31 Mar 2009 17:18:10 +0000 (17:18 +0000)]
Remove unused variable
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6963
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 31 Mar 2009 15:46:09 +0000 (15:46 +0000)]
Update OpenBIOS images to r482
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6962
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Tue, 31 Mar 2009 14:34:24 +0000 (14:34 +0000)]
Avoid rounding problems in ptimer_get_count
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6961
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Mon, 30 Mar 2009 17:51:29 +0000 (17:51 +0000)]
Fix wrong return value
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6959
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 29 Mar 2009 20:54:17 +0000 (20:54 +0000)]
Remove dead AIO code for win32
AFAIK, it's never been enabled and hasn't even compiled in ages. Remove the
code to avoid confusion. If someone ever decides to fix it, they can get at
the old version in RCS history.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6958
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 15:45:02 +0000 (15:45 +0000)]
target-mips: optimize gen_movcf_*()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6957
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 15:44:50 +0000 (15:44 +0000)]
target-mips: optimize gen_movci()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6956
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 15:44:34 +0000 (15:44 +0000)]
target-mips: optimize gen_compute_branch1()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6955
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 29 Mar 2009 15:40:59 +0000 (15:40 +0000)]
Misc scsi disk/cdrom fixes/improvements 4/4
Implement Test Unit Ready command (return NOT READY as above
if !bdrv_is_inserted(...))
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6954
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 29 Mar 2009 15:40:42 +0000 (15:40 +0000)]
misc scsi disk/cdrom fixes/improvements 3/4
Add asc 0x3a, ascq 0: Medium not present to NOT READY sense
(needed to keep some guests from retrying causing long sleeps in the
kernel)
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6953
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 29 Mar 2009 15:40:21 +0000 (15:40 +0000)]
misc scsi disk/cdrom fixes/improvements 2/4
Implement cdrom load/eject functionality (Start Stop Unit command)
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6952
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 29 Mar 2009 15:39:59 +0000 (15:39 +0000)]
misc scsi disk/cdrom fixes/improvements 1/4
Use correct sector size for cdrom Read TOC command
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6951
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 15:39:08 +0000 (15:39 +0000)]
target-mips: don't map FP registers as TCG global variables
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6950
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 15:36:47 +0000 (15:36 +0000)]
target-mips: fix divu instruction
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6949
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 14:08:54 +0000 (14:08 +0000)]
tcg: fix _tl aliases for divu/remu
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6948
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 13:36:32 +0000 (13:36 +0000)]
target-ppc: Explain why the whole TLB is flushed on SR write
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6947
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 29 Mar 2009 10:50:43 +0000 (10:50 +0000)]
Fix hxtool eating backslash sequences for sh != bash
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6946
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 29 Mar 2009 09:06:43 +0000 (09:06 +0000)]
Fix hxtool eating backslash sequences
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6945
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 29 Mar 2009 01:31:56 +0000 (01:31 +0000)]
fix format string warnings in block-qcow2.c (Christoph Hellwig)
Recent patches added two compiler warnings about the format string
usage in qcow_read_extensions. One is printing a uint64_t using
%lu which is incorrect on many platforms as it can be a unsigned
long long, the second one is printing the result of sizeof as
%lu, but it is a size_t so it needs to be printed using %zu.
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@6944
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 29 Mar 2009 01:31:51 +0000 (01:31 +0000)]
check for bs->drv in bdrv_flush (Christoph Hellwig)
All the bdrv_ helpers should check for bs->drv being zero as that means
there is no backend image open. bdrv_flush fails to perform that check
and can thus cause NULL pointer dereferences.
Found using qemu-io.
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@6943
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sun, 29 Mar 2009 01:31:48 +0000 (01:31 +0000)]
remove dead code in bdrv_check_request (Christoph Hellwig)
Remove code dealing with negative sector numbers for byte access in
bdrv_check_request as sector numbers can't ever be negative.
Previously we supported negative sector counts for byte access, but
never sector numbers.
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@6942
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:28:29 +0000 (01:28 +0000)]
target-mips: optimize write to env->hflags
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6941
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:19:31 +0000 (01:19 +0000)]
target-mips: optimize gen_muldiv()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6940
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:19:22 +0000 (01:19 +0000)]
tcg: add _tl aliases for div/divu/rem/remu
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6939
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:19:12 +0000 (01:19 +0000)]
target-mips: optimize gen_HILO()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6938
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:19:02 +0000 (01:19 +0000)]
target-mips: optimize gen_trap()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6937
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:18:52 +0000 (01:18 +0000)]
target-mips: optimize gen_compute_branch()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6936
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:18:43 +0000 (01:18 +0000)]
target-mips: don't mix result and arguments in gen_op_*
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6935
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:18:34 +0000 (01:18 +0000)]
target-mips: gen_bshfl()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6934
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:18:24 +0000 (01:18 +0000)]
target-mips: optimize gen_mul_vr54xx()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6933
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:18:16 +0000 (01:18 +0000)]
target-mips: optimize gen_cl()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6932
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:18:03 +0000 (01:18 +0000)]
target-ppc: avoid nop to override next instruction
While searching PC, always store the pc of a new instruction.
Instructions that didn't generate tcg code (such as nop) prevented the
next one to be referenced.
Based on patch for target-alpha, r6930.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6931
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 01:04:39 +0000 (01:04 +0000)]
target-alpha: bug fix: avoid nop to override next instruction
While searching PC, always store the pc of a new instruction.
Instructions that didn't generate tcg code (such as nop) prevented the next
one to be referenced.
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@6930
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 00:22:12 +0000 (00:22 +0000)]
target-alpha: remove PALCODE_ declarations (unused).
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@6929
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 00:22:01 +0000 (00:22 +0000)]
target-alpha: add instruction name in comments for hw_ld opcode.
Make code slightly easier to read.
Also unused hw_ld opcodes now generate an invalid opc fault.
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@6928
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 00:21:43 +0000 (00:21 +0000)]
Document which IPR are 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@6927
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 00:14:16 +0000 (00:14 +0000)]
target-alpha: tb_flush helper should flush the tb (and not the tlb).
Looks to be a typo fix.
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@6926
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 00:14:06 +0000 (00:14 +0000)]
target-alpha: fix temp free for hw_st
No need to stop translation after hw_st.
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@6925
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 00:13:56 +0000 (00:13 +0000)]
target-alpha: fix bug: integer conditional branch offset is 21 bits wide.
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@6924
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 00:13:47 +0000 (00:13 +0000)]
target-alpha: Fix bug: do not mask address LSBs for ldwu.
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@6923
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 29 Mar 2009 00:13:38 +0000 (00:13 +0000)]
target-alpha: Fix bug: palcode is at least 6 bits.
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@6922
c046a42c-6fe2-441c-8c8c-
71466251a162