Statistics
| Branch: | Revision:

root / target-sh4 / translate.c @ db8d9902

History | View | Annotate | Download (55.9 kB)

# Date Author Comment
c0ce998e 11/26/2008 12:13 am aliguori

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 <>...

11bb09f1 11/22/2008 12:09 pm aurel32

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 <>
Signed-off-by: Aurelien Jarno <>...

12d96138 11/20/2008 08:41 am aurel32

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 <>

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

66ba317c 11/19/2008 08:00 pm aurel32

target-sh4: map FP registers as TCG variables

Signed-off-by: Aurelien Jarno <>

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

a1d1bb31 11/18/2008 10:07 pm aliguori

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....

a7812ae4 11/17/2008 04:43 pm pbrook

TCG variable type checking.

Signed-off-by: Paul Brook <>

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

b1d8e52e 10/26/2008 03:43 pm blueswir1

Fix undeclared symbol warnings from sparse

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

7526aa2d 10/13/2008 02:32 am aurel32

SH4: Implement MOVUA.L

  • target-sh4/translate.c (_decode_opc): Implement
    MOVUA.L.

(Vladimir Prus)

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

bdbf22e6 10/13/2008 02:32 am aurel32

SH4: fix single-stepping

  • target-sh/translate.c (gen_intermediate_code_internal): If
    singlestep is enabled, update PC before stopping.

(Vladimir Prus)

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

c69e3264 10/13/2008 02:32 am aurel32

SH4: Fix swap.b

The SH4 manual documents the swap.b instruction as follows:

SWAP.B Rm,Rn
Rm → swap lower 2 bytes → Rn

Current QEMU code, in addition to the above, also clears the high
16 bits. The immediate breakage I saw is that htonl function applied...

1ed1a787 10/05/2008 02:47 pm blueswir1

Silence some warnings about no value returned from non-void function

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

36aa55dc 09/21/2008 04:48 pm pbrook

Add concat_i32_i64 op.

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

b55266b5 09/20/2008 11:07 am blueswir1

Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings

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

fe25591e 09/15/2008 11:49 am aurel32

SH4: Privilege check for instructions

This patch adds check for all SH4 instructions which are
executed only in privileged mode.

(Shin-ichiro KAWASAKI)

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

7478757e 09/15/2008 10:34 am aurel32

sh4: doesn't set the cpu_model_str

Fix setting of cpu_model_str for sh4

(Michael Trimarchi)

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

f24f381b 09/15/2008 09:42 am aurel32

SH4: sleep instruction bug fix

fix a bug on 'sleep' instruction, which have caused halt of idle task.
As i386 'hlt' instruction does, it should save PC before sleep.

(Shin-ichiro KAWASAKI)

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

0fd3ca30 09/02/2008 07:18 pm aurel32

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...

86e0abc7 09/02/2008 11:42 am aurel32

SH4: fix a regression introduced in r5122

Signed-off-by: Aurelien Jarno <>

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

17b086f7 09/02/2008 01:12 am aurel32

SH4: Remove dyngen leftovers

Signed-off-by: Aurelien Jarno <>

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

7fdf924f 09/02/2008 01:12 am aurel32

SH4: final conversion to TCG

Signed-off-by: Aurelien Jarno <>

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

cc4ba6a9 09/02/2008 01:11 am aurel32

SH4: convert floating-point ops to TCG

Signed-off-by: Aurelien Jarno <>

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

c55497ec 09/01/2008 04:09 pm aurel32

SH4: Remove most uses of cpu_T0 and cpu_T1

Signed-off-by: Aurelien Jarno <>

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

7efbe241 09/01/2008 04:09 pm aurel32

SH4: TCG optimisations

Signed-off-by: Aurelien Jarno <>

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

69d6275b 09/01/2008 04:09 pm aurel32

SH4: Convert remaining non-fp ops to TCG

Signed-off-by: Aurelien Jarno <>

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

