aurel32 [Thu, 27 Nov 2008 19:30:47 +0000 (19:30 +0000)]
target-ppc: convert SPE load/store to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5804
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 27 Nov 2008 19:30:38 +0000 (19:30 +0000)]
target-ppc: simplify evsplati and evsplatfi
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5803
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Thu, 27 Nov 2008 15:47:15 +0000 (15:47 +0000)]
linux-user: Add support for STOP/CONT signals.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5802
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Thu, 27 Nov 2008 15:46:25 +0000 (15:46 +0000)]
linux-user: sig is target signal.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5801
c046a42c-6fe2-441c-8c8c-
71466251a162
ths [Thu, 27 Nov 2008 15:45:16 +0000 (15:45 +0000)]
Make installing bios files optional.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5800
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 25 Nov 2008 22:13:57 +0000 (22:13 +0000)]
Use sys-queue.h for break/watchpoint managment (Jan Kiszka)
This switches cpu_break/watchpoint_* to TAILQ wrappers, simplifying the
code and also fixing a use after release issue in
cpu_break/watchpoint_remove_all.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5799
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 25 Nov 2008 22:05:37 +0000 (22:05 +0000)]
Add TAILQ_FOREACH_SAFE (Jan Kiszka)
Add TAILQ iterator that allows to safely remove elements while walking
the list.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5798
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 25 Nov 2008 21:50:24 +0000 (21:50 +0000)]
Abstract out geometry detection code from IDE for reuse
Virtio will want to use the geometry detection code. It doesn't belong
in ide.c anyway.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5797
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 25 Nov 2008 17:26:09 +0000 (17:26 +0000)]
Revert r5636 to fix icount on hosts w/o high-res clocks
Changeset r5636 changed the timers to run in the alarm callback. The
alarm callback can only be called as frequently as the host alarm timer
fires. For older Linux hosts and possibly non-Linux hosts, this can be
as high as a 1ms granularity.
icount calculates the select timeout based on the next deadline and
select is usually capable of sleeping for a short period of time than
alarm timer granularity. This means that changing the timer callbacks
to be based on alarm firing caused timers to fire much later than they
ought to when using icount.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5796
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 25 Nov 2008 17:19:45 +0000 (17:19 +0000)]
i386: remove unused function prototypes (Laurent Desnogues)
This patch removes two unused prototypes from i386 target exec.h file.
Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5795
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Tue, 25 Nov 2008 16:49:33 +0000 (16:49 +0000)]
Fix usb-stub compilation
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5794
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 20:21:41 +0000 (20:21 +0000)]
vga optimization (Glauber Costa)
Hypervisors like KVM perform badly while doing mmio on
a loop, because it'll generate an exit on each access.
This is the case with VGA, which results in very bad
performance.
In this patch, we map the linear frame buffer as RAM,
make sure it has dirty region tracking enabled, and then
just let the region to be written.
Cleanups suggestions by:
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5793
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 19:36:26 +0000 (19:36 +0000)]
kvm: Introduce kvm logging interface (Glauber Costa)
Introduce functions to control logging of memory regions.
We select regions based on its start address, a
guest_physical_addr (target_phys_addr_t, in qemu nomenclature).
The main user of this interface right now is VGA optimization
(a way of reducing the number of mmio exits).
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5792
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 19:35:16 +0000 (19:35 +0000)]
move vga_io_address to VGA State (Glauber Costa)
It'll be reused later by the vga optimization.
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5791
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 19:33:59 +0000 (19:33 +0000)]
better type checking for vga (Glauber Costa)
unsigned long is too bad of a type. Use ram_addr_t instead.
aligurori: fixed a compile warning in this patch
Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5790
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Mon, 24 Nov 2008 19:29:13 +0000 (19:29 +0000)]
Introduce accessors for DisplayState (Stefano Stabellini)
Introducing some accessors:
ds_get_linesize
ds_get_bits_per_pixel
ds_get_width
ds_get_height
ds_get_data
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5789
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 24 Nov 2008 11:28:19 +0000 (11:28 +0000)]
target-ppc: convert trap instructions to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5788
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 24 Nov 2008 08:47:21 +0000 (08:47 +0000)]
target-ppc: convert altivec load/store to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5787
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 23 Nov 2008 16:30:50 +0000 (16:30 +0000)]
target-ppc: convert FPU load/store to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5786
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 23 Nov 2008 16:30:40 +0000 (16:30 +0000)]
target-ppc: fix access_type usage
Write env->access_type before a load/store operation instead of relying
on the name of the dyngen operation.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5785
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 23 Nov 2008 16:30:28 +0000 (16:30 +0000)]
target-ppc: include the instruction name in load/store handlers name
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5784
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 23 Nov 2008 10:54:04 +0000 (10:54 +0000)]
target-ppc: convert SPE FP ops to TCG
Including a few bug fixes:
- Don't clear high part for instruction with 32-bit destination
- Fix efscmp* and etstcmp* return value
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5783
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 23 Nov 2008 07:27:59 +0000 (07:27 +0000)]
Fix typo reported by Thiemo Seufer
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5782
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 22 Nov 2008 21:27:36 +0000 (21:27 +0000)]
target-ppc: remove declaration of removed function from op_helper.h
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5781
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 22 Nov 2008 21:03:55 +0000 (21:03 +0000)]
Native BSD host USB support (Juergen Lock, Lonnie Mendez)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5780
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 22 Nov 2008 20:49:12 +0000 (20:49 +0000)]
Native FreeBSD parallel port (Juergen Lock)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5779
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 22 Nov 2008 20:43:01 +0000 (20:43 +0000)]
Use MAP_ANON also for FreeBSD (Juergen Lock)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5778
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 22 Nov 2008 20:34:45 +0000 (20:34 +0000)]
Fix BSD user compilation on other than OpenBSD
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5777
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 22 Nov 2008 20:24:29 +0000 (20:24 +0000)]
Fix some compile and linking issues on NetBSD.
- adapt configure to link against -lrt to fix aio linking errors
- adapt configure to link against -lossaudio to fix oss linking errors
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5776
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 22 Nov 2008 20:17:37 +0000 (20:17 +0000)]
Add native softfloat fpu functions (Christoph Egger)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5775
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 22 Nov 2008 20:04:24 +0000 (20:04 +0000)]
Use qemu_isfoobar and qemu_towombat versions, based on patch by Christoph Egger
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5774
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 22 Nov 2008 10:09:27 +0000 (10:09 +0000)]
target-sh4: fix 64-bit fmov to/from memory
When loading/storing a register pair, the even-numbered register
always maps to the low 32 bits of memory independently of target
endian configuration.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5773
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 22 Nov 2008 10:09:17 +0000 (10:09 +0000)]
target-ppc: convert exceptions generation to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5772
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 21 Nov 2008 23:49:40 +0000 (23:49 +0000)]
target-alpha: use CPU_Float/CPU_Double instead of ugly casts
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5771
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 21 Nov 2008 22:33:15 +0000 (22:33 +0000)]
target-sh4: fix TLB/MMU emulation
Based on a patch from Vladimir Prus and comments from Shin-ichiro KAWASAKI.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5770
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 21 Nov 2008 21:06:51 +0000 (21:06 +0000)]
SH4: Switch serial emulation to qemu_irq
This patches makes SH serial emulation use qemu_irq in its interface.
* hw/sh.h (sh_serial_init): Take qemu_irq, not intc_source.
* hw/sh7750.c (sh7750_init): Adjust.
* hw/sh_intc.c (sh_intc_set_irq): Don't assert or deassert
irq more than once.
* hw/sh_serial.c (sh_serial_state): Use qemu_irq, not intc_source.
(sh_serial_clear_fifo, sh_serial_ioport_write)
(sh_serial_receive_byte): Adjust.
(sh_serial_init): Take qemu_irq, not intc_source.
(Vladimir Prus)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5769
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 21 Nov 2008 21:06:42 +0000 (21:06 +0000)]
SH4: Use qemu_irq in timer emulation.
* hw/sh.h (tmu012_init): Accept qemu_irq, not intc_source.
* hw/sh7750.c (sh7750_init): Pass qemu_irq to tmu012_init.
* hw/sh_intc.c (sh_intc_set_irq): New.
(sh_intc_init): Allocate irqs.
* hw/sh_intc.h (struct intc_desc): New field irqs.
* hw/sh_timer.c (sh_timer_state): Use qemu_irq, not intc_source.
(sh_timer_update): Use qemu_set_irq, not sh_intc_toggle_source.
(sh_timer_init, tmu012_init): Adjust.
(Vladimir Prus)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5768
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Fri, 21 Nov 2008 17:26:23 +0000 (17:26 +0000)]
CRIS: remove unused op_template.h.
Remove unused file, reported by Laurent Desnogues.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5767
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 21 Nov 2008 16:25:17 +0000 (16:25 +0000)]
e1000 VLAN offload emulation (Alex Williamson)
We're currently ignoring the e1000 VLAN tagging, stripping and filtering
features in the e1000 emulation. This patch adds backing for the
relevant registers and provides a software implementation of the
acceleration, such that a guest can make use of VLANs.
This is mostly (only?) useful for a guest on a bridge (not user mode
networking). The only caveat beyond that is that you need to make sure
the host NIC isn't doing it's own tagging, stripping, or filtering.
This generally means the host NIC on the bridge should not be part of a
VLAN.
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@5766
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 20 Nov 2008 22:15:46 +0000 (22:15 +0000)]
uImage: only try to load 'kernel' images (Hollis Blanchard)
Loading other image types (e.g. IH_TYPE_MULTI, IH_TYPE_FLATDT) is not
implemented.
IH_TYPE_STANDALONE images could be loaded, but would unexpectedly fail if they
tried to use any uboot services.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5765
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 20 Nov 2008 22:14:40 +0000 (22:14 +0000)]
uImage: rename load_uboot() to load_uimage() (Hollis Blanchard)
u-boot is a firmware. uImage is an executable file format.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5764
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 20 Nov 2008 22:11:52 +0000 (22:11 +0000)]
uImage: return base load address (Hollis Blanchard)
Return the base address at which the image was loaded so that callers may keep
track of currently occupied guest memory.
This will be required by the PPC 440 embedded code to avoid hard coding a
device model/initrd location. Other users of this function could make use of
this parameter to avoid hard coding these locations in the future too.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5763
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 20 Nov 2008 22:04:01 +0000 (22:04 +0000)]
uImage: implement gzip support (Hollis Blanchard)
Based on gzip uImage loading code from u-boot.
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5762
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 20 Nov 2008 22:02:56 +0000 (22:02 +0000)]
uImage: don't leak file data or file descriptor (Hollis Blanchard)
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5761
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 20 Nov 2008 16:46:21 +0000 (16:46 +0000)]
Fix typo when using TARGET_FMT_plx and LSI_DEBUG (Ryan Harper)
TARGET_FMT_plx includes a % for you. This fixes the following warning when
compiling with LSI_DEBUG enabled.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5760
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 20 Nov 2008 06:41:29 +0000 (06:41 +0000)]
target-sh4: fix fldi0/fldi1
fldi0/fldi1 should be executed as a nop if FPSCR.FR is set instead of
generating an exception. Reported by Laurent Desnogues.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5759
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 19 Nov 2008 18:00:47 +0000 (18:00 +0000)]
target-sh4: map FP registers as TCG variables
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5758
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 19 Nov 2008 18:00:39 +0000 (18:00 +0000)]
target-sh4: use CPU_Float/CPU_Double instead of ugly casts
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5757
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 19 Nov 2008 17:54:49 +0000 (17:54 +0000)]
target-ppc: fix TCG type errors introduced in r5754
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5756
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 19 Nov 2008 17:41:58 +0000 (17:41 +0000)]
Make KVMSlot a real structure
struct kvm_userspace_memory_region does not use QEMU friendly types to
define memory slots. This results in lots of ugly casting with warnings
on 32-bit platforms.
This patch introduces a proper KVMSlot structure that uses QEMU types to
describe memory slots. This eliminates many of the casts and isolates
the type conversions to one spot.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5755
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 19 Nov 2008 16:10:23 +0000 (16:10 +0000)]
target-ppc: convert fp ops to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5754
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 19 Nov 2008 15:09:54 +0000 (15:09 +0000)]
kvm: de-register mem region for MMIO (Glauber Costa)
Besides unassigned memory, we also don't care about MMIO.
So if we're giving an MMIO area that is already registered,
wipe it out.
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@5753
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 19 Nov 2008 15:03:36 +0000 (15:03 +0000)]
Fix media detection on emulated CDROM (Gary Grebus)
This patch tweaks the ATAPI CDROM emulation to fix an annoyance seen
when running a variety of Linux guests: the desktop GUI shows a CDROM
device as present, but is unable to automount the media and display its
contents.
The patch adds the PLAY_AUDIO capability bit to the data returned by
MODE_SENSE commands. That convinces the guest kernel to determine what
kind of media is present.
Arguably Linux could be smarter about this, but it's my guess there are
few (if any) hardware CDROM drives that don't set the bit, and there are
a large number of Linux distros that exhibit this problem.
Signed-off-by: Gary Grebus <ggrebus@virtualiron.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5752
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Wed, 19 Nov 2008 01:31:52 +0000 (01:31 +0000)]
Only force inlining when optimizing.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5751
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 22:00:43 +0000 (22:00 +0000)]
Add 40-bit DMA support to LSI scsi emulation (Ryan Harper)
This patch fixes Linux machines configured with > 4G of ram and using a
SCSI device.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5750
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 21:52:54 +0000 (21:52 +0000)]
Fix Windows build
ENOBUFS is not defined on Win32. Use ENOMEM instead which is more portable.
This was reported by Hervé Poussineau.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5749
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 21:09:47 +0000 (21:09 +0000)]
x86: Dump debug registers (Jan Kiszka)
As the debug registers are no longer dummies, let's include their
current state into the 'info registers' output and other register dumps.
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@5748
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 21:08:15 +0000 (21:08 +0000)]
x86: Debug register emulation (Jan Kiszka)
Built on top of previously enhanced breakpoint/watchpoint support, this
patch adds full debug register emulation for the x86 architecture.
Many corner cases were considered, and the result was successfully
tested inside a Linux guest with gdb, but I won't be surprised if one
or two scenarios still behave differently in reality.
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@5747
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 20:56:59 +0000 (20:56 +0000)]
Introduce BP_CPU as a breakpoint type (Jan Kiszka)
Add another breakpoint/watchpoint type to BP_GDB: BP_CPU. This type is
intended for hardware-assisted break/watchpoint emulations like the x86
architecture requires.
To keep the highest priority for BP_GDB breakpoints, this type is
always inserted at the head of break/watchpoint lists, thus is found
first when looking up the origin of a debug interruption.
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@5746
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 20:50:36 +0000 (20:50 +0000)]
Add debug exception hook (Jan Kiszka)
This patch allows to hook into the delivery of EXCP_DEBUG so that other
use beyond guest debugging becomes possible.
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@5745
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 20:37:55 +0000 (20:37 +0000)]
Introduce BP_WATCHPOINT_HIT flag (Jan Kiszka)
When one watchpoint is hit, others might have triggered as well. To
support users of the watchpoint API which need to detect such cases,
the BP_WATCHPOINT_HIT flag is introduced and maintained.
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@5744
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 20:30:24 +0000 (20:30 +0000)]
gdbstub: manage CPUs as threads (Jan Kiszka)
This patch enhances QEMU's built-in debugger for SMP guest debugging.
Using the thread support of the gdb remote protocol, each VCPU is mapped
on a pseudo thread and exposed to the gdb frontend. This way you can
easy switch the focus of gdb between the VCPUs and observe their states.
On breakpoint hit, the focus is automatically adjusted just as for
normal multi-threaded application under gdb control.
Furthermore, the patch propagates breakpoint and watchpoint insertions
or removals to all CPUs, not just the current one as it was the case so
far. Without this, SMP guest debugging was practically unfeasible.
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@5743
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 20:26:41 +0000 (20:26 +0000)]
Remove premature memop TB terminations (Jan Kiszka)
Now that we can properly restore the pc on watchpoint hits, there is no
more need for prematurely terminating TBs if watchpoints are present.
Remove all related bits.
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@5742
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 20:24:06 +0000 (20:24 +0000)]
Restore pc on watchpoint hits (Jan Kiszka)
In order to provide accurate information about the triggering
instruction, this patch adds the required bits to restore the pc if the
access happened inside a TB. With the BP_STOP_BEFORE_ACCESS flag, the
watchpoint user can control if the debug trap should be issued on or
after the accessing instruction.
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@5741
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 20:14:20 +0000 (20:14 +0000)]
Respect length of watchpoints (Jan Kiszka)
This adds length support for watchpoints. To keep things simple, only
aligned watchpoints are accepted.
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@5740
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 20:09:43 +0000 (20:09 +0000)]
Set mem_io_vaddr on io_read (Jan Kiszka)
Analogously to write accesses, we have to save the memory address also
on read accesses in order to support read watchpoints.
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@5739
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 20:07:32 +0000 (20:07 +0000)]
Refactor and enhance break/watchpoint API (Jan Kiszka)
This patch prepares the QEMU cpu_watchpoint/breakpoint API to allow the
succeeding enhancements this series comes with.
First of all, it overcomes MAX_BREAKPOINTS/MAX_WATCHPOINTS by switching
to dynamically allocated data structures that are kept in linked lists.
This also allows to return a stable reference to the related objects,
required for later introduced x86 debug register support.
Breakpoints and watchpoints are stored with their full information set
and an additional flag field that makes them easily extensible for use
beyond pure guest debugging.
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@5738
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 19:55:44 +0000 (19:55 +0000)]
gdbstub: Return appropriate watch message to gdb (Jan Kiszka)
Return the appropriate type prefix (r, a, none) when reporting
watchpoint hits to the gdb front-end.
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@5737
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 19:46:41 +0000 (19:46 +0000)]
Refactor translation block CPU state handling (Jan Kiszka)
This patch refactors the way the CPU state is handled that is associated
with a TB. The basic motivation is to move more arch specific code out
of generic files. Specifically the long #ifdef clutter in tb_find_fast()
has to be overcome in order to avoid duplicating it for the gdb
watchpoint fixes (patch "Restore pc on watchpoint hits").
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@5736
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 19:36:03 +0000 (19:36 +0000)]
Convert CPU_PC_FROM_TB to static inline (Jan Kiszka)
as macros should be avoided when possible.
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@5735
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 18 Nov 2008 15:41:18 +0000 (15:41 +0000)]
Make KVM slot management more robust
KVM keeps track of physical memory based on slots in the kernel. The current
code that translates QEMU memory mappings to slots work but is not robust
in the fact of reregistering partial regions of memory.
This patch does the right thing for reregistering partial regions of memory. It
also prevents QEMU from using KVM private slots.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5734
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Tue, 18 Nov 2008 09:32:01 +0000 (09:32 +0000)]
target-ppc: fix regression introduced by commit 5729
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5733
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Tue, 18 Nov 2008 01:42:22 +0000 (01:42 +0000)]
Preliminary AIX support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5732
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Tue, 18 Nov 2008 01:42:17 +0000 (01:42 +0000)]
AIX's assembler does not support local labels, use relative addressing instead
(Laurent Vivier)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5731
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Tue, 18 Nov 2008 01:42:15 +0000 (01:42 +0000)]
Use qemu_memalign instead of memalign in qemu_vmalloc
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5730
c046a42c-6fe2-441c-8c8c-
71466251a162
pbrook [Mon, 17 Nov 2008 14:43:54 +0000 (14:43 +0000)]
TCG variable type checking.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5729
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 16 Nov 2008 19:15:15 +0000 (19:15 +0000)]
target-i386: fix helper_pmovmskb_mmx helper
(malc)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5728
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 16 Nov 2008 13:53:32 +0000 (13:53 +0000)]
Attached patch fixes a series of this warning
when compiling on NetBSD:
warning: array subscript has type 'char'
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5727
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 16 Nov 2008 11:38:43 +0000 (11:38 +0000)]
Use correct trap for syscalls on Sparc32
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5726
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 16 Nov 2008 11:37:18 +0000 (11:37 +0000)]
Fix warnings caused by timer_t, it is 32 bits on Sparc64
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5725
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 16 Nov 2008 11:34:07 +0000 (11:34 +0000)]
Fix no_frame unused warning when SDL is disabled
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5724
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 15 Nov 2008 12:12:08 +0000 (12:12 +0000)]
target-mips: avoid tcg internal error in mfc0/dmfc0
Set t0 to 0 for unimplemented mfc0/dmfc0 instructions. This fixes a tcg
internal error while booting mips linux.
Noticed by Julia Longtin.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5723
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 14 Nov 2008 17:20:15 +0000 (17:20 +0000)]
target-alpha: implement getxuid and getxgid syscalls
This patch implemented the setxuid and setxgid syscalls for Alpha.
These syscalls return two values, both uid/euid and gid/egid.
In addition to returning the first value in $v0, the additional
value is returned in the $a4 register.
The syscalls are used instead of the separate syscalls for those values
used on other architectures (this is probably because Alpha Linux started
out syscall compatible with DEC/OSF/Tru64).
With this patch, the perlbmk benchmarks from Spec2000 run properly.
(Vince Weaver)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5722
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Fri, 14 Nov 2008 17:05:54 +0000 (17:05 +0000)]
ppc-linux-user: handle EXCP_DEBUG
Replace POWERPC_EXCP_DEBUG by EXCP_DEBUG as the former can not happen in
user mode emulation, while the later can happen and should be handled.
Noticed by Andrew Stubbs.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5721
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Thu, 13 Nov 2008 21:33:08 +0000 (21:33 +0000)]
ETRAX-FS: Don't schedule DMA processing without active channels.
Avoid scheduling DMA processing when all channels are stopped or at
end-of-list.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5720
c046a42c-6fe2-441c-8c8c-
71466251a162
edgar_igl [Thu, 13 Nov 2008 21:10:25 +0000 (21:10 +0000)]
ETRAX-FS: Fix a segfault if pflash drive not found.
drive_get_index() returns -1 if a drive isn't found; don't
use -1 to index drives_table.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5719
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 13 Nov 2008 19:37:46 +0000 (19:37 +0000)]
x86: fix warning without CONFIG_KVM (Mark McLoughlin)
Warning is:
target-i386/helper.c: In function `cpu_x86_cpuid':
target-i386/helper.c:1373: warning: implicit declaration of function `host_cpuid'
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5718
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 13 Nov 2008 19:28:04 +0000 (19:28 +0000)]
Fix CPUID ext2 features masking (Avi Kivity)
Typo. Exposes rdtscp which kills some guests.
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@5717
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 13 Nov 2008 19:23:17 +0000 (19:23 +0000)]
block: make raw aio signaling non-blocking (Gerd Hoffman)
This patch switches the read handle of the signaling pipe into
non-blocking mode. This avoids unwanted blocking reads and also
allows to read all bytes out of the signaling pipe in case we got
signaled more that once before the handler ran.
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@5716
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 13 Nov 2008 19:21:00 +0000 (19:21 +0000)]
Define kvm_ioctl in the same way as ioctl
The third argument to ioctl is a ... which allows any value to be passed. In
practice, glibc always treats the argument as a void *.
Do the same thing for the kvm ioctls to keep things consistent with a
traditional ioctl.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5715
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 13 Nov 2008 16:19:54 +0000 (16:19 +0000)]
copyright & license for qemu_sockets.c (Gerd Hoffman)
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@5714
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 12 Nov 2008 22:29:11 +0000 (22:29 +0000)]
Fix brown-paper-bag bugs from live-migration patch (Charles Duffy)
In TCP migration, prevent an endless loop trying to retrieve error status. In
exec migration, set the close pointer in the FdMigrationState structure.
Color me embarrassed.
Signed-off-by: Charles Duffy <charles_duffy@messageone.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5713
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Wed, 12 Nov 2008 20:36:27 +0000 (20:36 +0000)]
Rename hz to hertz to keep AIX happy
The issue was first noticed/addressed by Laurent Vivier in his QEMU on
AIX patches.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5712
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Wed, 12 Nov 2008 20:36:24 +0000 (20:36 +0000)]
Rename misnamed BACK_CHAIN_OFFSET to LR_OFFSET
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5711
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Wed, 12 Nov 2008 20:36:21 +0000 (20:36 +0000)]
Avoid compiler warning
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5710
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Wed, 12 Nov 2008 17:36:08 +0000 (17:36 +0000)]
Don't use "hz" in identifiers to make AIX happy.
malc found AIX headers leak "hz" and so it can't be used there. Change
the occurences in hw/.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5709
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Wed, 12 Nov 2008 17:18:41 +0000 (17:18 +0000)]
Include <strings.h> for ffs().
ffs() is in <strings.h> although bsd compatible systems have it in
<string.h> already. ffs() is used in omap1.c, omap2.c, omap_i2c.c,
bt-sdp.c. These uses can be replaced with clz32() but ffs is more
available. Problem was spotted by malc.
Make host-utils.h formatting more consistent.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5708
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Wed, 12 Nov 2008 16:50:36 +0000 (16:50 +0000)]
r5531 made x509 certs not loadable (original patch from Henrik Holst).
The patch in r5531 which replaced a bunch of strncpy with pstrcpy causes
the x509 credentials from the -vnc parameter to be one character shorter
than entered meaning that there is currently no way to enter x509
certificates...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5707
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Wed, 12 Nov 2008 16:41:32 +0000 (16:41 +0000)]
Implement LSI53C895A quirks exposed by OpenServer (Justin Chevrier).
After going through the debug log and scratching my head for quite some
time. I found the following:
The problem was with this block move:
lsi_scsi: SCRIPTS dsp=
0fae8e50 opcode
01000028 arg
00f63c40
lsi_scsi: DMA addr=0x00f63c40 len=36
The number of bytes to be transferred (len) should be 40 which corresponds
to the block transfer of length 0x28 (from opcode
01000028). Instead we
have a length of 36 (0x24). The code responsible for this is (in
'lsi_do_dma'):
if (count > s->current_dma_len)
count = s->current_dma_len;
Basically we're overwriting the length 40 with the value 36 which I
think we just left over in that variable from an earlier transfer. In my
patch below I initialize s->current_dma_len to s->dbc before we begin
the DMA transfer during Data In phase.
The attached patch gets Openserver 5.0.5 past the hardware detection
(and it lists the hard drive to boot, woohoo). It appears to stop a
little while later (doesn't seem SCSI related), but it's been so long since
I've booted Openserver I'm not sure what's supposted to happen after the HW
detection using the boot/root disks.
Props go to Craig Ringer for the initial post and the code that he posted
some of which is in this patch.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5706
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 12 Nov 2008 15:00:36 +0000 (15:00 +0000)]
fix some variable initizalization issues (Stefano Stabellini)
this patch fixes two variable initialization issues.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5705
c046a42c-6fe2-441c-8c8c-
71466251a162