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
blueswir1 [Sat, 28 Mar 2009 08:14:42 +0000 (08:14 +0000)]
Fix out of tree compilation
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6886
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 28 Mar 2009 08:13:56 +0000 (08:13 +0000)]
Fix compile problems with r6884
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6885
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 28 Mar 2009 06:44:27 +0000 (06:44 +0000)]
Syncing documentation vs. -help vs. qemu_options table
Try to keep documentation about command line switches, -help text and
qemu_options table synchronized.
In true Qemu tradition, an include file is generated from single .hx file
containing all relevant information in one place. The include file is
parsed once for getting the enums, another time for getopt tables and
hird time for help messages. Texi documentation for the options is
generated from the same .hx file.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6884
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sat, 21 Mar 2009 01:09:16 +0000 (01:09 +0000)]
Fix absolute mouse events generated by SDL frontend.
In r6839 ("DisplayAllocator interface") the "width" and "height" globals
stopped ever being assigned. Note that last time absolute input stopped
working was for the same reason.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6875
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 18:26:16 +0000 (18:26 +0000)]
Move block dma helpers aiocb to store dma state (Avi Kivity)
Use the dedicated dma aiocb to store intermediate state for dma block
transactions.
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@6874
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 18:26:12 +0000 (18:26 +0000)]
Use vectored aiocb storage to store vector translation state (Avi Kivity)
Now that we have a dedicated acb pool for vector translation acbs, we can
store the vector translation state in the acbs instead of in an external
structure.
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@6873
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 18:26:07 +0000 (18:26 +0000)]
Implement cancellation method for dma async I/O (Avi Kivity)
Move the dma helpers to a private aio pool, and implement a cancellation
method for them. Should prevent issues when cancelling I/O while dma is
in progress.
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@6872
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 18:26:03 +0000 (18:26 +0000)]
Convert vectored aio emulation to use a dedicated pool (Avi Kivity)
This allows us to remove a hack in the vectored aio cancellation code.
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@6871
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 18:25:59 +0000 (18:25 +0000)]
Refactor aio callback allocation to use an aiocb pool (Avi Kivity)
Move the AIOCB allocation code to use a dedicate structure, AIOPool. AIOCB
specific information, such as the AIOCB size and cancellation routine, is
moved into the pool.
At present, there is exactly one pool per block format driver, maintaining
the status quo.
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@6870
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 16:13:50 +0000 (16:13 +0000)]
virtio: Allow guest to defer VIRTIO_F_NOTIFY_ON_EMPTY (Alex Williamson)
There may be cases where the guest does not want the avail queue
interrupt, even when it's empty. For the virtio-net case, the
guest may use a different buffering scheme or decide polling for
used buffers is more efficient. This can be accomplished by simply
checking for whether the guest has acknowledged the existing notify
on empty flag.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6865
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 16:13:47 +0000 (16:13 +0000)]
e1000: Fix RX descriptor low threshold interrupt logic (Alex Williamson)
The RXDMT0 interrupt is supposed to fire when the number of free
RX descriptors drops to some fraction of the total descriptors.
However in practice, it seems like we're adding this interrupt
cause on every RX. Fix the logic to treat (tail - head) as the
number of free entries rather than the number of used entries.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6864
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 16:13:41 +0000 (16:13 +0000)]
x86: Add NULL check to lsl (Jan Kiszka)
According to the Intel specs, lsl performs a check against NULL for the
provided selector, just like lar does. helper_lar() includes the
corresponding code, helper_lsl() was lacking it so far.
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@6863
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 15:59:24 +0000 (15:59 +0000)]
vnc: throttle screen updates. (Gerd Hoffmann)
This patch makes the vnc server code skip screen refreshes in case
there is data in the output buffer. This reduces the refresh rate to
throttle the bandwidth needed in case the network link is saturated.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6862
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 15:59:18 +0000 (15:59 +0000)]
vnc: fix printf warnings showing up with VNC_DEBUG enabled. (Gerd Hoffmann)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6861
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 20 Mar 2009 15:59:14 +0000 (15:59 +0000)]
vnc: cleanup surface handling, fix screen corruption bug. (Gerd Hoffmann)
This patch killes the old_data hack in the qemu server and replaces
it with a clean separation of the guest-visible display surface and
the vnc server display surface. Both guest and server surface have
their own dirty bitmap for tracking screen updates.
Workflow is this:
(1) The guest writes to the guest surface. With shared buffers being
active the guest writes are directly visible to the vnc server code.
Note that this may happen in parallel to the vnc server code running
(today only in xenfb, once we have vcpu threads in qemu also for
other display adapters).
(2) vnc_update() callback tags the specified area in the guest dirty
map.
(3) vnc_update_client() will first walk through the guest dirty map. It
will compare guest and server surface for all regions tagged dirty
and in case the screen content really did change the server surface
and dirty map are updated.
Note: old code used old_data in a simliar way, so this does *not*
introduce an extra memcpy.
(4) Then vnc_update_cient() will send the updates to the vnc client
using the server surface and dirty map.
Note: old code used the guest-visible surface instead, causing
screen corruption in case of guest screen updates running in
parallel.
The separate dirty bitmap also has the nice effect that forced screen
updates can be done cleanly by simply tagging the area in both guest and
server dirty map. The old, hackish way was memset(old_data, 42, size)
to trick the code checking for screen changes.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6860
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Thu, 19 Mar 2009 02:14:10 +0000 (02:14 +0000)]
Remove dead code
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6859
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Tue, 17 Mar 2009 16:05:50 +0000 (16:05 +0000)]
Fix VGA issue introduced by r6349
Thanks to Robert Riebisch for bisection
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6858
c046a42c-6fe2-441c-8c8c-
71466251a162