qemu-e2k/target-ppc
Alexey Kardashevskiy 0a9516c2d6 monitor/target-ppc: Define target_get_monitor_def
At the moment get_monitor_def() returns only registers from statically
defined monitor_defs array. However there is a lot of BOOK3S SPRs
which are not in the list and cannot be printed from the monitor.

This adds a new target platform hook - target_get_monitor_def().
The hook is called if a register was not found in the static
array returned by the target_monitor_defs() hook.

The hook is only defined for POWERPC, it returns registered
SPRs and fails on unregistered ones providing the user with information
on what is actually supported on the running CPU. The register value is
saved as uint64_t as it is the biggest supported register size;
target_ulong cannot be used because of the stub - it is in a "common"
code and cannot include "cpu.h", etc; this is also why the hook prototype
is redefined in the stub instead of being included from some header.

This replaces static descriptors for GPRs, FPRs, SRs with a helper which
looks for a value in a corresponding array in the CPUPPCState.
The immediate effect is that all 32 SRs can be printed now (instead of 16);
later this can be reused for VSX or TM registers.

This replaces callbacks for MSR and XER with static descriptors in
monitor_defs as they are stored in CPUPPCState.

While we are here, this adds "cr" as a synonym of "ccr".

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2015-11-12 14:53:36 +11:00
..
arch_dump.c target-ppc: Set the correct endianness in ELF dump header 2014-06-16 13:24:36 +02:00
cpu-models.c target-ppc: Remove POWER5+ v0.0 that never existed 2015-03-25 22:49:46 +01:00
cpu-models.h target-ppc: Remove POWER5+ v0.0 that never existed 2015-03-25 22:49:46 +01:00
cpu-qom.h monitor/target-ppc: Define target_get_monitor_def 2015-11-12 14:53:36 +11:00
cpu.h ppc: Add/Re-introduce MMU model definitions needed by PR KVM 2015-11-11 11:05:30 +11:00
dfp_helper.c target-ppc: Fix compiler warning 2014-06-24 20:01:24 +04:00
excp_helper.c target-ppc: Fix SRR0 when taking unaligned exceptions 2015-09-20 22:48:39 +02:00
fpu_helper.c target-ppc: Eliminate set_fprf Argument From helper_compute_fprf 2015-01-07 16:16:25 +01:00
gdbstub.c target-ppc: Fix gdbstub for ppc64le-linux-user 2014-07-08 12:10:36 +02:00
helper_regs.h
helper.h target-ppc: Introduce tbegin 2015-01-07 16:16:27 +01:00
int_helper.c target-ppc: fix vcipher, vcipherlast, vncipherlast and vpermxor 2015-09-20 22:48:39 +02:00
kvm_ppc.h ppc: Let kvmppc_reset_htab() return 0 for !CONFIG_KVM 2015-11-11 13:29:04 +11:00
kvm-stub.c
kvm.c ppc/spapr: Add "ibm,pa-features" property to the device-tree 2015-10-23 12:22:40 +11:00
machine.c migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
Makefile.objs kvm_ppc: remove kvmppc_timer_hack 2015-09-20 22:48:38 +02:00
mem_helper.c PPC: Fix lswx bounds checks 2015-11-12 13:15:54 +11:00
mfrom_table_gen.c
mfrom_table.c
misc_helper.c target-ppc: move sdr1 value change detection logic to helper_store_sdr1() 2015-03-09 15:00:05 +01:00
mmu_helper.c ppc: Add/Re-introduce MMU model definitions needed by PR KVM 2015-11-11 11:05:30 +11:00
mmu-hash32.c qemu-log: add log category for MMU info 2014-12-16 18:43:19 +00:00
mmu-hash32.h
mmu-hash64.c target-ppc: Fix warnings from Sparse 2015-03-09 15:00:08 +01:00
mmu-hash64.h target-ppc: Use right page size with hash table lookup 2015-03-09 14:59:53 +01:00
monitor.c monitor/target-ppc: Define target_get_monitor_def 2015-11-12 14:53:36 +11:00
STATUS
timebase_helper.c tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
translate_init.c taget-ppc: Fix read access to IBAT registers higher than IBAT3 2015-11-06 15:42:38 +03:00
translate.c PPC: Allow Rc bit to be set on mtspr 2015-11-12 13:15:54 +11:00
user_only_helper.c