target/arm: Share ARM_PSCI_CALL trace event between TCG and HVF
It is useful to compare PSCI calls of the same guest running under TCG or HVF. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
4695daacc0
commit
06ddd61f81
3 changed files with 8 additions and 1 deletions
|
|
@ -34,6 +34,7 @@
|
|||
#include "target/arm/internals.h"
|
||||
#include "target/arm/multiprocessing.h"
|
||||
#include "target/arm/gtimer.h"
|
||||
#include "target/arm/trace.h"
|
||||
#include "trace.h"
|
||||
#include "migration/vmstate.h"
|
||||
|
||||
|
|
@ -1025,7 +1026,7 @@ static bool hvf_handle_psci_call(CPUState *cpu)
|
|||
int target_el = 1;
|
||||
int32_t ret = 0;
|
||||
|
||||
trace_hvf_psci_call(param[0], param[1], param[2], param[3],
|
||||
trace_arm_psci_call(param[0], param[1], param[2], param[3],
|
||||
arm_cpu_mp_affinity(arm_cpu));
|
||||
|
||||
switch (param[0]) {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#include "internals.h"
|
||||
#include "arm-powerctl.h"
|
||||
#include "target/arm/multiprocessing.h"
|
||||
#include "target/arm/trace.h"
|
||||
|
||||
bool arm_is_psci_call(ARMCPU *cpu, int excp_type)
|
||||
{
|
||||
|
|
@ -79,6 +80,8 @@ void arm_handle_psci_call(ARMCPU *cpu)
|
|||
*/
|
||||
param[i] = is_a64(env) ? env->xregs[i] : env->regs[i];
|
||||
}
|
||||
trace_arm_psci_call(param[0], param[1], param[2], param[3],
|
||||
arm_cpu_mp_affinity(cpu));
|
||||
|
||||
if ((param[0] & QEMU_PSCI_0_2_64BIT) && !is_a64(env)) {
|
||||
ret = QEMU_PSCI_RET_NOT_SUPPORTED;
|
||||
|
|
|
|||
|
|
@ -23,3 +23,6 @@ arm_powerctl_set_cpu_on(uint64_t mp_aff, unsigned target_el, const char *mode, u
|
|||
arm_powerctl_set_cpu_on_and_reset(uint64_t mp_aff) "cpu %" PRIu64
|
||||
arm_powerctl_set_cpu_off(uint64_t mp_aff) "cpu %" PRIu64
|
||||
arm_powerctl_reset_cpu(uint64_t mp_aff) "cpu %" PRIu64
|
||||
|
||||
# tcg/psci.c and hvf/hvf.c
|
||||
arm_psci_call(uint64_t x0, uint64_t x1, uint64_t x2, uint64_t x3, uint32_t cpuid) "PSCI Call x0=0x%016"PRIx64" x1=0x%016"PRIx64" x2=0x%016"PRIx64" x3=0x%016"PRIx64" cpuid=0x%x"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue