qemu
15 years agoFix array subscript above array bounds error
blueswir1 [Sun, 14 Sep 2008 19:16:21 +0000 (19:16 +0000)]
Fix array subscript above array bounds error

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5219 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: Convert op_andi to TCG
aurel32 [Sun, 14 Sep 2008 18:30:32 +0000 (18:30 +0000)]
ppc: Convert op_andi to TCG

Replace op_andi_... with tcg_gen_andi_tl.

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@5218 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: Convert ctr, lr moves to TCG
aurel32 [Sun, 14 Sep 2008 18:30:23 +0000 (18:30 +0000)]
ppc: Convert ctr, lr moves to TCG

Introduce TCG variables cpu_{ctr,lr} and replace op_{load,store}_{lr,ctr}
with tcg_gen_mov_tl.

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@5217 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoalpha: add tests
aurel32 [Sun, 14 Sep 2008 17:18:29 +0000 (17:18 +0000)]
alpha: add tests

This patch creates tests/alpha directory and adds an "hello world"
program as well as two tests.

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@5216 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMIPS: Fix tlbwi/tlbwr
aurel32 [Sun, 14 Sep 2008 17:09:56 +0000 (17:09 +0000)]
MIPS: Fix tlbwi/tlbwr

In CP0 Index register, bit 31 means 'Probe Failure', while lowest bits
contain the TLB index.

In tlbwi and tlbwr instructions, this Probe Failure bit must be ignored
when reading the TLB index.

Attached patch fixes it.

(Hervé Poussineau)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5215 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMIPS: remove empty cpu_mips_irqctrl_init()
aurel32 [Sun, 14 Sep 2008 16:38:57 +0000 (16:38 +0000)]
MIPS: remove empty cpu_mips_irqctrl_init()

cpu_mips_irqctrl_init() function in hw/mips_timer.c is empty.
Attached patch removes it, and its callers.

(Hervé Poussineau)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5214 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-mips: fix warning
aurel32 [Sun, 14 Sep 2008 16:28:26 +0000 (16:28 +0000)]
target-mips: fix warning

Attached patch fixes a warning in cpu_mips_find_by_name().
'name' is a string, so it should be declared as char*, not unsigned char*.

(Hervé Poussineau)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5213 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoalpha: fix helper.h
aurel32 [Sun, 14 Sep 2008 16:09:56 +0000 (16:09 +0000)]
alpha: fix helper.h

the content of target-alpha/helper.h is duplicated twice

(Tristan Gingold)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5212 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoalpha: fix lit sign
aurel32 [Sun, 14 Sep 2008 16:09:15 +0000 (16:09 +0000)]
alpha: fix lit sign

according to the alpha arch reference, the literal field of an operate
instruction is unsigned:

If bit <12> of the instruction is 1, an 8-bit zero-extended literal
constant is formed by bits
<20:13> of the instruction. The l teral is interpreted as a positive
integer bet ween 0 and 255
and is zero-extended to 64 bits.

This patch fixes the mis-interpretation of the literal field.

