Statistics
| Branch: | Revision:

root / target-microblaze / cpu.c @ 986a2998

History | View | Annotate | Download (4.9 kB)

# Date Author Comment
a0e372f0 07/27/2013 12:23 am Andreas Färber

cpu: Introduce CPUState::gdb_num_regs and CPUClass::gdb_num_core_regs

CPUState::gdb_num_regs replaces num_g_regs.
CPUClass::gdb_num_core_regs replaces NUM_CORE_REGS.

Allows building gdb_register_coprocessor() for xtensa, too.

As a side effect this should fix coprocessor register numbering for SMP....

00b941e5 07/23/2013 03:41 am Andreas Färber

cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook

Change breakpoint_invalidate() argument to CPUState alongside.

Since all targets now assign a softmmu-only field, we can drop helpers
cpu_class_set_{do_unassigned_access,vmsd}() and device_class_set_vmsd()....

f45748f1 07/23/2013 03:41 am Andreas Färber

cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc()

This moves setting the Program Counter from gdbstub into target code.
Use vaddr type as upper-bound replacement for target_ulong.

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

a0762859 07/09/2013 10:33 pm Andreas Färber

log: Change log_cpu_state[_mask]() argument to CPUState

Since commit 878096eeb278a8ac1ccd6667af73e026f29b4cf5 (cpu: Turn
cpu_dump_{state,statistics}() into CPUState hooks) CPUArchState is no
longer needed.

Add documentation and make the functions available through qemu/log.h...

91b1df8c 07/09/2013 10:33 pm Andreas Färber

cpu: Move reset logging to CPUState

x86 was using additional CPU_DUMP_* flags, so make that configurable in
CPUClass::reset_dump_flags.

This adds reset logging for alpha, unicore32 and xtensa.

Acked-by: Michael Walle <> (for lm32)
Reviewed-by: Richard Henderson <>...

c643bed9 06/28/2013 02:25 pm Andreas Färber

cpu: Change qemu_init_vcpu() argument to CPUState

This allows to move the call into CPUState's realizefn.
Therefore move the stub into libqemustub.a.

Reviewed-by: Richard Henderson <>
Signed-off-by: Andreas Färber <>

c658b94f 06/28/2013 02:25 pm Andreas Färber

cpu: Turn cpu_unassigned_access() into a CPUState hook

Use it for all targets, but be careful not to pass invalid CPUState.
cpu_single_env can be NULL, e.g. on Xen.

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

878096ee 06/28/2013 02:25 pm Andreas Färber

cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks

Make cpustats monitor command available unconditionally.

Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec()
arguments to CPUState.

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

a1bff71c 04/26/2013 12:28 pm Edgar E. Iglesias

microblaze: Add internal base vectors reg

Configurable at CPU synthesis/instantiation.

Reviewed-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

97a8ea5a 03/12/2013 11:35 am Andreas Färber

cpu: Replace do_interrupt() by CPUClass::do_interrupt method

This removes a global per-target function and thus takes us one step
closer to compiling multiple targets into one executable.

It will also allow to override the interrupt handling for certain CPU...

c05efcb1 02/16/2013 03:51 pm Andreas Färber

cpu: Add CPUArchState pointer to CPUState

The target-specific ENV_GET_CPU() macros have allowed us to navigate
from CPUArchState to CPUState. The reverse direction was not supported.
Avoid introducing CPU_GET_ENV() macros by initializing an untyped
pointer that is initialized in derived instance_init functions....

cd0c24f9 02/16/2013 03:50 pm Andreas Färber

target-microblaze: Move TCG initialization to MicroBlazeCPU initfn

Split off TCG initialization from cpu_mb_init() into mb_tcg_init() to
call it from the initfn.

Ensures that a QOM-created MicroBlazeCPU is usable.

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

746b03b2 02/16/2013 03:50 pm Andreas Färber

target-microblaze: Introduce QOM realizefn for MicroBlazeCPU

Introduce realizefn and set realized = true from cpu_mb_init().

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

3ce8b2bc 02/01/2013 02:35 am Andreas Färber

target-microblaze: Mark as unmigratable

cpu_{save,load} were no-ops, so de facto it is unmigratable and no
backwards compatibility to keep. Therefore mark the MicroBlazeCPU as
unmigratable at device level the QOM way and suppress "cpu_common"
VMState registration by dropping CPU_SAVE_VERSION....

55e5c285 01/15/2013 05:09 am Andreas Färber

cpu: Move cpu_index field to CPUState

Note that target-alpha accesses this field from TCG, now using a
negative offset. Therefore the field is placed last in CPUState.

Pass PowerPCCPU to [kvm]ppc_fixup_cpu() to facilitate this change.

Move common parts of mips cpu_state_reset() to mips_cpu_reset()....

8cc9b43f 06/04/2012 11:19 am Peter A. G. Crosthwaite

target-microblaze: lwx/swx: first implementation

Signed-off-by: Peter A. G. Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

b77f98ca 04/24/2012 05:04 pm Andreas Färber

target-microblaze: QOM'ify CPU

Embed CPUMBState as first member of QOM MicroBlazeCPU.

Let CPUClass::reset() call cpu_state_reset() for now.

Signed-off-by: Andreas Färber <>
Tested-by: Peter A. G. Crosthwaite <>...

61b6208f 04/24/2012 05:04 pm Andreas Färber

target-microblaze: QOM'ify CPU reset

Move code from cpu_state_reset() to QOM mb_cpu_reset().

Signed-off-by: Andreas Färber <>
Tested-by: Peter A. G. Crosthwaite <>

d0e71ef5 04/24/2012 05:04 pm Andreas Färber

target-microblaze: QOM'ify CPU init

Move code from cpu_mb_init() to a QOM initfn.

Signed-off-by: Andreas Färber <>
Tested-by: Peter A. G. Crosthwaite <>
[AF: Leave cpu_reset() call in cpu_mb_init()]