c047da1a 08/31/2008 01:37 am aurel32

SH4: Convert shift functions to TCG

Signed-off-by: Aurelien Jarno <>

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

390af821 08/31/2008 01:07 am aurel32

SH4: convert control/status register load/store to TCG

Signed-off-by: Aurelien Jarno <>

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

fa4da107 08/31/2008 01:07 am aurel32

SH4: Convert memory loads/stores to TCG

Signed-off-by: Aurelien Jarno <>

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

6f06939b 08/30/2008 04:55 pm aurel32

SH4: convert some more arithmetics ops to TCG

Signed-off-by: Aurelien Jarno <>

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

e6afc2f4 08/30/2008 02:01 am aurel32

SH4: convert a few helpers to TCG

Signed-off-by: Aurelien Jarno <>

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

1000822b 08/30/2008 01:32 am aurel32

SH4: convert branch/jump instructions to TCG

(Shin-ichiro KAWASAKI)

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

a4625612 08/29/2008 11:12 pm aurel32

SH4: convert simple compare instructions to TCG

(Shin-ichiro KAWASAKI)

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

3a8a44c4 08/29/2008 07:32 pm aurel32

SH4: convert a few control or system register functions to TCG

Signed-off-by: Aurelien Jarno <>

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

829337a6 08/29/2008 07:08 pm aurel32

SH4: Fix bugs introduce in r5099

Signed-off-by: Aurelien Jarno <>

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

5aa3b1ea 08/29/2008 04:27 pm aurel32

SH4: fix xtrct Rm,Rn (broken in r5103)

Signed-off-by: Aurelien Jarno <>

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

559dd74d 08/29/2008 01:05 pm aurel32

SH4: convert logic and arithmetic ops to TCG

Signed-off-by: Aurelien Jarno <>

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

1e8864f7 08/29/2008 03:48 am aurel32

SH4: use TCG variables for gregs

Signed-off-by: Aurelien Jarno <>

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

3bf73a49 08/29/2008 12:37 am aurel32

SH4: use uint32_t/i32 based types/ops

Use uint32_t/i32 based types/ops to stay consistent with previous dyngen
code. Thanks to Paul Brook for noticing that.

Signed-off-by: Aurelien Jarno <>

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

8f99cc6c 08/29/2008 12:02 am aurel32

SH4: Convert register moves to TCG

Signed-off-by: Aurelien Jarno <>

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

a73d39ba 08/29/2008 12:02 am aurel32

SH4: Convert dyngen registers moves to TCG

Signed-off-by: Aurelien Jarno <>

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

ccc9cc5b 08/29/2008 12:02 am aurel32

SH4: Convert immediate loads to TCG

Signed-off-by: Aurelien Jarno <>

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

988d7eaa 08/29/2008 12:02 am aurel32

SH4: add support for TCG helpers

Signed-off-by: Aurelien Jarno <>

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

6858571c 08/29/2008 12:01 am aurel32

SH4: Init TCG variables

Signed-off-by: Aurelien Jarno <>

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

825c69ce 08/23/2008 12:30 am aurel32

sh4: fix tas.b @Rn instruction

(Shin-ichiro KAWASAKI, based on a patch from Andrzej Zaborowski)

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

7da76bce 08/22/2008 11:58 am aurel32

[sh4] code translation bug fix

When a TLB miss occurs while pre-decrement store instruction such as
"mov.l Rm, @-Rn" is executed, re-execution of such instruction cause
status confusion. Because pre Rn decrement is executed before TLB miss,
re-execution decrements Rn again....

274a9e70 08/22/2008 11:57 am aurel32

[sh4] delay slot bug fix

Two bugs about delay slot handlings are fixed.

- After an exception occurred in delay slot, the branch instruction
before delay slot should be executed again. To judge such re-execution
is necessery or not, delay slot status is kept in SH4 CPU data structure....

833ed386 08/22/2008 11:57 am aurel32