(Tristan Gingold)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5211 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoqemu_next_deadline_dyntick is only used on Linux and Windows
blueswir1 [Sun, 14 Sep 2008 13:59:34 +0000 (13:59 +0000)]
qemu_next_deadline_dyntick is only used on Linux and Windows

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5210 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRevert incorrect part of r4574 to avoid unaligned traps with i386 target
blueswir1 [Sun, 14 Sep 2008 13:56:10 +0000 (13:56 +0000)]
Revert incorrect part of r4574 to avoid unaligned traps with i386 target

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5209 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDisplay TCGCond name in tcg dumper (original patch by Tristan Gingold)
blueswir1 [Sun, 14 Sep 2008 07:45:17 +0000 (07:45 +0000)]
Display TCGCond name in tcg dumper (original patch by Tristan Gingold)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5208 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoEnable gcc flag -Wwrite-strings
blueswir1 [Sun, 14 Sep 2008 06:46:31 +0000 (06:46 +0000)]
Enable gcc flag -Wwrite-strings

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5207 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warnings that would be caused by gcc flag -Wwrite-strings
blueswir1 [Sun, 14 Sep 2008 06:45:34 +0000 (06:45 +0000)]
Fix warnings that would be caused by gcc flag -Wwrite-strings

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5206 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agousb: Support for removing device by host addr, improved auto filter syntax (Max Krasn...
aliguori [Sun, 14 Sep 2008 01:07:41 +0000 (01:07 +0000)]
usb: Support for removing device by host addr, improved auto filter syntax (Max Krasnyansky)

This patch adds support for removing USB devices by host address.
Which is usefull for things like libvirtd because there is no easy way to
find guest USB address of the host device.
In other words you can now do:
   usb_add host:3.5
   ...
   usb_del host:3.5
Before the patch 'usb_del' did not support 'host:' notation.

----
Syntax for specifying auto connect filters has been improved.
Old syntax was
    host:bus.dev
    host:pid:vid
New syntax is
    host:auto:bus.dev[:pid:vid]
In both the cases any attribute can be set to "*".

New syntax is more flexible and lets you do things like
    host:3.*:5533:* /* grab any device on bus 3 with vendor id 5533 */

It's now possible to remove auto filters. For example:
    usb_del host:auto:3.*:5533:*

Active filters are printed after all host devices in 'info usb' output.
Which now looks like this:

  Device 1.1, speed 480 Mb/s
    Hub: USB device 1d6b:0002, EHCI Host Controller
  Device 1.4, speed 480 Mb/s
    Class 00: USB device 1058:0704, External HDD
  Auto filters:
    Device 3.* ID *:*

Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5205 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agohusb: Make control transactions asynchronous (Max Krasnyansky)
aliguori [Sun, 14 Sep 2008 01:06:09 +0000 (01:06 +0000)]
husb: Make control transactions asynchronous (Max Krasnyansky)

USB is 99.8% async now :). 0.2% is the three control requests that
we need to execute synchronously. We could off-load that to a thread
or something but it's not worth the pain since those requests are
performed only during device initialization (ie when device is
connected to the VM).

The change is a bit bigger than I wanted due to the fact that generic
handle_packet()/handle_control() interface was not designed for
async transactions. So I ended up adding custom handle_packet()
code to usb-linux. We can make that generic if/when some other
component needs it.

Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5204 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse 64 bit loads for tlb addend only if addend size is 64 bits
blueswir1 [Sat, 13 Sep 2008 20:07:53 +0000 (20:07 +0000)]
Use 64 bit loads for tlb addend only if addend size is 64 bits

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5203 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix stack alignment on Sparc32 host
blueswir1 [Sat, 13 Sep 2008 20:05:32 +0000 (20:05 +0000)]
Fix stack alignment on Sparc32 host

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5202 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix mulscc with high bits set in either src1 or src2
blueswir1 [Sat, 13 Sep 2008 17:20:52 +0000 (17:20 +0000)]
Fix mulscc with high bits set in either src1 or src2

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5201 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoLet snapshot work with protocols
aliguori [Fri, 12 Sep 2008 17:54:13 +0000 (17:54 +0000)]
Let snapshot work with protocols

realpath will horribly mangle a protocol so avoid calling it if the backing
file is a protocol.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5200 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agouhci: Change default transaction lifetime to 32 frames (Max Krasnyansky)
aliguori [Thu, 11 Sep 2008 19:42:00 +0000 (19:42 +0000)]
uhci: Change default transaction lifetime to 32 frames (Max Krasnyansky)

Transaction lifetime was originally set to 10 frames. That was an arbitrary
number I picked without much thinking :).
I'm changing that to 32 frames because things like interrupt transfers
and such are scheduled at that rate. It seems like 1/32 is accepted as
lowest supported rate. OHCI, for example, defines exactly 32 interrupt
heads.

While testing USB webcam under XP I noticed that interrupt transactions were
being canceled and then resubmitted on a regular basis, which works but is a
waste of CPU cycles. This change fixes that.
All other devices I have are not affected.

Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5199 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoEnable gcc flag -Wendif-labels
blueswir1 [Thu, 11 Sep 2008 18:16:02 +0000 (18:16 +0000)]
Enable gcc flag -Wendif-labels

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5198 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoOnly build compatfd when using AIO and make sure to always init AIO
aliguori [Thu, 11 Sep 2008 18:00:19 +0000 (18:00 +0000)]
Only build compatfd when using AIO and make sure to always init AIO

OpenBSD doesn't use AIO so don't try to build compatfd when not using AIO.

