Statistics
| Branch: | Revision:

root / target-sparc @ fb5590f7

# Date Author Comment
520c0d8d 01/22/2012 11:55 am Andreas Färber

target-sparc: Fix mixup of uint64 and uint64_t

Commit 793a137a41ad4125011c7022cf16a1baa40a5ab6 (target-sparc:
Implement BMASK/BSHUFFLE.) introduced a stray usage of softfloat uint64
type.

Use uint64_t instead.

Signed-off-by: Andreas Färber <>...

cc4aa830 01/03/2012 07:19 pm Avi Kivity

sparc: avoid cpu_get_physical_page_desc()

This reaches into the innards of the memory core, which are being
changed. Switch to a memory API version.

Signed-off-by: Avi Kivity <>

4abf79a4 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in target sub directory

Cc: Richard Henderson <>
Cc: Edgar E. Iglesias <>
Cc: Aurelien Jarno <>
Cc: Alexander Graf <>
Cc: Aurelien Jarno <>
Cc: Blue Swirl <>...

96d922a6 11/19/2011 01:22 pm Fabien Chouteau

Improve "ta 0" shutdown

This patch replace the previous implementation with this simplified and
more complete version (no shutdown when psret == 1).

Signed-off-by: Fabien Chouteau <>
Signed-off-by: Blue Swirl <>

6c073553 10/27/2011 12:00 am Richard Henderson

target-sparc: Implement EDGE* instructions.

Signed-off-by: Richard Henderson <>

add545ab 10/27/2011 12:00 am Richard Henderson

target-sparc: Implement ALIGNADDR* inline.

While ALIGNADDR was implemented out-of-line, ALIGNADDRL was not
implemeneted at all. However, this is a very simple operation
so we're better off doing this inline.

Signed-off-by: Richard Henderson <>

793a137a 10/27/2011 12:00 am Richard Henderson

target-sparc: Implement BMASK/BSHUFFLE.

Signed-off-by: Richard Henderson <>

50c796f9 10/27/2011 12:00 am Richard Henderson

target-sparc: Implement FALIGNDATA inline.

This is a relatively simple sequence of shifts.

Signed-off-by: Richard Henderson <>

2dedf314 10/27/2011 12:00 am Richard Henderson

target-sparc: Implement fpack{16,32,fix}.

Signed-off-by: Richard Henderson <>

f888300b 10/26/2011 11:58 pm Richard Henderson

target-sparc: Implement PDIST.

Signed-off-by: Richard Henderson <>

44516772 10/26/2011 11:57 pm Richard Henderson

target-sparc: Do exceptions management fully inside the helpers.

This reduces the size of the individual translation blocks, since
we only emit a single call for each FOP rather than three. In
addition, clear_float_exceptions expands inline to a single byte store....

ac11f776 10/26/2011 11:55 pm Richard Henderson

target-sparc: Extract float128 move to a function.

Signed-off-by: Richard Henderson <>

45c7b743 10/26/2011 11:55 pm Richard Henderson

target-sparc: Undo cpu_fpr rename.

Signed-off-by: Richard Henderson <>

30038fd8 10/26/2011 11:55 pm Richard Henderson

target-sparc: Change fpr representation to doubles.

This allows a more efficient representation for 64-bit hosts.
It should be about the same for 32-bit hosts, as we can still
access the individual pieces of the double.

Signed-off-by: Richard Henderson <>

61f17f6e 10/26/2011 11:55 pm Richard Henderson

target-sparc: Extract common code for floating-point operations.

Signed-off-by: Richard Henderson <>

141ae5c1 10/26/2011 11:50 pm Richard Henderson

target-sparc: Mark fprs dirty in store accessor.

Signed-off-by: Richard Henderson <>

96eda024 10/26/2011 11:50 pm Richard Henderson

target-sparc: Add accessors for double-precision fpr access.

Begin using i64 quantities to manipulate double-precision values.
On a 64-bit host this will, for the moment, generate less efficient
code; on a 32-bit host code quality should be largely unchanged....

03fb8cfc 10/26/2011 11:50 pm Richard Henderson

target-sparc: Pass float64 parameters instead of dt0/1 temporaries.

Signed-off-by: Richard Henderson <>

f027c3b1 10/26/2011 11:50 pm Richard Henderson

target-sparc: Make FPU/VIS helpers const when possible.

This also removes the unused ENV parameter from these helpers.

