qemu/stubs
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
..
Makefile.objs monitor/target-ppc: Define target_get_monitor_def 2015-11-12 14:53:36 +11:00
arch-query-cpu-def.c qerror: Clean up QERR_ macros to expand into a single string 2015-06-22 18:20:40 +02:00
bdrv-commit-all.c libqemustub: add stubs to be able to use qemu-char.c 2014-06-19 18:44:18 +03:00
clock-warp.c aio / timers: Rearrange timer.h & make legacy functions call non-legacy 2013-08-22 19:14:24 +02:00
cpu-get-clock.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
cpu-get-icount.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
cpus.c cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
dump.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
fd-register.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
fdset-add-fd.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
fdset-find-fd.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
fdset-get-fd.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
fdset-remove-fd.c monitor: fix use after free 2014-08-18 14:39:10 -04:00
gdbstub.c stubs: Optimize dependencies for gdbstub.c 2014-03-02 17:13:31 +04:00
get-fd.c monitor: move include files to include/monitor/ 2012-12-19 08:31:32 +01:00
get-next-serial.c libqemustub: add stubs to be able to use qemu-char.c 2014-06-19 18:44:18 +03:00
get-vm-name.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
iothread-lock.c main-loop: introduce qemu_mutex_iothread_locked 2015-07-01 15:45:50 +02:00
is-daemonized.c Add qtest for vhost-user 2014-06-19 18:44:18 +03:00
kvm.c kvm: Introduce kvm_arch_irqchip_create 2014-02-26 17:20:00 +00:00
machine-init-done.c libqemustub: add stubs to be able to use qemu-char.c 2014-06-19 18:44:18 +03:00
migr-blocker.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
mon-is-qmp.c qerror: Finally unused, clean up 2015-06-22 18:20:40 +02:00
mon-printf.c stubs: fully replace qemu-tool.c and qemu-user.c 2013-01-12 17:19:08 +01:00
monitor-init.c libqemustub: add stubs to be able to use qemu-char.c 2014-06-19 18:44:18 +03:00
notify-event.c libqemustub: add stubs to be able to use qemu-char.c 2014-06-19 18:44:18 +03:00
qmp_pc_dimm_device_list.c pc-dimm: add a function to calculate VM's current RAM size 2015-03-04 13:00:04 -05:00
qtest.c stubs: Fix warning caused by missing include statement 2015-02-10 10:26:05 +03:00
replay-user.c replay: interrupts and exceptions 2015-11-06 10:16:00 +01:00
replay.c replay: initialization and deinitialization 2015-11-06 10:16:03 +01:00
reset.c libqemustub: Add qemu_[un]register_reset() stubs 2013-01-08 21:03:43 +01:00
runstate-check.c blockdev: Refuse to open encrypted image unless paused 2014-03-14 16:24:42 +01:00
set-fd-handler.c iohandler: Change return type of qemu_set_fd_handler to "void" 2015-06-12 13:26:21 +01:00
slirp.c slirp: set mainloop timeout with more precise value 2013-09-17 12:26:05 +02:00
sysbus.c libqemustub: sysbus_get_default() stub 2013-01-08 21:03:43 +01:00
target-get-monitor-def.c monitor/target-ppc: Define target_get_monitor_def 2015-11-12 14:53:36 +11:00
target-monitor-defs.c monitor: remove target-specific code from monitor.c 2015-09-16 17:33:32 +02:00
uuid.c scsi: prefer UUID to VM name for the initiator name 2013-09-12 08:46:21 +02:00
vhost.c vhost: add vhost_has_free_slot() interface 2015-10-22 14:34:48 +03:00
vm-stop.c block: asynchronously stop the VM on I/O errors 2014-06-23 16:36:13 +08:00
vmstate.c stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY 2013-03-12 10:35:54 +01:00