Also make sure to call qemu_aio_init() from bdrv_init.  Everything that uses
bdrv calls bdrv_init so it makes sense to init aio from there instead of
in every single tool.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5197 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoWrite zeros to high bits of y, based on patch by Vince Weaver
blueswir1 [Thu, 11 Sep 2008 16:01:02 +0000 (16:01 +0000)]
Write zeros to high bits of y, based on patch by Vince Weaver

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5196 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake sure to read siginfo from signalfd
aliguori [Thu, 11 Sep 2008 14:32:27 +0000 (14:32 +0000)]
Make sure to read siginfo from signalfd

Otherwise, we'll idle at 100% cpu.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5195 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix the build on non-Linux systems
aliguori [Thu, 11 Sep 2008 14:18:56 +0000 (14:18 +0000)]
Fix the build on non-Linux systems

It turns out, we're never reading from the signalfd() which is causing it to
remain readable forever.  I'll fix this up but I thought I'd commit this fix
in the interim.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5194 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoConvert rest of ops using float32 to TCG, remove FT0 and FT1
blueswir1 [Wed, 10 Sep 2008 20:09:22 +0000 (20:09 +0000)]
Convert rest of ops using float32 to TCG, remove FT0 and FT1

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5193 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoPartially convert float128 conversion ops to TCG
blueswir1 [Wed, 10 Sep 2008 20:00:18 +0000 (20:00 +0000)]
Partially convert float128 conversion ops to TCG

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5192 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoConvert basic 64 bit VIS ops to TCG
blueswir1 [Wed, 10 Sep 2008 19:57:35 +0000 (19:57 +0000)]
Convert basic 64 bit VIS ops to TCG

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5191 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoConvert basic 32 bit VIS ops to TCG
blueswir1 [Wed, 10 Sep 2008 19:57:13 +0000 (19:57 +0000)]
Convert basic 32 bit VIS ops to TCG

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5190 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoConvert basic float32 ops to TCG
blueswir1 [Wed, 10 Sep 2008 19:54:51 +0000 (19:54 +0000)]
Convert basic float32 ops to TCG

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5189 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd missing files from previous commit.
aliguori [Wed, 10 Sep 2008 18:18:38 +0000 (18:18 +0000)]
Add missing files from previous commit.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5188 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse signalfd() to work around signal/select race
aliguori [Wed, 10 Sep 2008 15:45:19 +0000 (15:45 +0000)]
Use signalfd() to work around signal/select race

This patch introduces signalfd() to work around the signal/select race in
checking for AIO completions.  For platforms that don't support signalfd(), we
emulate it with threads.

There was a long discussion about this approach.  I don't believe there are any
fundamental problems with this approach and I believe eliminating the use of
signals is a good thing.

I've tested Windows and Linux using Windows and Linux guests.  I've also checked
for disk IO performance regressions.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5187 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoqemu-nbd: remove useless parameter from nbd_negotiate() (Laurent Vivier)
aliguori [Wed, 10 Sep 2008 15:23:19 +0000 (15:23 +0000)]
qemu-nbd: remove useless parameter from nbd_negotiate() (Laurent Vivier)

This patch removes "BlockDriverState *bs" from nbd_negotiate() because
it is not used.

Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.fr>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5186 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoImplement ldxfsr/stxfsr, fix ld(x)fsr masks, convert to TCG
blueswir1 [Tue, 9 Sep 2008 19:02:49 +0000 (19:02 +0000)]
Implement ldxfsr/stxfsr, fix ld(x)fsr masks, convert to TCG

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5185 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd missing "static"
blueswir1 [Tue, 9 Sep 2008 18:56:59 +0000 (18:56 +0000)]
Add missing "static"

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5184 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd gitignore file
aliguori [Tue, 9 Sep 2008 17:15:28 +0000 (17:15 +0000)]
Add gitignore file

While QEMU officially uses SVN, there are a number of unofficial git
repositories that many developers use.  Adding a .gitignore (derived from the
svn:ignore) will make their lives a lot easier.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5183 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix up pxe boot (Glauber Costa)
aliguori [Tue, 9 Sep 2008 14:49:02 +0000 (14:49 +0000)]
Fix up pxe boot (Glauber Costa)

As discussed in
http://lists.gnu.org/archive/html/qemu-devel/2008-08/msg00667.html,
current pxe boot is broken for some use cases. The problem
goes away if we reduce the number of allowed bits in the address space
to 32 (which has the side effect of reducing guest max mem size to 4Gb).

