Statistics
| Branch: | Revision:

root / target-lm32 @ 20503968

# Date Author Comment
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 <>

3eab1690 04/12/2012 02:08 am Andreas Färber

target-lm32: QOM'ify CPU reset

Move code from cpu_state_reset() into QOM lm32_cpu_reset().

Signed-off-by: Andreas Färber <>
Acked-by: Michael Walle <>

8d7d505a 04/12/2012 02:07 am Andreas Färber

target-lm32: QOM'ify CPU init

Move code from cpu_lm32_init() to an initfn; call cpu_reset()
instead of cpu_state_reset().

Signed-off-by: Andreas Färber <>
Acked-by: Michael Walle <>

fc0ced2f 04/12/2012 02:07 am Andreas Färber

target-lm32: QOM'ify CPU

Embed CPULM32State as first member of QOM LM32CPU.
Let CPUClass::reset() call cpu_state_reset() for now.

Signed-off-by: Andreas Färber <>
Acked-by: Michael Walle <>

de89fd2b 03/31/2012 08:56 pm Michael Walle

target-lm32: init tcg only if available

Once qtest support for target-lm32 arrives, tcg may be disabled.

Signed-off-by: Michael Walle <>

ae7d54d4 03/15/2012 02:48 am Andreas Färber

target-lm32/microblaze: Drop second CPU{LM32, MB}State typedef

Commit 9b9a970a23625de4ae6b7461906a9a0d98d3ca95
(target-lm32/microblaze: Typedef struct CPU{MB,LM32}State)
introduced necessary typedefs for cpu_mmu_index() and mmu.h
respectively.

On some GCC versions this leads to "error: redefinition of typedef"....

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

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

target-lm32: Don't overuse CPUState

Scripted conversion:
sed -i "s/CPUState/CPULM32State/g" target-lm32/*.[hc]
sed -i "s/#define CPULM32State/#define CPUState/" target-lm32/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 <>...

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

target-lm32/microblaze: Typedef struct CPU{MB,LM32}State

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

60ed8d29 02/28/2012 11:33 pm Stefan Weil

target-lm32: Clean includes

config.h was missing in cpu.h.

Acked-by: Michael Walle <>
Signed-off-by: Stefan Weil <>

27f930c5 10/03/2011 01:44 pm Michael Walle

lm32: add missing qemu_init_vcpu() call

Signed-off-by: Michael Walle <>

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

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

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

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

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

dfa5294f 06/14/2011 04:08 am Alexandre Raymond

Remove warning in printf due to type mismatch

----8<----
qemu/target-lm32/translate.c: In function ‘gen_intermediate_code_internal’:
qemu/target-lm32/translate.c:1135: warning: format ‘%zd’ expects type ‘signed size_t’, but argument 4 has type ‘int’
----8<----...

b798068d 05/15/2011 01:27 am Stefan Weil

target-lm32: Remove unused local variables

cppcheck report:
target-lm32/translate.c:587: style:
Variable 't0' is assigned a value that is never used
target-lm32/translate.c:588: style:
Variable 'l1' is assigned a value that is never used

Remove both variables. Please check whether that is the correct solution....

ecbe1de8 05/03/2011 11:48 am Michael Walle

lm32: fix exception handling

Global interrupt enable bit is already saved within the exception handler
helper routine. Thus remove extra code in translation routines.

Additionally, debug exceptions has always DEBA as base address.

Signed-off-by: Michael Walle <>...

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

fcda9863 03/31/2011 09:54 am Michael Walle

lm32: rename raise opcode to scall

To be consistent with the new reference manual.

Signed-off-by: Michael Walle <>
Signed-off-by: Edgar E. Iglesias <>

a5086f95 03/31/2011 09:54 am Michael Walle

lm32: use lookup table for opcodes

Instead of a for loop use a faster lookup table.

Signed-off-by: Michael Walle <>
Signed-off-by: Edgar E. Iglesias <>

45664345 03/07/2011 02:42 pm Michael Walle

lm32: todo and documentation

This patch adds general target documentation and a todo list.

Signed-off-by: Michael Walle <>
Signed-off-by: Edgar E. Iglesias <>

81ea0e13 03/07/2011 02:42 pm Michael Walle

LatticeMico32 target support

This patch adds support for the LatticeMico32 softcore processor by Lattice
Semiconductor.

Signed-off-by: Michael Walle <>
Signed-off-by: Edgar E. Iglesias <>

17c0fa3d 03/07/2011 02:42 pm Michael Walle

lm32: translation routines

This patch adds the main translation routine. All opcodes of the
LatticeMico32 processor are supported and translated to TCG ops.

Signed-off-by: Michael Walle <>
Signed-off-by: Edgar E. Iglesias <>

143e8951 03/07/2011 02:42 pm Michael Walle

lm32: translation code helper

This patch adds translation helper functions.

Signed-off-by: Michael Walle <>
Signed-off-by: Edgar E. Iglesias <>

c6af5693 03/07/2011 02:42 pm Michael Walle

lm32: machine state loading/saving

This patch adds support for saving and loading the processor state.

Signed-off-by: Michael Walle <>
Signed-off-by: Edgar E. Iglesias <>