Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
target/arm/kvm: Have kvm_arm_verify_ext_dabt_pending take a ARMCPU arg
Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-14-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
philmd authored and pm215 committed Dec 19, 2023
1 parent 76acc98 commit ca0d1b7
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions target/arm/kvm.c
Expand Up @@ -1170,18 +1170,18 @@ static int kvm_get_vcpu_events(ARMCPU *cpu)

/**
* kvm_arm_verify_ext_dabt_pending:
* @cs: CPUState
* @cpu: ARMCPU
*
* Verify the fault status code wrt the Ext DABT injection
*
* Returns: true if the fault status code is as expected, false otherwise
*/
static bool kvm_arm_verify_ext_dabt_pending(CPUState *cs)
static bool kvm_arm_verify_ext_dabt_pending(ARMCPU *cpu)
{
CPUState *cs = CPU(cpu);
uint64_t dfsr_val;

if (!kvm_get_one_reg(cs, ARM64_REG_ESR_EL1, &dfsr_val)) {
ARMCPU *cpu = ARM_CPU(cs);
CPUARMState *env = &cpu->env;
int aarch64_mode = arm_feature(env, ARM_FEATURE_AARCH64);
int lpae = 0;
Expand Down Expand Up @@ -1218,7 +1218,7 @@ void kvm_arch_pre_run(CPUState *cs, struct kvm_run *run)
* an IMPLEMENTATION DEFINED exception (for 32-bit EL1)
*/
if (!arm_feature(env, ARM_FEATURE_AARCH64) &&
unlikely(!kvm_arm_verify_ext_dabt_pending(cs))) {
unlikely(!kvm_arm_verify_ext_dabt_pending(cpu))) {

error_report("Data abort exception with no valid ISS generated by "
"guest memory access. KVM unable to emulate faulting "
Expand Down

0 comments on commit ca0d1b7

Please sign in to comment.