After digging for a while, it turns out that it happens because pxelinux
tries to access address 0x10009e9a6, which does not fit a 32-bit address.
A closer look, however, reveals this access is totally valid: It's just
0x9e9a6 with an add carry.

To avoid this, this patch casts the address passed to the POPL macro to
a 32-bit value. This is also done, although just theorectically, for
PUSHL too.

Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Reported-by: Chris Lalancette <clalance@redhat.com>
CC: Eduardo Habkost <ehabkost@redhat.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5182 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoalpha: only print debug information to the log file
aurel32 [Sun, 7 Sep 2008 21:00:01 +0000 (21:00 +0000)]
alpha: only print debug information to the log file

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5181 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoTCG: Use x86-64 zero extension instructions.
pbrook [Sun, 7 Sep 2008 18:07:39 +0000 (18:07 +0000)]
TCG: Use x86-64 zero extension instructions.

Signed-off-by: Paul Brook <paul@codesourcery.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5180 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoImplement TCG sign extension ops for x86-64.
pbrook [Sun, 7 Sep 2008 17:45:15 +0000 (17:45 +0000)]
Implement TCG sign extension ops for x86-64.

Signed-off-by: Paul Brook <paul@codesourcery.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5179 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix libvdeplug link test.
pbrook [Sun, 7 Sep 2008 16:42:53 +0000 (16:42 +0000)]
Fix libvdeplug link test.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5178 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix a typo in fpsub32
blueswir1 [Sat, 6 Sep 2008 17:54:01 +0000 (17:54 +0000)]
Fix a typo in fpsub32

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5177 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoConvert most env fields to TCG registers
blueswir1 [Sat, 6 Sep 2008 17:51:43 +0000 (17:51 +0000)]
Convert most env fields to TCG registers

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5176 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSilence gcc warning about constant overflow
blueswir1 [Sat, 6 Sep 2008 17:50:16 +0000 (17:50 +0000)]
Silence gcc warning about constant overflow

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5175 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoEnable gcc flag -Wundef
blueswir1 [Sat, 6 Sep 2008 17:49:06 +0000 (17:49 +0000)]
Enable gcc flag -Wundef

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5174 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix most warnings that would be caused by gcc flag -Wundef
blueswir1 [Sat, 6 Sep 2008 17:47:39 +0000 (17:47 +0000)]
Fix most warnings that would be caused by gcc flag -Wundef

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5173 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSome little fixes on QEMU
aurel32 [Sat, 6 Sep 2008 16:31:30 +0000 (16:31 +0000)]
Some little fixes on QEMU

- some vectors can be declared as "const"
- test on CONFIG_VNC_TLS is done for two times while just one is enough.

(Carlo Bramini)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5172 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agofix alpha cmovxx instruction
aurel32 [Fri, 5 Sep 2008 19:07:53 +0000 (19:07 +0000)]
fix alpha cmovxx instruction

The CMOV instruction is defined by the alpha manual as:

CMOVxx Ra.rq,Rb.rq,Rc.wq !Operate format
CMOVxx Ra.rq,#b.ib,Rc.wq !Operate format

Operation:
IF TEST(Rav, Condition_based_on_Opcode) THEN
Rc ← Rbv

The current qemu behavior inverses Ra and Rb.  This is fixed by this
patch.

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@5171 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Mask off the cache selection bit after MMU translations.
edgar_igl [Fri, 5 Sep 2008 17:17:55 +0000 (17:17 +0000)]
CRIS: Mask off the cache selection bit after MMU translations.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5170 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRevert "TCG: enable debug"
aurel32 [Fri, 5 Sep 2008 14:22:24 +0000 (14:22 +0000)]
Revert "TCG: enable debug"

This reverts commit 5166, commited by error.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5169 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: Convert op_subf to TCG
aurel32 [Fri, 5 Sep 2008 14:19:51 +0000 (14:19 +0000)]
ppc: Convert op_subf to TCG

Replace op_subf with tcg_gen_sub_tl.

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@5168 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: Convert op_add, op_addi to TCG
aurel32 [Fri, 5 Sep 2008 14:19:43 +0000 (14:19 +0000)]
ppc: Convert op_add, op_addi to TCG

