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
aurel32 [Sat, 28 Mar 2009 23:46:00 +0000 (23:46 +0000)]
build system: silence gdbstub-xml.c generation
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@6921
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 28 Mar 2009 23:27:30 +0000 (23:27 +0000)]
tcg/README: fix description of bswap32_i32/i64
Thanks to Stuart Brady for the notice.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6920
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 28 Mar 2009 23:18:47 +0000 (23:18 +0000)]
target-sh4: r2d --append option support
Remove qemu_ram_alloc(SDRAM_BASE) and related changes.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6919
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 28 Mar 2009 23:14:52 +0000 (23:14 +0000)]
hw/eeprom93xx.c: support 93xx EEPROMs with more than 255 words
In the head of eeprom93xx.c we promise to support chips with 256 words,
but store the size in an unsigned byte. This patch replaces this with an
16 bit variable and changes the load/store code accordingly (introducing a
new version).
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6918
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 28 Mar 2009 23:14:41 +0000 (23:14 +0000)]
hw/eeprom93xx.c: substitute structure dump with discrete dump in eeprom_save/load
The EEPROM 93xx device used to dump a C structure to the migration stream.
This structure includes mixed 8 and 16bit variables and is thus subject to
compiler dependent padding. Replace this with discrete dumps of each member
(and add a padding byte to ensure compatibility, a version update is
included in the following patch).
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6917
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 28 Mar 2009 23:14:32 +0000 (23:14 +0000)]
target-sh4: r2d --append option support
Add linux kernel command line ("--append" option) support.
Fix kernel loading address to appropriate position when --append used.
Using --kernel but --append case is left untouched for backward compatibility.
This also change the host<->SH address mapping for r2d to
host addr == phys_ram_base + SH addr.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6916
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 28 Mar 2009 22:22:50 +0000 (22:22 +0000)]
target-mips: fix FPU in 64-bit mode
TCG does not allow the same memory location to be aliased in two
different global registers, fpu_fpr32 and fpu_fpr64.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6915
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 28 Mar 2009 22:22:40 +0000 (22:22 +0000)]
target-mips: implement FPU Flush-To-Zero mode
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6914
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 18:05:53 +0000 (18:05 +0000)]
gdbstub: Allow re-instantiation (Jan Kiszka)
[ Note: depends on char closing fixes ]
Properly clean up the gdbstub when the user tries to re-open it
(possibly under a different address). Moreover, allow to shut it down
from the monitor via 'gdbserver none'.
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@6913
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:58:14 +0000 (17:58 +0000)]
char: Fix closing of various char devices (Jan Kiszka)
This patch fixes several issues around closing char devices. Affected
were pty (timer was left behind, even running), udp (no close handling
at all) and tcp (missing async IO handler cleanup). The bugs either
caused segfaults or stalled the qemu process. So far, hot-unplugging USB
serial adapters suffered from this.
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@6911
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:55:19 +0000 (17:55 +0000)]
qemu-img: adding a "-F base_fmt" option to "qemu-img create -b" (Uri Lublin)
If the user specifies the backing file format,
then when opening the backing file, there is no need
to probe the (backing file) image to figure out its format.
This follows my previous patches implementing bdrv_create2
which keeps (for qcow2 only) the backing file format
as a qcow2-extension
Suggested by Daniel P. Berrange.
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6910
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:55:14 +0000 (17:55 +0000)]
block-qcow2: keep backing file format in a qcow2 extension (Uri Lublin)
Use a qcow2 extension to keep the backing file format.
By keeping the backing file format, we can:
1. Provide a way to know the backing file format without probing
it (setting the format at creation time).
2. Enable using qcow2 format over host block devices.
(only if the user specifically asks for it, by providing the format
at creation time).
Also fixes a security flaw found by Daniel P. Berrange on [1]
which summarizes: "Autoprobing: just say no."
[1] http://lists.gnu.org/archive/html/qemu-devel/2008-12/msg01083.html
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6909
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:55:10 +0000 (17:55 +0000)]
block: support known backing format for image create and open (Uri Lublin)
Added a backing_format field to BlockDriverState.
Added bdrv_create2 and drv->bdrv_create2 to create an image with
a known backing file format.
Upon bdrv_open2 if backing format is known use it, instead of
probing the (backing) image.
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6908
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:55:06 +0000 (17:55 +0000)]
Introducing qcow2 extensions (Uri Lublin)
Qcow2 extensions are build of magic (id) len (in bytes) and data.
They reside right after the qcow2 header.
If a backing filename exists it follows the qcow2 extension (if exist)
Qcow2 extensions are read upon image open.
Qcow2 extensions are identified by their magic.
Unknown qcow2 extensions (unknown magic) are skipped.
A Special magic of 0 means end-of-qcow2-extensions.
In this patchset, to be used to keep backing file format.
Based on a work done by Shahar Frank <sfrank@redhat.com>.
Signed-off-by: Uri Lublin <uril@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6907
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:51:40 +0000 (17:51 +0000)]
kvm: Drop kvm_patch_opcode_byte (Jan Kiszka)
As cpu_memory_rw_debug is now capable of modifying ROM, we can drop our
own patch function.
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@6906
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:51:36 +0000 (17:51 +0000)]
ROM write access for debugging (Jan Kiszka)
Enhance cpu_memory_rw_debug so that it can write even to ROM regions.
This allows to modify ROM via gdb (I see no point in denying this to the
user), and it will enable us to drop kvm_patch_opcode_byte().
Credits go to Avi for suggesting this.
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@6905
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:46:18 +0000 (17:46 +0000)]
Use the DMA api to map virtio elements.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6904
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:46:14 +0000 (17:46 +0000)]
virtio-blk: use generic vectored I/O APIs (Christoph Hellwig)
Use the generic bdrv_aio_readv/bdrv_aio_writev APIs instead of linearizing
buffers directly. This enables using the future native preadv/pwritev
support.
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@6903
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:46:10 +0000 (17:46 +0000)]
add qemu_iovec_init_external (Christoph Hellwig)
Allow to initialize a QEMUIOVector from an externally allocated iovec.
qiov->nalloc is initialized to -1 to indicate external storage for qiov->iov
and all functions dealing with memory management assert on the iovec beeing
an internally managed first.
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@6902
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:29:07 +0000 (17:29 +0000)]
Clean some PCI defines (Stefan Weil)
this patch adds some more defines from linux/pci_regs.h to
hw/pci.h. There is now no longer a need to define them in
eepro100.c, so they were removed there.
Some defines from linux/pci_regs.h had similar, but not
the same defines in hw/pci.h (PCI_REVISION_ID / PCI_REVISION,
PCI_SUBSYSTEM_VENDOR_ID / PCI_SUBVENDOR_ID,
PCI_SUBSYSTEM_ID / PCI_SUBDEVICE_ID).
I suggest to use the "standard" from linux/pci_regs.h and
replace the "old" Qemu ones. To facilitate the migration,
my patch does not remove the old defines but marks them
as obsolete. After a migration to the "standard" defines,
pci.h could use linux/pci_regs.h which is far more complete.
The patch is needed for an updated maintainer version of
hw/eepro100.c which I'd like to see in Qemu stable.
* Remove declarations already declared in header file from eepro100.c
* Add missing declarations from pci_regs.h to pci.h
* Mark "non-standard" declarations in pci.h as obsolete
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6901
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:29:02 +0000 (17:29 +0000)]
Fix monitor command (screendump) (Stefan Weil)
starting with r6839, the monitor command 'screendump'
raises a nullpointer memory access which crashs Qemu.
Fix crash when calling screendump from monitor.
This was a regression introduced with r6839:
DisplayAllocator interface (Stefano Stabellini)
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6900
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:28:58 +0000 (17:28 +0000)]
Remove nodisk_ok machine feature (Jan Kiszka)
All archs have some kind of firmware to load and can be fine with it
already. So there is not much use in enforcing the presence of a disk.
If the system setup requires one, the user will notice it anyway once
the firmware/bios fails to boot from it.
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@6899
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:28:53 +0000 (17:28 +0000)]
musicpal: Fix regression caused by 6839 (Jan Kiszka)
Pass correct DisplayState field to is_surface_bgr().
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@6898
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:28:49 +0000 (17:28 +0000)]
gdbstub: Drop redundant memset after qemu_mallocz (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@6897
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:28:45 +0000 (17:28 +0000)]
get roms more room. (Glauber Costa)
This patch increases by 50 % the size available for option roms.
The main motivator is that some roms grew bigger than the 64k we
currently allocate for them (Hey, it's 2009!)
One example is the gpxe project, that produces some roms with 69k,
70k, etc. The space proposed by this patch actually makes it as
big as 84k. Probably still a fit for some time.
But there is no free lunch. This space must come from somewhere,
and we take it from vga rom space. Currently, our vga roms are
around 35k in size. With this patch, option rom space will begin
just after vga ends, aligned to the next 2k boundary.
Technicaly, we could do the same with the uper space (the bios itself),
but since bochs bios is already 128 k in size, I don't see an
urgent need to do it.
[ fix case for vgabioses smaller than 30k, by Carl-Daniel Hailfinger ]
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@6896
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 17:28:41 +0000 (17:28 +0000)]
new scsi-generic abstraction, use SG_IO (Christoph Hellwig)
Okay, I started looking into how to handle scsi-generic I/O in the
new world order.
I think the best is to use the SG_IO ioctl instead of the read/write
interface as that allows us to support scsi passthrough on disk/cdrom
devices, too. See Hannes patch on the kvm list from August for an
example.
Now that we always do ioctls we don't need another abstraction than
bdrv_ioctl for the synchronous requests for now, and for asynchronous
requests I've added a aio_ioctl abstraction keeping it simple.
Long-term we might want to move the ops to a higher-level abstraction
and let the low-level code fill out the request header, but I'm lazy
enough to leave that to the people trying to support scsi-passthrough
on a non-Linux OS.
Tested lightly by issuing various sg_ commands from sg3-utils in a guest
to a host CDROM device.
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@6895
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 28 Mar 2009 16:17:50 +0000 (16:17 +0000)]
Document sun ID PROM contents
Signed-off-by: Robert Reif <reif@earthlink.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6894
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 16:11:25 +0000 (16:11 +0000)]
Fix DMA API when handling an immediate error from block layer (Avi Kivity)
The block layer may signal an immediate error on an asynchronous request
by returning NULL. The DMA API did not handle this correctly, returning
an AIO request which would never complete (and which would crash if
cancelled).
Fix by detecting the failure and propagating it.
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@6893
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 16:11:20 +0000 (16:11 +0000)]
Fix vectored aio bounce handling immediate errors (Avi Kivity)
If a bounced vectored aio fails immediately (the inner aio submission
returning NULL) then the bounce handler erronously returns an aio
request which will never be completed (and which crashes when cancelled).
Fix by detecting that the inner request has failed and propagating the
error.
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@6892
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Sat, 28 Mar 2009 15:58:58 +0000 (15:58 +0000)]
host_device_remove: remove incorrect check for device name (Eduardo Habkost)
There is no need to check for valid prefixes on the the device name
when removing it. If the device name is found on the vlan client list,
it can be removed, regardless of the prefix used on its name.
To reproduce the bug, just run this on the monitor:
(qemu) host_net_add user name=foobar
(qemu) host_net_remove 0 foobar
invalid host network device foobar
(qemu)
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@6891
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 28 Mar 2009 08:37:13 +0000 (08:37 +0000)]
FreeBSD host physical cdrom fixes
This improves physical cdrom support on FreeBSD hosts to be almost as
good as on Linux, with the only notable exception that you still need to
either have the guest itself eject the disc if you want to take it
out/change it, or do a change command in the monitor after taking out
a disc in case a guest cannot eject it itself - otherwise the guest may
continue using state (like size) of the old disc.
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6888
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 28 Mar 2009 08:24:44 +0000 (08:24 +0000)]
Fix warning in vl.c
vl.c calls dma_helper_init, so it needs to include dma.h to get a
definition for it, otherwise we get compiler warnings like:
/home/hch/work/qemu/vl.c: In function 'main':
/home/hch/work/qemu/vl.c:5518: warning: implicit declaration of function 'dma_helper_init'
Signed-off-by: Christoph Hellwig <hch@lst.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6887
c046a42c-6fe2-441c-8c8c-
71466251a162