Statistics
| Branch: | Revision:

root / target-sparc @ 94befa45

# Date Author Comment
690995a6 10/07/2012 07:39 pm Richard Henderson

target-sparc: Use movcond for FMOV*R

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

b09b2fd3 10/07/2012 07:39 pm Richard Henderson

target-sparc: Cleanup "global" temporary allocation

There are 6 temporaries that disas_sparc_insn relies on having been
allocated. Now that they are no longer referenced across branches,
they need not be allocated as local temps.

Move the allocation/free of these temporaries to make it clear that...

fe1755cb 10/07/2012 07:39 pm Richard Henderson

target-sparc: Fall through from not-taken trap

Now that we've cleaned up global temporary allocation, we can
continue translating the fallthru path of a conditional trap.

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

2a484ecf 10/07/2012 07:39 pm Richard Henderson

target-sparc: Optimize conditionals using SUBCC

Aka "normal" comparisons. We now have the infrastructure to
pass back non-boolean results from gen_compare. This will
automatically get used by both branches and conditional moves.

Signed-off-by: Richard Henderson <>...

c28ae41e 10/07/2012 07:39 pm Richard Henderson

target-sparc: Move sdivx and udivx out of line

The branches around the exception are maintaining an otherwise
unnecessary use of local temps for the cpu destination.

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

bd49ed41 10/07/2012 07:39 pm Richard Henderson

target-sparc: Tidy Tcc

Share more code between unconditional and conditional paths.

Move the computation of the trap number into the conditional BB;
avoid using temporaries that have gone out of scope (cpu_tmp32)
or rely on local temps (cpu_dst).

Fully fold the exception number when the trap number is %g0+imm....

a2ea4aa9 10/07/2012 07:39 pm Richard Henderson

target-sparc: Move taddcctv and tsubcctv out of line

The branches around the exception are maintaining an otherwise
unnecessary use of local temps for the cpu destination.

Note that gen_op_t{add,sub}_cc were identical to gen_op_{add,sub}_cc.

Signed-off-by: Richard Henderson <>...

6cb675b0 10/07/2012 07:39 pm Richard Henderson

target-sparc: Use movcond in mulscc

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

7e480893 10/07/2012 07:39 pm Richard Henderson

target-sparc: Use DisasCompare and movcond in FMOVR, FMOVCC

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

f52879b4 10/07/2012 07:39 pm Richard Henderson

target-sparc: Use DisasCompare and movcond in MOVCC

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

c33f80f5 10/07/2012 07:39 pm Richard Henderson

target-sparc: Use DisasCompare and movcond in MOVR

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

61316742 10/07/2012 07:39 pm Richard Henderson

target-sparc: Use movcond in gen_generic_branch

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

934da7ee 10/07/2012 07:39 pm Richard Henderson

target-sparc: Tidy save_npc interface

Use the cpu_cond global register directly instead of passing it down.

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

2e655fe7 10/07/2012 07:39 pm Richard Henderson

target-sparc: Tidy gen_generic_branch interface

The arguments passed are always the same.
Pass down just DisasContext instead.

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

416fcaea 10/07/2012 07:39 pm Richard Henderson

target-sparc: Introduce DisasCompare and functions to generate it

For the moment gen_cond et al retain their existing interface,
using setcond to turn a (potential) comparison back into a boolean.

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

3a49e759 10/07/2012 07:39 pm Richard Henderson

target-sparc: Use DisasCompare in Tcc

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

dee8913c 10/07/2012 07:39 pm Richard Henderson

target-sparc: Tidy flush_cond interface

We always pass cpu_cond to the cond parameter. Use that global
register directly instead of passing it down.

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

5b12f1e8 10/07/2012 07:39 pm Richard Henderson

target-sparc: Tidy gen_trap_ifnofpu interface

We always pass cpu_cond to the cond parameter. Use that global
register directly instead of passing it down.

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

66442b07 10/07/2012 07:39 pm Richard Henderson

target-sparc: Tidy save_state interface

Use the cpu_cond global register directly instead of passing it down.

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

13a6dd00 10/07/2012 07:39 pm Richard Henderson

target-sparc: Tidy gen_mov_pc_npc interface

Use the cpu_cond global register directly instead of passing it down.

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

76a23ca0 10/07/2012 07:39 pm Richard Henderson

target-sparc: Tidy cpu_dump_state

We don't really need to be told that %g are general register, etc.
Issue a trailing newline to separate blocks.

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

b884fc5e 10/07/2012 07:39 pm Richard Henderson

target-sparc: Make CPU_LOG_INT useful by default

No need for ifdefs when the log mask does just as well.
No need to print pc/npc when we're dumping the whole cpu state.

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

d4a288ef 10/07/2012 07:39 pm Richard Henderson

target-sparc: Tidy do_branch interfaces

We always pass cpu_cond to the r_cond parameter. Use that global
register directly instead of passing it down.

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

bfad6739 10/05/2012 03:58 pm Jim Meyering

sparc: use g_strdup in place of unchecked strdup

This avoids a NULL-deref upon strdup failure.
Also update matching free to g_free.

Signed-off-by: Jim Meyering <>
Signed-off-by: Anthony Liguori <>

fdefe51c 09/27/2012 10:38 pm Richard Henderson

Emit debug_insn for CPU_LOG_TB_OP_OPT as well.

For all targets that currently call tcg_gen_debug_insn_start,
add CPU_LOG_TB_OP_OPT to the condition that gates it.

This is useful for comparing optimization dumps, when the
pre-optimization dump is merely noise....

89c33337 09/15/2012 08:51 pm Blue Swirl

Remove unused CONFIG_TCG_PASS_AREG0 and dead code

Now that CONFIG_TCG_PASS_AREG0 is enabled for all targets,
remove dead code and support for !CONFIG_TCG_PASS_AREG0 case.

Remove dyngen-exec.h and all references to it. Although included by
hw/spapr_hcall.c, it does not seem to use it....

5acfc832 09/08/2012 12:03 pm Aurelien Jarno

target-sparc: fix fcmp{s,d,q} instructions wrt exception

fcmp{s,d,q} instructions are supposed to ignore quiet NaN (contrary to
the fcmpe{s,d,q} instructions), but the current code is wrongly setting
the NV exception in that case. Moreover the current code is duplicated:...

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