Replace op_add with tcg_gen_add_tl and op_addi with tcg_gen_addi_tl.

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@5167 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoTCG: enable debug
aurel32 [Fri, 5 Sep 2008 14:19:35 +0000 (14:19 +0000)]
TCG: enable debug

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5166 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoTCG fixes for target-cris
aurel32 [Fri, 5 Sep 2008 14:19:27 +0000 (14:19 +0000)]
TCG fixes for target-cris

This patch fixes TCG errors reported on the CRIS target when TCG_DEBUG
is enabled.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Acked-by: Edgar E. Iglesias <edgar@axis.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5165 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoTCG fixes for target-mips
aurel32 [Fri, 5 Sep 2008 14:19:17 +0000 (14:19 +0000)]
TCG fixes for target-mips

This patch fixes TCG errors reported on the MIPS target when TCG_DEBUG
is enabled.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Acked-by: Thiemo Seufer <ths@networkno.de>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5164 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix swapped mvz/mvs instructions.
pbrook [Fri, 5 Sep 2008 12:33:31 +0000 (12:33 +0000)]
Fix swapped mvz/mvs instructions.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5163 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: replace op_set_FT0 with tcg_gen_movi_i64
aurel32 [Thu, 4 Sep 2008 20:34:31 +0000 (20:34 +0000)]
ppc: replace op_set_FT0 with tcg_gen_movi_i64

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@5162 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoalpha: add target-alpha/helper.h (missing from commit r5150)
aurel32 [Thu, 4 Sep 2008 20:24:14 +0000 (20:24 +0000)]
alpha: add target-alpha/helper.h (missing from commit r5150)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5161 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: Convert nip moves to TCG
aurel32 [Thu, 4 Sep 2008 18:06:03 +0000 (18:06 +0000)]
ppc: Convert nip moves to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5160 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: remove unused code
aurel32 [Thu, 4 Sep 2008 17:16:41 +0000 (17:16 +0000)]
ppc: remove unused code

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5159 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: Convert CRF moves to TCG
aurel32 [Thu, 4 Sep 2008 17:06:47 +0000 (17:06 +0000)]
ppc: Convert CRF moves to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5158 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: fix fpr TCG registers creation
aurel32 [Thu, 4 Sep 2008 15:49:12 +0000 (15:49 +0000)]
ppc: fix fpr TCG registers creation

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5157 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: Convert FPR moves to TCG
aurel32 [Thu, 4 Sep 2008 14:43:54 +0000 (14:43 +0000)]
ppc: Convert FPR moves to TCG

Replace op_{load,store}_fpr with tcg_gen_mov_i64.
Introduce i64 TCG variables cpu_fpr[0..31] and cpu_FT[0..2].

This obsoletes op_template.h for REG > 7.

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@5156 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: Convert Altivec register moves to TCG
aurel32 [Thu, 4 Sep 2008 14:43:45 +0000 (14:43 +0000)]
ppc: Convert Altivec register moves to TCG

Replace op_{load,store}_avr with helpers gen_{load,store}_avr.
Introduce two sets of i64 TCG variables, cpu_avr{h,l}[0..31], and
cpu_AVR{h,l}[0..2].

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@5155 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: cleanup register types
aurel32 [Thu, 4 Sep 2008 05:26:09 +0000 (05:26 +0000)]
ppc: cleanup register types

- use target_ulong for gpr and dyngen registers
- remove ppc_gpr_t type
- define 64-bit dyngen registers for GPE register on 32-bit targets

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5154 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: Convert GPR moves to TCG
aurel32 [Thu, 4 Sep 2008 05:25:47 +0000 (05:25 +0000)]
ppc: Convert GPR moves to TCG

Replace op_load_gpr_{T0,T1,T2} and op_store_{T0,T1,T2} with tcg_gen_mov_tl.
Introduce TCG variables cpu_gpr[0..31].

For the SPE extension, assure that ppc_gpr_t is only uint64_t for ppc64.
Introduce TCG variables cpu_gprh[0..31] for upper 32 bits on ppc and helpers
gen_{load,store}_gpr64. Based on suggestions by Aurelien, Thiemo and Blue.

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@5153 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoalpha: convert a few more instructions to TCG
aurel32 [Thu, 4 Sep 2008 04:36:20 +0000 (04:36 +0000)]
alpha: convert a few more instructions to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5152 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoalpha: directly access ir registers
aurel32 [Thu, 4 Sep 2008 04:36:00 +0000 (04:36 +0000)]
alpha: directly access ir registers

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5151 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoconvert of few alpha insn to TCG
aurel32 [Thu, 4 Sep 2008 04:35:40 +0000 (04:35 +0000)]
convert of few alpha insn to TCG