[sh4] sleep instruction

This patch adds sleep instruction.

(Shin-ichiro KAWASAKI)

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

a5f1b965 08/17/2008 11:21 pm blueswir1

Fix warnings that would be generated by gcc -Wstrict-prototypes

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

2cfc5f17 07/18/2008 09:01 pm ths

Small cleanup of gen_intermediate_code(_internal), by Laurent Desnogues.

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

b2437bf2 06/29/2008 03:29 pm pbrook

Add missing static qualifiers.

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

2e70f6ef 06/29/2008 04:03 am pbrook

Add instruction counter.

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

ea2b542a 05/09/2008 09:45 pm aurel32

SH4 MMU improvements

(Shin-ichiro KAWASAKI)

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

d2856f1a 04/28/2008 03:32 am aurel32

Factorize code in translate.c

(Glauber Costa)

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

ca10f867 04/12/2008 12:35 am aurel32

Remove osdep.c/qemu-img code duplication

(Kevin Wolf)

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

24988dc2 03/12/2008 01:22 am aurel32

SH4, fix several instructions

fix instruction code for frchg, fschg, ocbp.
fix addressing mode handling for Rn+, -Rn, (disp,gbr).
fix operation for div0s.
fix comments for mov imm, add imm,
(r0+,gbr), mac.l Rm+,@Rn+.
fix ldb to ldub for or/tst/xor.b #imm,
(r0,gbr)....

57fec1fe 02/01/2008 12:50 pm bellard

use the TCG code generator

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

823029f9 12/02/2007 08:10 am ths

SH4 delay slot code update, by Magnus Damm.

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

b0b3de89 11/11/2007 09:49 pm bellard

fixed FPU rounding init

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

aaed909a 11/10/2007 05:15 pm bellard

added cpu_model parameter to cpu_init()

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

c5e814b2 09/29/2007 10:52 pm ths

Fix rte opcode, by Magnus Damm.

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

5fafdf24 09/17/2007 12:08 am ths

find -type f | xargs sed -i 's/[\t ]$//g' # on most files

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

ce62e5ba 09/11/2007 01:04 pm ths

Fix tb->size mishandling, by Daniel Jacobowitz.

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

8c2cc7ce 08/26/2007 08:48 pm ths

SH4 mov.b fix, by Vince Weaver.

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

022a22c7 06/22/2007 02:47 pm ths

Ignore PR flag in FPSCR when performing fmov, by Magnus Damm.

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

e67888a7 06/22/2007 02:44 pm ths

Document FPSCR usage, by Magnus Damm.

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

e3d8a985 06/22/2007 02:43 pm ths

Use DREG instead of XREG wherever possible, by Magnus Damm.

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

ea6cf6be 06/22/2007 02:12 pm ths

Emulate more fpu opcodes, by Magnus Damm.

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

4c909d14 06/22/2007 01:12 pm ths

Set FD bit in SR to emulate kernel behaviour, by Magnus Damm.

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

f09111e0 05/13/2007 07:33 pm ths

Fix XHACK macro and use FREG if possible, by Magnus Damm.

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

8bf5a804 04/27/2007 02:48 am ths

Fix opcode for sts.l fpul/cpscr, by Magnus Damm.

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

820e00f2 03/19/2007 11:46 pm ths

Define gen_intermediate_code_internal as "static inline".

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

9c2a9ea1 06/18/2006 10:12 pm pbrook

SH bugfixes.

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

397e923f 06/17/2006 11:04 pm pbrook

Remove debug output.

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

355fb23d 06/17/2006 10:58 pm pbrook

SH usermode fault handling.

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

9854bc46 06/17/2006 09:48 pm pbrook

SH4 rts fix.

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

eda9b09b 06/14/2006 06:02 pm bellard

sh4 fmov et al instructions (amatus)

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

fdf9b3e8 04/28/2006 12:07 am bellard

sh4 target (Samuel Tardieu)

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