blueswir1 [Sat, 13 Dec 2008 11:37:02 +0000 (11:37 +0000)]
Fix warning about unused shm_regions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6001
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 13 Dec 2008 09:32:43 +0000 (09:32 +0000)]
Remove unnecessary trailing newlines
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6000
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sat, 13 Dec 2008 09:03:28 +0000 (09:03 +0000)]
Remove useless check_ops.sh
Suggested by Stuart Brady.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5999
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sat, 13 Dec 2008 08:16:43 +0000 (08:16 +0000)]
Fix TARGET_LONG_BITS warning in TCG
Looking at tcg/tcg.c:828, the bug that the warning indicated would show up as
incorrect PC shown in log, only on 32 bit big endian host emulating a 64 bit
target, -d op flag enabled. Now that dyngen is gone, the patch can be applied.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5998
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 12 Dec 2008 20:02:52 +0000 (20:02 +0000)]
Make sure to link librt if we need to.
This is really a stop-gap. The recent thread pool changes uncovered a
deeper issue with how we use librt. We really should be probing for
timer_create and then conditionally enabling that code.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5997
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Fri, 12 Dec 2008 16:41:40 +0000 (16:41 +0000)]
Replace posix-aio with custom thread pool
glibc implements posix-aio as a thread pool and imposes a number of limitations.
1) it limits one request per-file descriptor. we hack around this by dup()'ing
file descriptors which is hideously ugly
2) it's impossible to add new interfaces and we need a vectored read/write
operation to properly support a zero-copy API.
What has been suggested to me by glibc folks, is to implement whatever new
interfaces we want and then it can eventually be proposed for standardization.
This requires that we implement our own posix-aio implementation though.
This patch implements posix-aio using pthreads. It immediately eliminates the
need for fd pooling.
It performs at least as well as the current posix-aio code (in some
circumstances, even better).
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5996
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 11 Dec 2008 22:43:07 +0000 (22:43 +0000)]
PPC405EP: fix fpga write function
I'm not familiar with this device, but I'm fairly certain the writel handler is
not supposed to recurse.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5995
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 11 Dec 2008 22:42:58 +0000 (22:42 +0000)]
baum: remove 2 warnings
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5994
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 11 Dec 2008 22:42:50 +0000 (22:42 +0000)]
target-sh4: remove 2 warnings
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5993
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 11 Dec 2008 22:42:42 +0000 (22:42 +0000)]
target-alpha: fix 2 warnings
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5992
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 11 Dec 2008 22:42:33 +0000 (22:42 +0000)]
target-ppc: remove remaining warnings
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5991
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 11 Dec 2008 22:42:25 +0000 (22:42 +0000)]
target-ppc: remove unneeded include
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5990
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 11 Dec 2008 22:42:14 +0000 (22:42 +0000)]
target-ppc: rework exception code
... also remove two warnings.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5989
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Thu, 11 Dec 2008 22:42:04 +0000 (22:42 +0000)]
target-ppc: remove dead code
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5988
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 11 Dec 2008 21:20:03 +0000 (21:20 +0000)]
pci: virtio: use pci id defines (Gerd Hoffman)
Use the defines added by the previous patch in the virtio drivers.
Also remove the pointless vendor and device args from the
virtio_blk_init() function.
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@5987
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 11 Dec 2008 21:15:42 +0000 (21:15 +0000)]
pci: add default pci subsystem id for all devices (Gerd Hoffman)
This sets a default PCI subsystem ID for all emulated PCI devices. PCI
specs require this, so do it.
In many cases it is enougth to know the PCI ID to handle a device
correctly. Sometimes a device driver must identify the exact piece of
hardware (via PCI Subsystem ID) though.
What does this patch to qemu devices:
Right now the emulated PCI devices have no PCI subsystem ID, only the
PCI ID. The discussed patch sets a default PCI subsystem ID for all
emulated devices. Which will make the qemu devices look pretty much
like in the laptop case: all PCI subsystem IDs will point to qemu by
default.
If a driver emulates a very specific piece of hardware where it has to
emulate more than just the PCI chip, it can overwrite the PCI subsystem
ID without problems. The es1370 driver does that for example.
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@5986
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 11 Dec 2008 21:06:49 +0000 (21:06 +0000)]
Fix handling of disk-only snapshots (Kevin Wolf)
When creating a snapshot with multiple qcow2 disks attached, the current
behaviour is that qemu creates a disk snapshot on all of them and
chooses one to write the VM state to.
Despite having the state only in one image, loadvm tries to restore the
VM state from the middle of nowhere if you run qemu a second time with
only one of the other images attached. In the lucky case it will fail
because there simply is no state, but it also can happen that it loads
the state of a different snapshot (the one this new one is based upon).
The fix is to write a zero VM state size to the images which don't
contain the state, and check this in loadvm.
I agree that you probably have to provoke such things intentionally to
get in a state like this with qemu itself. However, with my second patch
that adds snapshot support to qemu-img it could become a reasonable use
case to have snapshots with and without VM states on the same image.
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5985
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Thu, 11 Dec 2008 21:03:10 +0000 (21:03 +0000)]
Fix crash in kvm.c (Stefan Weil)
Fix crash with kvm enabled.
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@5984
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Thu, 11 Dec 2008 19:39:56 +0000 (19:39 +0000)]
Remove redundant #ifdef _BSD
since _BSD if already handled in osdep.c:qemu_memalign(), we don't need to
check it in the calling function again. getpagesize() is available in BSD.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5983
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Thu, 11 Dec 2008 19:37:54 +0000 (19:37 +0000)]
Rename fls to qemu_fls
Fix compiler warning on OSX, reported by Andreas Faerber.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5982
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Thu, 11 Dec 2008 19:20:41 +0000 (19:20 +0000)]
Add lost semicolons
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5981
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Thu, 11 Dec 2008 19:12:59 +0000 (19:12 +0000)]
Don't require linux/auxvec.h, which isn't always installed with libc.
I'm cross-compiling, and linux/auxvec.h was not installed with my glibc
headers. How about this:
Don't require linux/auxvec.h, which isn't always installed with libc.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5980
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Thu, 11 Dec 2008 19:12:25 +0000 (19:12 +0000)]
Fix compiling without MREMAP_FIXED
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5979
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Thu, 11 Dec 2008 17:30:50 +0000 (17:30 +0000)]
Allow to register a callback with fw_cfg_add_callback()
fw_cfg_add_callback() checks if key has FW_CFG_WRITE_CHANNEL bit set
after masking the key with FW_CFG_ENTRY_MASK.
But as FW_CFG_ENTRY_MASK is ~(FW_CFG_WRITE_CHANNEL | FW_CFG_ARCH_LOCAL),
the bit is never set and function exits.
This patch corrects this by checking the bit before masking the value.
Signed-by-off: Laurent Vivier <Laurent.Vivier@bull.net>
Acked-by: Gleb Natapov <gleb@redhat.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5978
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Thu, 11 Dec 2008 17:29:00 +0000 (17:29 +0000)]
Add missing "static"
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5977
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Thu, 11 Dec 2008 00:14:30 +0000 (00:14 +0000)]
Fix warnings introduced in r5948
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5976
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Thu, 11 Dec 2008 00:14:28 +0000 (00:14 +0000)]
Add missing static qualifier
Caught by -Wstrict-prototypes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5975
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Thu, 11 Dec 2008 00:14:25 +0000 (00:14 +0000)]
adlib.c includes fmopl.h and so needs -DBUILD_Y8950=0 too
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5974
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Wed, 10 Dec 2008 19:18:40 +0000 (19:18 +0000)]
Introduce and use cache-utils.[ch]
Thanks to Segher Boessenkool and Holis Blanchard.
AIX and Darwin cache inquiry:
http://gcc.gnu.org/ml/gcc-patches/2007-08/msg00388.html
Auxiliary vectors:
http://manugarg.googlepages.com/aboutelfauxiliaryvectors
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5973
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 10 Dec 2008 18:17:06 +0000 (18:17 +0000)]
IDE: Implement SEEK command
Signed-off-by: Justin Chevrier <theburner1@yahoo.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5972
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 10 Dec 2008 17:31:51 +0000 (17:31 +0000)]
target-sh4: Add SH bit handling to TLB
This patch adds SH bit handling to sh4's TLB, which is a part of MMU
functionality that had not been implemented in qemu.
Additionally, increment_urc() call in cpu_load_tlb() is deleted, because
the specification explicitly says that URC is not incremented by an LDTLB
instruction (at Section 3 of SH7751 Hardware manual(REJ09B0370-0400)).
Even though URC is not needed to be strictly same as HW because it is a
random number, this condition is not negligible.
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@5971
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 10 Dec 2008 17:31:43 +0000 (17:31 +0000)]
target-sh4: check FD bit for FP instructions
Based on a patch from Vladimir Prus <vladimir@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5970
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 10 Dec 2008 15:38:47 +0000 (15:38 +0000)]
Add 64-bit Block Move support (Direct & Table Indirect) (Ryan Harper)
This patch adds support for 64-bit Block Move instructions. There are multiple
modes for 64-bit Block moves, direct, indirect, and table indirect. This patch
implements Direct and Table indirect moves which are needed by 64-bit windows
and SYM_CONF_DMA_ADDRESSING_MODE=2 for the Linux sym53c8xx_2 driver respectively.
Two helper functions are included to check which mode the guest is using. For
64-bit direct moves, we fetch a 3rd DWORD and store the value in the DBMS
register. For Table Indirect moves, we look into the table for which register
contains the upper 32-bits of the 64-bit address. This selector value indicates
which register to pull the value from and into dnad64 register.
Finally, lsi_do_dma is updated to use the approriate register to build a 64-bit
DMA address if required.
With this patch, Windows XP x64, 2003 SP2 x64, can now install to scsi devices.
Linux SYM_CONF_DMA_ADDRESSING_MODE=2 need a quirk fixup in Patch 4 to function
properly.
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@5969
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 10 Dec 2008 15:37:33 +0000 (15:37 +0000)]
LSI53C895A: Rename dmbs register to dbms (Ryan Harper)
Register name should be: Dynamic Block Move Selector (dbms) according to page
215 of the LSI 53C895A Technical Manual[1].
1. http://www.lsi.com/DistributionSystem/AssetDocument/files/docs/techdocs/storage_stand_prod/SCSIControllers/lsi53c895a_tech_manual.pdf
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@5968
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 10 Dec 2008 15:14:13 +0000 (15:14 +0000)]
Accept password as an argument to 'change vnc password' monitor command (Chris Webb)
This allows easier use of the change vnc password monitor command from
management scripts, without having to implement expect(1)-like behaviour.
Signed-off-by: Chris Webb <chris@arachsys.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5967
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Wed, 10 Dec 2008 15:12:57 +0000 (15:12 +0000)]
Fix off-by-one bug limiting VNC passwords to 7 chars (Chris Webb)
monitor_readline expects buf_size to include the terminating \0, but
do_change_vnc in monitor.c calls it as though it doesn't. The other site
where monitor_readline reads a password (in vl.c) passes the buffer
length
correctly.
Signed-off-by: Chris Webb <chris@arachsys.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5966
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 10 Dec 2008 15:02:33 +0000 (15:02 +0000)]
target-ppc: enable SPE and Altivec in user mode
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5965
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 10 Dec 2008 15:02:24 +0000 (15:02 +0000)]
target-ppc: initialize MSR appropriately in user-mode
Mask the initial MSR with the mask from the PowerPC CPU definition.
Noticed by Nathan Froyd.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5964
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 10 Dec 2008 15:02:16 +0000 (15:02 +0000)]
target-i386: Fix jmp im on x86_64 when executing 32-bit code
When running grub-install (32-bit) on an x86_64 Linux system in qemu, it
hangs on a pagefault forever, because an integer overflow occurs on the
IP on "jmp im". This patch masks overflows for 32 bit IPs on a 64 bit
system, just like it is done for 16 bit IPs already.
Using this patch, x86_64 openSUSE installation works again.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5963
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Wed, 10 Dec 2008 15:02:07 +0000 (15:02 +0000)]
MIPS Magnum: fix memory-mapped i8042
Current implementation of memory-mapped i8042 controller is atm
implemented with an interface shift (it_shift) parameter, like most all
memory-mapped devices in Qemu.
However, this isn't suitable for MIPS Magnum, where i8042 controller is at
0x80005000 up to 0x80005fff.
Thomas Bogendoerfer (from #mipslinux) tested the behaviour of a real
machine, and found that odd addresses are for status/command register, and
even addresses for data register.
Attached patch implements this behaviour by replacing the it_shift
parameter by a mask one.
Incidentally, keyboard now works on OpenBSD 2.3, which accesses i8042
controller at 0x80005060 and 0x80005061.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5962
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 9 Dec 2008 20:09:57 +0000 (20:09 +0000)]
KVM: Coalesced MMIO support
MMIO exits are more expensive in KVM or Xen than in QEMU because they
involve, at least, privilege transitions. However, MMIO write
operations can be effectively batched if those writes do not have side
effects.
Good examples of this include VGA pixel operations when in a planar
mode. As it turns out, we can get a nice boost in other areas too.
Laurent mentioned a 9.7% performance boost in iperf with the coalesced
MMIO changes for the e1000 when he originally posted this work for KVM.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5961
c046a42c-6fe2-441c-8c8c-
71466251a162
aliguori [Tue, 9 Dec 2008 19:59:09 +0000 (19:59 +0000)]
Disable KVM support if the kernel modules have broken memory slot handling
Prior to kvm-80, memory slot deletion was broken in the KVM kernel
modules. In kvm-81, a new capability is introduced to signify that this
problem has been fixed.
Since we rely on being able to delete memory slots, refuse to work with
any kernel module that does not have this capability present.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5960
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:12:40 +0000 (18:12 +0000)]
linux-user: mremap(): handle MREMAP_FIXED and MREMAP_MAYMOVE correctly
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5959
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:12:33 +0000 (18:12 +0000)]
linux-user: mmap: add check if requested memory area fits target address space
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5958
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:12:26 +0000 (18:12 +0000)]
linux-user: Fix h2g usage in page_find_alloc
Paul's comment on my first approach to fix the h2g usage in
page_find_alloc finally open my eyes about what the code is actually
supposed to do:
With the help of h2g_valid we can no cleanly check if a freshly allocate
page (for host usage) is guest-reachable and, in case it is, mark it
reserved in the guest's address range.
Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5957
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:12:18 +0000 (18:12 +0000)]
linux-user: Introduce h2g_valid
Introduce h2g_valid to check if a given host address can be converted
into a valid guest address.
Based on a patch from Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5956
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:12:11 +0000 (18:12 +0000)]
linux-user: Safety belt for h2g
h2g can only work on 64-bit hosts if the provided address is mappable to
the guest range. Neglecting this was already the source for several
bugs. Instrument the macro so that it will trigger earlier in the
future (at least as long as we have this kind of mapping mechanism).
Based on a patch from Jan Kiszka <jan.kiszka@web.de>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5955
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:12:04 +0000 (18:12 +0000)]
linux-user: Move abi_* typedefs into qemu-types.h
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5954
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:11:57 +0000 (18:11 +0000)]
configure: also close stdout when calling cc
Remove some ugly outputs with colorgcc
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5953
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:11:50 +0000 (18:11 +0000)]
target-ppc: kill a warning
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5952
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:11:42 +0000 (18:11 +0000)]
target-ppc: cleanup op_helper.c after TCG conversion
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5951
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:11:33 +0000 (18:11 +0000)]
target-ppc: enable access type in MMU
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5950
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Mon, 8 Dec 2008 18:11:21 +0000 (18:11 +0000)]
target-ppc: memory load/store rework
Rework the memory load/store:
- Unify load/store functions for 32-bit and 64-bit CPU
- Don't swap values twice for bit-reverse load/store functions
in little endian mode.
- On a 64-bit CPU in 32-bit mode, do the address truncation for
address computation instead of every load store. Truncate the
address when incrementing the address (if needed)
- Cache writes to access_types.
- Add a few missing calls to gen_set_access_type()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5949
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 23:44:44 +0000 (23:44 +0000)]
Make memory load functions (ldxx_y(ptr)) take a const pointer.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5948
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 23:35:47 +0000 (23:35 +0000)]
Fix 64-bit targets compilation on ARM host.
Only fix compilation, probably doesn't run.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5947
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 23:33:34 +0000 (23:33 +0000)]
Move spitz microdrive to PCMCIA socket 0.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5946
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 23:26:32 +0000 (23:26 +0000)]
target-alpha: gdb-stub support
(Vince Weaver)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5945
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 23:26:24 +0000 (23:26 +0000)]
MIPS: remove a few warnings
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5944
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 23:26:17 +0000 (23:26 +0000)]
gdbstub: kill a warning
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5943
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 23:26:09 +0000 (23:26 +0000)]
Parallel port reset
Attached patch adds a reset handler to parallel port, so it gets correct
register values after a reset.
(Hervé Poussineau)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5942
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 23:00:00 +0000 (23:00 +0000)]
target-ppc: kill a few warnings
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5941
c046a42c-6fe2-441c-8c8c-
71466251a162
malc [Sun, 7 Dec 2008 22:50:16 +0000 (22:50 +0000)]
Quote configure's arguments and location while storing them in config_host.mak
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5940
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 22:46:49 +0000 (22:46 +0000)]
SH4: SCI improvement
This patch simply implement one register of SH4's SCI := Serial Communication Interface.
R2D evaluation board uses SCI for SPI connection. So, Linux kernel for R2D with
default configuration causes a QEMU assertion failure when it initializes SPI driver.
This patch avoids it and reduces the kernel config modification work for QEMU.
Completing SCI implementation task is left. Other board support is desirable to confirm
this task, which uses SCI for a serial terminal.
(Shin-ichiro KAWASAKI)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5939
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 22:46:42 +0000 (22:46 +0000)]
SH4: kill a few warnings
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5938
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 22:46:31 +0000 (22:46 +0000)]
SH4: Implement FD bit
SH4 manual say that if a floating point instruction is executed while
FD bit in the status register is 1, an exception should be raised. QEMU
presently does not do that, so the kernel does not initialize FP state
for any thread, nor does it save/restore FP state. The most apparent
consequence is that while recent gcc/libc expect double-precision mode
to be set by kernel, they run in single-precision mode, and all FP code
produces wrong values.
This patch fixes this. It also fixes a couple of places where PC was
not updated before handling an exception, although both those places
deal with invalid instruction and don't lead to any user-visible bugs.
(Vladimir Prus)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5937
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 20:35:00 +0000 (20:35 +0000)]
Some cleanups after dyngen removal
1. hostregs_helper.h: fix comment
2. translate-all.c: rename dyngen_code(_search_pc) to
tcg_gen_code(_search_pc)
3. tcg.c:
- rename dyngen_table_op_count to tcg_table_op_count
- no need to generate a log of dyngen ops generated
- rename dyngen_code(_search_pc) to tcg_gen_code(_search_pc)
4. tcg.h: rename dyngen_code(_search_pc) to
tcg_gen_code(_search_pc)
Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5936
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 19:39:58 +0000 (19:39 +0000)]
SH4: Eliminate P4 to A7 mangling (Takashi YOSHII).
Main purpose of this is to delete
*physical = address & 0x1fffffff;
at target-sh4/helper.c:449, using new mmio rule introduced by #5849
This masking is a nice trick to realize P4/A7 duality of SH registers.
But, IMHO, it is logically wrong.
Most of SH4 cpu control registers in P4 area(0xfc000000...0xffffffff) have
one more address called A7 which is usually P4 address with upper 3bits masked.
This is an address only appears in TLB's physical address part.
Current code use trick writing drivers as if they are really in A7
(that's why you see many *_A7 in hw/sh*.c), and using translation P4 to A7.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5935
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 19:33:15 +0000 (19:33 +0000)]
SH: improve the way sh7750 registers io memory (Takashi YOSHII).
Fixes to be needed for commit #5849 "Change MMIO callbacks..."
hw/sh7750.c:
- Divide region of CPU control registers to avoid overlapping
to peripheral modules.
- Delete unused var "icr", which had moved to hw/sh_intc.c.
hw/sm501.c:
- Merge non page aligned palette registers into the region of
control registers.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5934
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 7 Dec 2008 19:30:18 +0000 (19:30 +0000)]
Fix some new warnings introduced after r5022
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5933
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 19:20:43 +0000 (19:20 +0000)]
SH: r2d pci support (Takashi YOSHII).
This patch adds pci support to sh/r2d board.
This is the first user of PCIC support I formerly sent.
PCIC actually is inside of chip with CPU core on SH7751.
But, this code is written as if SH7750 and PCIC are on board.
I care little about physical device boundary, but fitting with qemu's
design.
This patch also adds some BSC (Bus State Controller) registers,
because PCI device driver software have to accesses them.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5932
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 7 Dec 2008 19:16:27 +0000 (19:16 +0000)]
Enable gcc flag -Wredundant-decls
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5931
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 7 Dec 2008 19:15:47 +0000 (19:15 +0000)]
Enable gcc flag -Wstrict-prototypes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5930
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 7 Dec 2008 19:15:17 +0000 (19:15 +0000)]
Enable gcc flag -Wmissing-prototypes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5929
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 19:13:12 +0000 (19:13 +0000)]
SH: Don't subtract bases from access addresses in PCIC.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5928
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 19:08:45 +0000 (19:08 +0000)]
SH: On-chip PCI controller support (Takashi YOSHII).
This patch adds SuperH on-chip PCI controller(PCIC) support.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5927
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 18:59:57 +0000 (18:59 +0000)]
sh4: Add r2d onboard FPGA IRQ controller (Takashi YOSHII).
This adds IRQ controller in FPGA on r2d, and use it for CF.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5926
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 18:49:57 +0000 (18:49 +0000)]
sh4: Add IRL (4-bit encoded interrupt input) support (Takashi YOSHII).
This patch adds IRL(4bit encoded 15 level interrupt input) support
to SH using qemu_irq as a multi level (!=on/off) signal.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5925
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 18:41:42 +0000 (18:41 +0000)]
sh4: mmio based CF support on r2d board (Takashi YOSHII).
This patch adds emulation for a CompactFlash on sh4/r2d board.
The device is CF, but wired to be worked as True-IDE mode, and connected
directly to SH bus. So, this code is to support generally mmio based
IDEs which are supported by "pata_platform" driver in linux kernel.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5924
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 18:15:54 +0000 (18:15 +0000)]
Remove FORCE_RET() and RETURN()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5923
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 18:15:45 +0000 (18:15 +0000)]
Some cleanups after dyngen removal
this patch removes some now unused things after dyngen removal.
1. dyngen-exec.h: op_param, op _jmp and some associated macros
are now unused;
2. Makefile.target: tcg-dyngen is not needed anymore
2. tcg/tcg-op.h, tcg/tcg-opc.h: gen-op.h is dead
3. tcg.c:
- INDEX_op_end is now the first op
- CONFIG_DYNGEN_OP is never defined
4. tcg.h: dyngen_op not needed anymore
5. exec-all.h: remove some ASM macros.
Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5922
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 18:15:36 +0000 (18:15 +0000)]
target-i386: fix CVE-2007-1322
The icebp instruction can be abused to terminate the emulation,
resulting in denial of service.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5921
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 18:15:23 +0000 (18:15 +0000)]
slirp: fix CVE 2007-5729
The emulated network cards in QEMU allows local users to execute arbitrary
code by writing Ethernet frames with a size larger than the slirp's default
MTU, which triggers a heap-based buffer overflow in the slirp library.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5920
c046a42c-6fe2-441c-8c8c-
71466251a162
blueswir1 [Sun, 7 Dec 2008 17:16:42 +0000 (17:16 +0000)]
Some fixes for TCG debugging
This fixes a few things after Paul's improvements for TCG debugging:
- change TCGv_i64 field name to something different from
TCGv_i32
- fix things in tcg that the above change made visible.
Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5919
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 16:23:22 +0000 (16:23 +0000)]
target-ppc: disable single stepping
... which left was enabled by mistake.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5918
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 16:08:49 +0000 (16:08 +0000)]
PXA: Account for offset from page start in a subpage mapping.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5917
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 16:04:13 +0000 (16:04 +0000)]
Update .gitignore
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5916
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 15:45:15 +0000 (15:45 +0000)]
target-ppc: Fix use of uninitialized TCG variable in tlbiva
Silences a warning about possible unitialized use of t0.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5915
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 15:21:23 +0000 (15:21 +0000)]
Remove a few dyngen and dyngen related code
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5914
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 14:18:02 +0000 (14:18 +0000)]
ARM: fix smmul and smmla/smmls usage of registers (Mans Rullgard).
This fixes the destination and accumulator registers for the smmul
and smmla instructions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5913
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 14:03:27 +0000 (14:03 +0000)]
ARM: fix usad8 and usada8 usage of registers (Mans Rullgard).
This fixes the destination and accumulator registers for the usad8
and usada8 instructions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5912
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 13:40:38 +0000 (13:40 +0000)]
Remove gcc 3.4 check
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5911
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 13:40:29 +0000 (13:40 +0000)]
target-ppc: convert SPR accesses to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5910
c046a42c-6fe2-441c-8c8c-
71466251a162
aurel32 [Sun, 7 Dec 2008 13:40:15 +0000 (13:40 +0000)]
target-ppc: remove dead code
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5909
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 13:32:09 +0000 (13:32 +0000)]
Patch holes in ARM translation (Laurent Desnogues).
- gen_set_CF_bit31: use the right value to set carry flag
- shifter_out_im: remove a spurious semi-colon
- add a break for VSHRN, VRSHRN, VQSHRN, VQRSHRN
size 2 case
- sbfx, ubfx are v6t2 instructions
The correct cps user mode behaviour is unclear so it's left out from the
commit until ARM decides it.
Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5908
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 13:20:16 +0000 (13:20 +0000)]
ARM: cosmetics (Laurent Desnogues).
- remove macros that are not used
- remove disass structure is_mem field which value is never used
- correct a typo in a comment.
Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5907
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 12:52:07 +0000 (12:52 +0000)]
omap1: fix uart3 init (Jean-Christophe PLAGNIOL-VILLARD).
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5906
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 12:49:26 +0000 (12:49 +0000)]
omap1: add OSC_12M_SEL UART register support (original patch from Jean-Christophe PLAGNIOL-VILLARD)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5905
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 12:36:28 +0000 (12:36 +0000)]
pflash_cfi01: add Single Byte Program (Jean-Christophe PLAGNIOL-VILLARD).
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5904
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 03:12:54 +0000 (03:12 +0000)]
SCSI: Handle inquiry commands of varying length (Justin Chevrier).
Openserver 5.0.5 sends an Inquiry command to the emulated SCSI disk
expecting a response length of 40 bytes. Currently the response to an
Inquiry command is hardcoded to 36 bytes. When receiving a response of
length 36 instead of 40 Openserver panics.
Modifications to original patch based on feedback from Ryan Harper and Paul
Brook. Thanks guys.
Signed-off-by: Justin Chevrier <address@hidden>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5903
c046a42c-6fe2-441c-8c8c-
71466251a162
balrog [Sun, 7 Dec 2008 03:07:51 +0000 (03:07 +0000)]
LSI53C895A: Handle empty SCRIPTS opcode (Justin Chevrier)
Basically after each DMA transfer the Openserver driver would issue an
empty (0) SCRIPTS opcode. As the opcode is essentially a NOP it has no
second DWORD and therefore the DSP should only be incremented by 4 bytes
instead of the 8 bytes we currently do.
Here's a snippet of the log:
lsi_scsi: Data ready tag=0x100d9 len=16384
...
lsi_scsi: SCRIPTS dsp=
068c5e50 opcode
01000400 arg
07a09000
lsi_scsi: DMA addr=0x07a09000 len=1024
lsi_scsi: SCRIPTS dsp=
068c5e58 opcode
00000000 arg
01000400
lsi_scsi: Wrong phase got 1 expected 0
Note the 2nd DWORD after the empty opcode; the next opcode in the DMA
transfer sequence. As can be expected the address after that has the next
DMA address to use.
After the attached patch the DMA transfer is able to complete successfully:
lsi_scsi: SCRIPTS dsp=
068c5e50 opcode
01000400 arg
07a0d000
lsi_scsi: DMA addr=0x07a0d000 len=1024
lsi_scsi: SCRIPTS dsp=
068c5e5c opcode
01000400 arg
07a0d400
lsi_scsi: DMA addr=0x07a0d400 len=1024
...
Tested againsted Openserver 5.0.5 and Debian ARM.
Signed-off-by: Justin Chevrier <address@hidden>
Acked-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5902
c046a42c-6fe2-441c-8c8c-
71466251a162