(based on a patch from Tristan Gingold)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5150 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agohw/pcnet: use qemu_socket.h
aurel32 [Thu, 4 Sep 2008 04:35:20 +0000 (04:35 +0000)]
hw/pcnet: use qemu_socket.h

(Jan Kiszka)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5149 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoImplement no-fault loads
blueswir1 [Wed, 3 Sep 2008 17:32:10 +0000 (17:32 +0000)]
Implement no-fault loads

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5148 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoETRAX-FS: Add support for DMA channel resets, needed for recent linux kernels.
edgar_igl [Wed, 3 Sep 2008 14:40:17 +0000 (14:40 +0000)]
ETRAX-FS: Add support for DMA channel resets, needed for recent linux kernels.

* Correct numeric value for the RST state.
* Add emulation for reseting a DMA channel.
* Add a few sanity checks.
* Make it compile with debug enabled.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5147 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Avoid a few unecessary steps in the mmu.
edgar_igl [Wed, 3 Sep 2008 14:31:11 +0000 (14:31 +0000)]
CRIS: Avoid a few unecessary steps in the mmu.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5146 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Remove redundant code.
edgar_igl [Wed, 3 Sep 2008 14:30:27 +0000 (14:30 +0000)]
CRIS: Remove redundant code.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5145 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDelete unused variable.
ths [Tue, 2 Sep 2008 23:55:28 +0000 (23:55 +0000)]
Delete unused variable.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5144 c046a42c-6fe2-441c-8c8c-71466251a162

15 years ago[ppc] Convert op_moven_T2_T0 to TCG
aurel32 [Tue, 2 Sep 2008 23:26:40 +0000 (23:26 +0000)]
[ppc] Convert op_moven_T2_T0 to TCG

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@5143 c046a42c-6fe2-441c-8c8c-71466251a162

15 years ago[ppc] Convert op_reset_T0, op_set_{T0, T1} to TCG
aurel32 [Tue, 2 Sep 2008 23:26:32 +0000 (23:26 +0000)]
[ppc] Convert op_reset_T0, op_set_{T0, T1} to TCG

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@5142 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: R2D-PLUS FPGA: simply unassigned memory triggering
aurel32 [Tue, 2 Sep 2008 23:26:23 +0000 (23:26 +0000)]
SH4: R2D-PLUS FPGA: simply unassigned memory triggering

Use NULL to trigger unassigned memory error on 32-bit accesses instead
of assert(0) as suggested by Blue Swirl.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5141 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agohw/pcnet.c: windows compile fix
aurel32 [Tue, 2 Sep 2008 23:26:13 +0000 (23:26 +0000)]
hw/pcnet.c: windows compile fix

(Eduardo Felipe)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5140 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoBuild fix for gcc-3.3.
ths [Tue, 2 Sep 2008 17:39:45 +0000 (17:39 +0000)]
Build fix for gcc-3.3.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5139 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix sign extension problems with smul and umul (Vince Weaver)
blueswir1 [Tue, 2 Sep 2008 16:33:23 +0000 (16:33 +0000)]
Fix sign extension problems with smul and umul (Vince Weaver)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5138 c046a42c-6fe2-441c-8c8c-71466251a162

15 years ago[ppc] Convert op_move_{T1,T2}_T0 to TCG
aurel32 [Tue, 2 Sep 2008 16:19:05 +0000 (16:19 +0000)]
[ppc] Convert op_move_{T1,T2}_T0 to TCG

Attached patch replaces op_move_T1_T0 and op_move_T2_T0 with
tcg_gen_mov_tl.

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@5137 c046a42c-6fe2-441c-8c8c-71466251a162

15 years ago[ppc] Convert gen_set_{T0,T1} to TCG
aurel32 [Tue, 2 Sep 2008 16:18:55 +0000 (16:18 +0000)]
[ppc] Convert gen_set_{T0,T1} to TCG

The attached patch replaces gen_set_T0 and gen_set_T1 with
tcg_gen_movi_tl.

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@5136 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agopcnet: add loopback mode emulation
aurel32 [Tue, 2 Sep 2008 16:18:46 +0000 (16:18 +0000)]
pcnet: add loopback mode emulation