Signed-off-by: Richard Henderson <>

208ae657 10/26/2011 11:50 pm Richard Henderson

target-sparc: Add accessors for single-precision fpr access.

Load, store, and "create destination". This version attempts to
change the behaviour of the translator as little as possible. We
previously used cpu_tmp32 as the temporary destination, and we...

fafd8bce 10/26/2011 08:19 pm Blue Swirl

Sparc: split load and store op helpers

Move load and store op helpers top ldst_helper.c.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

870be6ad 10/26/2011 08:19 pm Blue Swirl

Sparc: convert win_helper to trace framework

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

11e66bca 10/26/2011 08:18 pm Blue Swirl

Sparc: convert interrupt helpers to trace framework

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

ec0ceb17 10/26/2011 08:18 pm Blue Swirl

Sparc: convert mmu_helper to trace framework

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

163fa5ca 10/26/2011 08:18 pm Blue Swirl

Sparc: split MMU helpers

Move MMU helpers to mmu_helper.c.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

b7da25f0 10/26/2011 08:18 pm Blue Swirl

Sparc: fix coding style in helper.c

Before the next patch, fix coding style of the areas affected.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

7a5e4488 10/26/2011 08:18 pm Blue Swirl

Sparc: avoid AREG0 for division op helpers

Make [su]div{,cc} helpers take a parameter for CPUState instead
of relying on global env. Move the functions to helper.c.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

79227036 10/26/2011 08:18 pm Blue Swirl

Sparc: avoid AREG0 for softint op helpers and Leon cache control

Make softint op helpers and Leon cache irq manager take a parameter
for CPUState instead of relying on global env. Move the functions
to int{32,64}_helper.c.

Reviewed-by: Richard Henderson <>...

063c3675 10/26/2011 08:18 pm Blue Swirl

Sparc: avoid AREG0 for CWP and PSTATE helpers

Make CWP and PSTATE helpers take a parameter for CPUState instead
of relying on global env. Remove wrapper functions.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

d300854b 10/25/2011 10:30 pm Stefan Weil

target-sparc: Fix use of g_new0 / g_free

g_malloc0 needs g_free instead of free.
While fixing this, I also replaced g_malloc0 by g_new0
as was suggested by Stuart Brady.

Cc: Blue Swirl <>
Signed-off-by: Stefan Weil <>
Signed-off-by: Blue Swirl <>

f37e2a6b 10/25/2011 10:30 pm Stefan Weil

target-sparc: Fix order of function parameters

The MinGW-w64 gcc complains about wrong parameters for
gen_helper_fpadd16_s and three other functions.

gen_helper_fpadd16_s is declared like this (hidden in lots of macros):

