Statistics
| Branch: | Revision:

root / target-sparc @ b4566776

# Date Author Comment
71547a3b 06/21/2012 09:45 pm Blue Swirl

qemu-log: use LOG_UNIMP for some target CPU cases

Use LOG_UNIMP for some target CPU cases.

Signed-off-by: Blue Swirl <>
Acked-by: Alexander Graf <>

fbe37ef3 06/07/2012 10:21 am Paolo Bonzini

build: move other target-*/ objects to nested Makefile.objs

Signed-off-by: Paolo Bonzini <>

9cdc8df3 06/07/2012 08:19 am Paolo Bonzini

build: move libobj-y variable to nested Makefile.objs

Signed-off-by: Paolo Bonzini <>

5e8861a0 06/07/2012 08:17 am Paolo Bonzini

build: move obj-TARGET-y variables to nested Makefile.objs

Also drop duplicate occurrence of device-hotplug.o.

Signed-off-by: Paolo Bonzini <>

e59be77a 06/05/2012 12:00 am Andreas Färber

target-sparc: Let cpu_sparc_init() return SPARCCPU

Make include paths for cpu-qom.h consistent, so that SPARCCPU can be
used in cpu.h.

Turn cpu_init macro into a static inline function returning
CPUSPARCState for backwards compatibility.

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

b7e516ce 06/05/2012 12:00 am Andreas Färber

Kill off cpu_state_reset()

In commit 1bba0dc932e8826a7d030df3767daf0bc339f9a2 cpu_reset()
was renamed to cpu_state_reset(), to allow introducing a new cpu_reset()
that would operate on QOM objects.

All callers have been updated except for one in target-mips, so drop all...

00b2ace5 05/12/2012 12:48 pm Artyom Tarasenko

fix block loads broken in commit 30038fd818

Fix UltraSPARC/JPS1/UA2007 VIS block load instructions broken in
30038fd81808f7c3bca92be2369e74c8ca7b3d69.

Signed-off-by: Artyom Tarasenko <>
[: trimmed unwanted part of patch]...

22036a49 05/12/2012 12:46 pm Artyom Tarasenko

Implement address masking for SPARC v9 CPUs

According to UltraSPARC - IIi User's manual:

14.1.11 Address Masking (Impdep #125)
When PSTATE.AM=1, the CALL, JMPL, and RDPC instructions and all traps
transmit zero in the high-order 32-bits of the PC to their specified...

90449c38 04/19/2012 09:52 pm Blue Swirl

sparc: fix qtest

Initialize TCG only when enabled.

Signed-off-by: Blue Swirl <>

20503968 04/14/2012 05:23 pm Blue Swirl

Use uintptr_t for various op related functions

Use uintptr_t instead of void * or unsigned long in
several op related functions, env->mem_io_pc and
GETPC macro.

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

ab7ab3d7 04/07/2012 11:25 am Andreas Färber

target-sparc: QOM'ify CPU

Embed CPUSPARCState as first member of SPARCCPU.
Drop cpu_sparc_close() in favor of object_delete() and a finalizer.
Let cpu_state_reset() call cpu_reset().

Make TYPE_SPARC_CPU non-abstract for now.
Distinguish between "sparc-cpu" and "sparc64-cpu"....

88ca012a 04/07/2012 11:24 am Andreas Färber

target-sparc: Rename cpu_init.c

Align QOM'ified targets, with a view to simplify Makefile.target.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

1658dd32 03/27/2012 10:46 pm Blue Swirl

sparc: pass page aligned addresses to tlb_set_page

Mask incoming page address early so that resolved addresses
are page aligned. Remove further address masking.

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

bc098454 03/24/2012 03:02 pm Stefan Weil

target-sparc: Add compiler attribute to some functions which don't return

helper_raise_exception does not return, nor does do_unaligned_access.

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

0184e266 03/18/2012 02:22 pm Blue Swirl

Sparc: avoid AREG0 wrappers for memory access helpers

Adjust generation of load and store templates so that the functions
take a parameter for CPUState instead of relying on global env.

Remove wrappers. Move remaining memory helpers to ldst_helper.c.

Signed-off-by: Blue Swirl <>

fe8d8f0f 03/18/2012 02:22 pm Blue Swirl

Sparc: avoid AREG0 for memory access helpers

Make memory access helpers take a parameter for CPUState instead
of relying on global env. Introduce wrappers for load and store ops.

Signed-off-by: Blue Swirl <>

361dea40 03/17/2012 06:30 pm Blue Swirl

sparc64: implement PCI and ISA irqs

Generate correct trap for external interrupts. Map PCI and ISA IRQs to
RIC/UltraSPARC-IIi interrupt vectors.

Signed-off-by: Blue Swirl <>

89aaf60d 03/17/2012 06:29 pm Blue Swirl

sparc: reset CPU state on reset

Not strictly accurate for Sparc64 but avoid confusing Valgrind.

Reported-by: Michael S. Tsirkin <>
Signed-off-by: Blue Swirl <>

9349b4f9 03/14/2012 11:20 pm Andreas Färber

Rename CPUState -> CPUArchState

Scripted conversion:
for file in .[hc] hw/.[hc] hw/kvm/*.[hc] linux-user/*.[hc] linux-user/m68k/*.[hc] bsd-user/*.[hc] darwin-user/*.[hc] tcg/*/*.[hc] target-*/cpu.h; do
sed -i "s/CPUState/CPUArchState/g" $file
done...

c5f9864e 03/14/2012 11:20 pm Andreas Färber

target-sparc: Don't overuse CPUState

Scripted conversion:
sed -i "s/CPUState/CPUSPARCState/g" target-sparc/*.[hc]
sed -i "s/#define CPUSPARCState/#define CPUState/" target-sparc/cpu.h

Signed-off-by: Andreas Färber <>
Acked-by: Anthony Liguori <>

1bba0dc9 03/14/2012 11:20 pm Andreas Färber

Rename cpu_reset() to cpu_state_reset()

Frees the identifier cpu_reset for QOM CPUs (manual rename).

Don't hide the parameter type behind explicit casts, use static
functions with strongly typed argument to indirect.

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

cb159821 03/14/2012 11:20 pm Andreas Färber

target-sparc: Typedef struct CPUSPARCState early

Will be needed for qemu_irq_ack callback.

Signed-off-by: Andreas Färber <>
Reviewed-by: Anthony Liguori <>

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