This patch enhances the pcnet NIC emulation with better loopback mode
support, including CRC generation for looped-back packets in "raw" mode.
The patch has practically no impact on the normal RX and TX path.

Successfully tested against an ancient proprietary pcnet driver that
does a lot of hardware checks on boot-up and now works fine over qemu as
well.

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@5135 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agosh4: Add R2D-PLUS FPGA support.
aurel32 [Tue, 2 Sep 2008 16:18:38 +0000 (16:18 +0000)]
sh4: Add R2D-PLUS FPGA support.

This adds trivial support for the R2D-PLUS FPGA, mostly just for the
versioning information that the kernel uses for IRL mappings, in addition
to handling the heartbeat and poweroff writes.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5134 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agosh4: CPU versioning.
aurel32 [Tue, 2 Sep 2008 16:18:28 +0000 (16:18 +0000)]
sh4: CPU versioning.

Trivial patch adding CPU listing and the ability to do per-subtype
CVR/PVR/PRR values. Presently SH7750R and SH7751R definitions are
provided, as these are the ones in present use in-tree.

The CVR value for SH7751R is intentionally restricted so the kernel
boots, though this will want to be switched to the proper CVR value
once system emulation has sufficiently stabilized.

This also makes it trivial to abstract subtype specific registers like
MMU_PTEA and to set up feature bits in line with the kernel probing for
things like conditionalizing FPU/DSP context.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5133 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: fix a regression introduced in r5122
aurel32 [Tue, 2 Sep 2008 08:42:16 +0000 (08:42 +0000)]
SH4: fix a regression introduced in r5122

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5132 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix call_pal() prototype for alpha system emulation
aurel32 [Tue, 2 Sep 2008 00:09:35 +0000 (00:09 +0000)]
Fix call_pal() prototype for alpha system emulation

(Hervé Poussineau)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5131 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agox86: Fix powerdown for non-ACPI case
aurel32 [Tue, 2 Sep 2008 00:09:25 +0000 (00:09 +0000)]
x86: Fix powerdown for non-ACPI case

Trivial fix for a corner case: system_shutdown on isapc machines causes
qemu to segfaults due to accessing the uninitialized pm_state. Issue a
system shutdown instead.

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@5130 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix typo in console.c comment
aurel32 [Tue, 2 Sep 2008 00:09:16 +0000 (00:09 +0000)]
Fix typo in console.c comment

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5129 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoReset I32_APIC_BASE on system RESET
aurel32 [Tue, 2 Sep 2008 00:09:08 +0000 (00:09 +0000)]
Reset I32_APIC_BASE on system RESET

Should be done according to spec.

Signed-off-by: Gleb Natapov <gleb@qumranet.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5128 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agosuppress a couple of spurious warnings in scsi-generic.c
aurel32 [Tue, 2 Sep 2008 00:08:58 +0000 (00:08 +0000)]
suppress a couple of spurious warnings in scsi-generic.c

This patch fixes two spurious `may be used uninitialised' warnings
when compiling with some compilers.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5127 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: Remove dyngen leftovers
aurel32 [Mon, 1 Sep 2008 22:12:14 +0000 (22:12 +0000)]
SH4: Remove dyngen leftovers

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5126 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: final conversion to TCG
aurel32 [Mon, 1 Sep 2008 22:12:06 +0000 (22:12 +0000)]
SH4: final conversion to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5125 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: convert floating-point ops to TCG
aurel32 [Mon, 1 Sep 2008 22:11:56 +0000 (22:11 +0000)]
SH4: convert floating-point ops to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5124 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix y register loads and stores
blueswir1 [Mon, 1 Sep 2008 19:35:29 +0000 (19:35 +0000)]
Fix y register loads and stores

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5123 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: Remove most uses of cpu_T[0] and cpu_T[1]
aurel32 [Mon, 1 Sep 2008 13:09:21 +0000 (13:09 +0000)]
SH4: Remove most uses of cpu_T[0] and cpu_T[1]

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5122 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: TCG optimisations
aurel32 [Mon, 1 Sep 2008 13:09:14 +0000 (13:09 +0000)]
SH4: TCG optimisations

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5121 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: Convert remaining non-fp ops to TCG
aurel32 [Mon, 1 Sep 2008 13:09:06 +0000 (13:09 +0000)]
SH4: Convert remaining non-fp ops to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5120 c046a42c-6fe2-441c-8c8c-71466251a162