static inline void
gen_helper_fpadd16s(TCGv_i32 retval, TCGv_ptr arg1,...

070af384 10/23/2011 06:10 pm Blue Swirl

Sparc: split CWP and PSTATE op helpers

Move CWP and PSTATE op helpers to win_helper.c.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

2ffd9176 10/23/2011 06:09 pm Blue Swirl

Sparc: avoid AREG0 for lazy condition code helpers

Make lazy condition code helpers take a parameter for CPUState instead
of relying on global env.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

cffc5818 10/23/2011 06:09 pm Blue Swirl

Sparc: split lazy condition code handling op helpers

Move lazy condition code handling op helpers to cc_helper.c.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

2e2f4ade 10/23/2011 06:09 pm Blue Swirl

Sparc: avoid AREG0 for float and VIS ops

Make floating point and VIS ops take a parameter for CPUState instead
of relying on global env.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

1bccec25 10/23/2011 06:08 pm Blue Swirl

Sparc: split FPU and VIS op helpers

Move FPU op helpers to fop_helper.c. Move VIS op helpers to vis_helper.c,
compile it only for Sparc64.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

99ca0219 10/23/2011 06:08 pm Blue Swirl

Sparc: fix coding style

Before the next patches, fix coding style of the areas affected.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

bc265319 10/23/2011 06:08 pm Blue Swirl

Sparc: avoid AREG0 for raise_exception and helper_debug

Make raise_exception() and helper_debug() take a parameter for
CPUState instead of relying on global env. Move the functions
to helper.c.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

2336c1f1 10/23/2011 06:08 pm Blue Swirl

Sparc: move trivial functions from op_helper.c

These functions don't need access to CPUState or already pass it,
so relocating them from op_helper.c to helper.c and int64_helper.c
is trivial.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

ab3b491f 10/23/2011 06:07 pm Blue Swirl

Sparc: split helper.c

Move CPU init to cpu_init.c and interrupt handling to int32_helper.c
for Sparc32 and int64_helper.c for Sparc64.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

c65f6fd4 10/23/2011 06:05 pm Blue Swirl

Sparc: fix coding style

Before the next patch, fix coding style of the areas affected.

Reviewed-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

bccd9ec5 10/01/2011 12:31 pm Blue Swirl

softmmu_header: pass CPUState to tlb_fill

Pass CPUState pointer to tlb_fill() instead of architecture local
cpu_single_env hacks.

Signed-off-by: Blue Swirl <>

44520db1 09/10/2011 09:12 pm Fabien Chouteau

Gdbstub: Fix back-trace on SPARC32

Gdb expects all registers windows to be flushed in ram, which is not the case
in Qemu. Therefore the back-trace generation doesn't work. This patch adds a
function to handle reads (and only read) in stack frames as if windows were...

de18f87e 09/10/2011 05:56 pm Blue Swirl

Sparc64: remove useless variable

Remove a useless variable, spotted by clang analyzer:
/src/qemu/target-sparc/op_helper.c:3904:18: warning: unused variable 'tmp' [-Wunused-variable]
target_ulong tmp = val;
The error message is actually incorrect since the variable is used....

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

97b348e7 08/07/2011 12:32 pm Blue Swirl

Remove unused is_softmmu parameter from cpu_handle_mmu_fault

Parameter is_softmmu (and its evil mutant twin brother is_softmuu)
is not used in cpu_*_handle_mmu_fault() functions, remove them
and adjust callers.

Acked-by: Richard Henderson <>...

548f66db 08/06/2011 06:08 pm Artyom Tarasenko

Fix handling of conditional branches in delay slot of a conditional branch

Check whether dc->npc is dynamic before using its value for branch.

Signed-off-by: Artyom Tarasenko <>
Signed-off-by: Blue Swirl <>

67494323 08/02/2011 12:26 am Blue Swirl

Sparc: fix non-faulting unassigned memory accesses

Commit b14ef7c9ab41ea824c3ccadb070ad95567cca84e
introduced cpu_unassigned_access() function. On Sparc,
the function does not restore AREG0 used for global CPUState
on function exit, causing bugs with non-faulting unassigned...

3e457172 07/30/2011 12:41 pm Blue Swirl

exec.h cleanup

Move softmmu_exec.h include directives from target-*/exec.h to
target-*/op_helper.c. Move also various other stuff only used in
op_helper.c there.

Define global env in dyngen-exec.h.

For i386, move wrappers for segment and FPU helpers from user-exec.c...

ccb57e0e 07/30/2011 11:26 am Tsuneo Saito

SPARC64: fix fnor* and fnand*

Fix the problem that result values are not assigned to the destination
registers.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

638737ad 07/30/2011 11:26 am Tsuneo Saito

SPARC64: implement %fprs dirty bits

Implement %fprs.DU/DL bits.
The FPU sets %fprs.DL and %fprs.DU when values are assigned to %f0-31
and %f32-63 respectively.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

3b8b030a 07/22/2011 06:31 pm Stefan Weil

target-sparc: Fix compiler errors (format strings)

This change is needed because commit 06e12b65
now uses an unsigned long long value
(uint64_t && unsigned long long => unsigned long long).

Cc: Tsuneo Saito <>
Cc: Blue Swirl <>...

d1afc48b 07/21/2011 11:02 pm Tsuneo Saito

SPARC64: implement addtional MMU faults related to nonfaulting load

This patch implements MMU faults caused by TTE.NFO and TTE.E:
- access other than nonfaulting load to a page marked NFO should
raise data_access_exception
- nonfaulting load to a page marked with E bit should raise...

b7785d20 07/21/2011 11:01 pm Tsuneo Saito

SPARC64: implement MMU miss traps on nonfaulting loads

Nonfaulting loads should raise fast_data_access_MMU_miss traps as
normal loads do. It is up to the guest OS kernel that detect MMU misses
on nonfaulting load instructions and make them complete without signaling....

103dcbe5 07/21/2011 11:01 pm Tsuneo Saito

SPARC64: fix fault status overwritten on nonfaulting load

cpu_get_phys_page_nofault() calls get_physical_address() twice,
that results in overwriting the fault status in the SFSR.
We need this change in order for nonfaulting loads to raising MMU faults
as normal loads do....

b64b6436 07/21/2011 10:59 pm Tsuneo Saito

SPARC64: split cpu_get_phys_page_debug() from cpu_get_phys_page_nofault()

This patch makes cpu_get_phys_page_debug() independent from
cpu_get_phys_page_nofault() in advance of implementing nonfaulting load.
This also modifies cpu_get_phys_page_nofault() to be compiled only on...

321365ab 07/21/2011 10:59 pm Tsuneo Saito

SPARC64: introduce a convenience function for getting physical addresses

Introduce cpu_sparc_get_phys_page() to be used as a help for splitting
cpu_get_phys_page_debug() from cpu_get_phys_page_nofault().

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

ccc76c24 07/21/2011 10:58 pm Tsuneo Saito

SPARC64: SFSR cleanup and fix

Add macros for SFSR fields and use macros instead of magic numbers.
Also fix the update of the register fields on MMU faults.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

06e12b65 07/21/2011 10:57 pm Tsuneo Saito

SPARC64: TTE bits cleanup

Add macros for TTE bits and modify to use macros instead of
magic numbers.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

b14ef7c9 07/21/2011 12:28 am Blue Swirl

Fix unassigned memory access handling

cea5f9a28faa528b6b1b117c9ab2d8828f473fef exposed bugs in unassigned memory
access handling. Fix them by always passing CPUState to the handlers.

Reported-by: Hervé Poussineau <>
Signed-off-by: Blue Swirl <>

b5176d27 07/21/2011 12:11 am Tsuneo Saito

SPARC64: treat UA2007 ASI_BLK_* as translating ASIs.

UA2007 ASI_BLK_* should be added in is_translating_asi().

Signed-off-by: Tsuneo Saito <>
Acked-by: Artyom Tarasenko <>
Signed-off-by: Blue Swirl <>

b7d69dc2 07/20/2011 11:44 pm Tsuneo Saito

SPARC64: add missing break on fmovdcc

"break" is missing on V9 fmovdcc (%icc).

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

afcb7375 07/20/2011 11:44 pm Tsuneo Saito

SPARC64: fix VIS1 SIMD signed compare instructions

The destination registers of SIMD signed compare instructions
(fcmp*<16|32>) are not FP registers but general purpose r registers.
Comparisons should be freg_rs1 CMP freg_rs2, that were reversed.

Signed-off-by: Tsuneo Saito <>...

f838e2c5 07/14/2011 08:30 pm Blue Swirl

Sparc: fix FPU and AM enable checks for translation

Translation used incorrectly CPUState fields directly to check
for FPU enable state and 32 bit address masking on Sparc64.

Fix by using TB flags instead.

Signed-off-by: Blue Swirl <>

d8e586ff 07/14/2011 06:36 pm Tsuneo Saito

SPARC64: C99 comment fix for block-transfer ASIs

Fixed C99 comments on block-tranfer ASIs.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

d920bde9 07/14/2011 06:36 pm Tsuneo Saito

SPARC64: Add JPS1 ASI_BLK_AIU[PS]L ASIs for ldfa and stfa

Support JPS1 little endian block transfer ASIs.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

073a0444 07/14/2011 06:36 pm Tsuneo Saito

SPARC64: Add UA2007 ASI_BLK_AIU[PS]L? ASIs for stfa

Support UA2007 block store ASIs for stfa instructions.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

41317e2e 07/14/2011 06:36 pm Tsuneo Saito

SPARC64: Add UA2007 ASI_BLK_AIU[PS]L? ASIs for ldfa

Support UA2007 block load ASIs for ldfa instructions.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

5f06b547 07/14/2011 06:36 pm Tsuneo Saito

SPARC64: fp_disabled checks on stfa/stdfa/stqfa

stfa/stdfa/stqfa instructions should raise fp_disabled exceptions
if %pstate.PEF==0 or %fprs.FEF==0.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

e1ef36c4 07/14/2011 06:36 pm Tsuneo Saito

SPARC64: Implement stfa/stdfa/stqfa instrcutions properly

This patch implements sparcv9 stfa/stdfa/stqfa instructions
with non block-store ASIs.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

8872eb4f 07/14/2011 06:35 pm Tsuneo Saito

SPARC64: fp_disabled checks on ldfa/lddfa/ldqfa

ldfa/lddfa/ldqfa instructions should raise fp_disabled exceptions
if %pstate.PEF==0 or %fprs.FEF==0.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

4183f36d 07/14/2011 06:34 pm Tsuneo Saito

SPARC64: Implement ldfa/lddfa/ldqfa instructions properly

This patch implements sparcv9 ldfa/lddfa/ldqfa instructions
with non block-load ASIs.

Signed-off-by: Tsuneo Saito <>
Signed-off-by: Blue Swirl <>

8e91ed30 07/02/2011 12:28 am Artyom Tarasenko

fix cpu_cc_src and cpu_cc_src2 corruption in udivx and sdivx

udivx and sdvix don't modify condition flags, so they shall not
overwrite cpu_cc_*

Signed-off-by: Artyom Tarasenko <>
Signed-off-by: Blue Swirl <>

2b41f10e 06/26/2011 09:25 pm Blue Swirl

Remove exec-all.h include directives

Most exec-all.h include directives are now useless, remove them.

Signed-off-by: Blue Swirl <>

f081c76c 06/26/2011 09:25 pm Blue Swirl

Move cpu_has_work and cpu_pc_from_tb to cpu.h

Move functions cpu_has_work() and cpu_pc_from_tb() from exec.h to cpu.h. This is
needed by later patches.

Signed-off-by: Blue Swirl <>

f3e27037 06/26/2011 09:25 pm Blue Swirl

exec.h: fix coding style and change cpu_has_work to return bool

Before the next patch, fix coding style of the areas affected.

Change the type of the return value from cpu_has_work() and
qemu_cpu_has_work() to bool.

Signed-off-by: Blue Swirl <>

e67768d0 06/26/2011 09:25 pm Blue Swirl

sparc: move do_interrupt to helper.c

do_interrupt() was mixing CPUState pointer passed from caller
and global env (AREG0).

Fix by moving the function to helper.c. Introduce a helper for calling
change_pstate() safely from outside of execution context.

Signed-off-by: Blue Swirl <>

fa3c9559 06/26/2011 09:25 pm Blue Swirl

sparc: fix coding style of the area to be moved

Before the next patch, fix coding style of the areas affected.

Signed-off-by: Blue Swirl <>

1162c041 06/26/2011 09:25 pm Blue Swirl

cpu_loop_exit: avoid using AREG0

Make cpu_loop_exit() take a parameter for CPUState instead of relying
on global env.

Signed-off-by: Blue Swirl <>

4d2c2b77 06/26/2011 09:25 pm Blue Swirl

Sparc32: dummy implementation of MXCC MMU breakpoint registers

Add dummy registers for SuperSPARC MXCC MMU counter breakpoints, save
and load all MXCC registers.

Signed-off-by: Blue Swirl <>

9bf0960a 06/08/2011 11:04 am Alexandre Raymond

Fix compilation warning due to missing header for sigaction (followup)

This patch removes all references to signal.h when qemu-common.h is included
as they become redundant.

Signed-off-by: Alexandre Raymond <>
Signed-off-by: Stefan Hajnoczi <>

dcfd14b3 05/22/2011 01:47 pm Blue Swirl

Delete unused tb_invalidate_page_range

tb_invalidate_page_range() was intended to be used to invalidate an
area of a TB which the guest explicitly flushes from i-cache. However,
QEMU detects writes to code areas where TBs have been generated, so
his has never been useful....

86f1f2ae 05/14/2011 10:30 am Blue Swirl

sparc64: fix incorrect BPcc target sign extension

Fix wrong number of bits used when sign extending the branch offset of BPcc
instructions.

Reported-by: Artyom Tarasenko <>
Signed-off-by: Blue Swirl <>

a2589e5c 05/14/2011 10:30 am Blue Swirl

sparc64: fix wrpstate and wrtl on delay slot

Use TCG local to work around TCG register flush due to a branch.

Thanks to Artyom Tarasenko, Igor Kovalenko and Aurelien Jarno.

Signed-off-by: Blue Swirl <>

618ba8e6 04/20/2011 11:37 am Stefan Weil

Remove unused function parameter from cpu_restore_state

The previous patch removed the need for parameter puc.
Is is now unused, so remove it.

Cc: Aurelien Jarno <>
Reviewed-by: Peter Maydell <>
Signed-off-by: Stefan Weil <>

e87b7cb0 04/20/2011 11:33 am Stefan Weil

Remove unused function parameters from gen_pc_load and rename the function

Function gen_pc_load was introduced in commit
d2856f1ad4c259e5766847c49acbb4e390731bd4.
The only reason for parameter searched_pc was
a debug statement in target-i386/translate.c....

4b4a72e5 04/10/2011 01:45 am Stefan Weil

Fix conversions from pointer to tcg_target_long

tcg_gen_exit_tb takes a parameter of type tcg_target_long,
so the type casts of pointer to long should be replaced by
type casts of pointer to tcg_target_long (suggested by Blue Swirl).

These changes are needed for build environments where...

eda48c34 03/13/2011 04:44 pm Paolo Bonzini

inline cpu_halted into sole caller

All implementations are now the same, and there is only one caller,
so inline the function there.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

60f356e8 02/01/2011 07:01 pm Fabien Chouteau

SPARC: Fix Leon3 cache control

The "leon3_cache_control_int" (op_helper.c) function is called within leon3.c
which leads to segfault error with the global "env".

Now cache control is a CPU feature and everything is handled in op_helper.c.

Signed-off-by: Fabien Chouteau <>...

b04d9890 01/24/2011 10:54 pm Fabien Chouteau

SPARC: Emulation of Leon3

Leon3 is an open-source VHDL System-On-Chip, well known in space industry (more
information on http://www.gaisler.com).

Leon3 is made of multiple components available in the GrLib VHDL library.
Three devices are implemented: uart, timers and IRQ manager....

4a2ba232 01/24/2011 10:54 pm Fabien Chouteau

SPARC: Add asr17 register support

This register is activated by CPU_FEATURE_ASR17 in the feature field.

Signed-off-by: Fabien Chouteau <>
Signed-off-by: Blue Swirl <>

1b5f56b1 01/18/2011 11:34 pm Blue Swirl

sparc: fix NaN handling

Fix several bugs in NaN handling: * e in fcmpe* only changes qNaN handling * FCC is unchanged if an exception is raised * clear previous FTT before setting it

Reported-by: Mateusz Loskot <>
Signed-off-by: Blue Swirl <>

0fcec41e 12/28/2010 08:44 pm Aurelien Jarno

target-sparc: fix udiv(cc) and sdiv(cc)

Since commit 5a4bb580cdb10b066f9fd67658b31cac4a4ea5e5, Xorg crashes on
a Debian Etch image. The commit itself is fine, but it triggers a bug
due to wrong computation of flags for udiv(cc) and sdiv(cc).

This patch only compute cc_src2 for the cc version of udiv/sdiv. It...

d41160a3 12/19/2010 03:42 pm Blue Swirl

Sparc: implement monitor command 'info tlb'

Use existing dump_mmu() to implement monitor command 'info tlb'.

Signed-off-by: Blue Swirl <>

047b39e4 12/04/2010 10:51 pm Stefan Weil

target-sparc: Use fprintf_function (format checking)

This change was missing in commit
9a78eead0c74333a394c0f7bbfc4423ac746fcd5.

Cc: Blue Swirl <>
Signed-off-by: Stefan Weil <>
Signed-off-by: Blue Swirl <>

ef5e4ea5 12/03/2010 03:09 pm Peter Maydell

target-sparc: remove unused functions cpu_lock(), cpu_unlock()

9a78eead 10/30/2010 11:01 am Stefan Weil

target-xxx: Use fprintf_function (format checking)

fprintf_function uses format checking with GCC_FMT_ATTR.

Format errors were fixed in
  • target-i386/helper.c
  • target-mips/translate.c
  • target-ppc/translate.c

Cc: Blue Swirl <>
Signed-off-by: Stefan Weil <>...

a88790a1 07/03/2010 09:48 am Paolo Bonzini

remove exec-all.h inclusion from cpu.h

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

10eb0cc0 07/03/2010 09:48 am Paolo Bonzini

move cpu_pc_from_tb to target-*/exec.h

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

fb170183 06/02/2010 11:08 pm Igor V. Kovalenko

sparc64: fix umul and smul insns

- truncate and sign or zero extend operands before multiplication
- factor out common code to gen_op_multiply() with parameter to sign/zero extend
- call gen_op_multiply from gen_op_umul and gen_op_smul

Signed-off-by: Igor V. Kovalenko <>...