diff options
author | Bharat Bhushan <Bharat.Bhushan@freescale.com> | 2014-08-06 02:38:51 -0400 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-09-22 04:11:29 -0400 |
commit | 9fee7563cdb535596c48e7b05383d75590a64418 (patch) | |
tree | ee8aba839f173d156ec4e345ac1d4b4c3556c1ba /arch/powerpc/kvm/booke.c | |
parent | f51770ed465e6eb41da7fa16fd92eb67069600cf (diff) |
KVM: PPC: BOOKE: allow debug interrupt at "debug level"
Debug interrupt can be either "critical level" or "debug level".
There are separate set of save/restore registers used for different level.
Example: DSRR0/DSRR1 are used for "debug level" and CSRR0/CSRR1
are used for critical level debug interrupt.
Using CPU_FTR_DEBUG_LVL_EXC to decide which interrupt level to be used.
Signed-off-by: Bharat Bhushan <Bharat.Bhushan@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/kvm/booke.c')
-rw-r--r-- | arch/powerpc/kvm/booke.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index b4c89fa6f109..322da7d2334a 100644 --- a/arch/powerpc/kvm/booke.c +++ b/arch/powerpc/kvm/booke.c | |||
@@ -377,7 +377,11 @@ static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu, | |||
377 | allowed = vcpu->arch.shared->msr & MSR_DE; | 377 | allowed = vcpu->arch.shared->msr & MSR_DE; |
378 | allowed = allowed && !crit; | 378 | allowed = allowed && !crit; |
379 | msr_mask = MSR_ME; | 379 | msr_mask = MSR_ME; |
380 | int_class = INT_CLASS_CRIT; | 380 | if (cpu_has_feature(CPU_FTR_DEBUG_LVL_EXC)) |
381 | int_class = INT_CLASS_DBG; | ||
382 | else | ||
383 | int_class = INT_CLASS_CRIT; | ||
384 | |||
381 | break; | 385 | break; |
382 | } | 386 | } |
383 | 387 | ||