Loading arch/powerpc/include/asm/hw_irq.h +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ extern void __replay_interrupt(unsigned int vector); extern void timer_interrupt(struct pt_regs *); extern void performance_monitor_exception(struct pt_regs *regs); extern void WatchdogException(struct pt_regs *regs); extern void unknown_exception(struct pt_regs *regs); #ifdef CONFIG_PPC64 #include <asm/paca.h> Loading arch/powerpc/kvm/booke.c +21 −0 Original line number Diff line number Diff line Loading @@ -612,6 +612,12 @@ static void kvmppc_fill_pt_regs(struct pt_regs *regs) regs->link = lr; } /* * For interrupts needed to be handled by host interrupt handlers, * corresponding host handler are called from here in similar way * (but not exact) as they are called from low level handler * (such as from arch/powerpc/kernel/head_fsl_booke.S). */ static void kvmppc_restart_interrupt(struct kvm_vcpu *vcpu, unsigned int exit_nr) { Loading Loading @@ -639,6 +645,17 @@ static void kvmppc_restart_interrupt(struct kvm_vcpu *vcpu, kvmppc_fill_pt_regs(®s); performance_monitor_exception(®s); break; case BOOKE_INTERRUPT_WATCHDOG: kvmppc_fill_pt_regs(®s); #ifdef CONFIG_BOOKE_WDT WatchdogException(®s); #else unknown_exception(®s); #endif break; case BOOKE_INTERRUPT_CRITICAL: unknown_exception(®s); break; } } Loading Loading @@ -683,6 +700,10 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, r = RESUME_GUEST; break; case BOOKE_INTERRUPT_WATCHDOG: r = RESUME_GUEST; break; case BOOKE_INTERRUPT_DOORBELL: kvmppc_account_exit(vcpu, DBELL_EXITS); r = RESUME_GUEST; Loading Loading
arch/powerpc/include/asm/hw_irq.h +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ extern void __replay_interrupt(unsigned int vector); extern void timer_interrupt(struct pt_regs *); extern void performance_monitor_exception(struct pt_regs *regs); extern void WatchdogException(struct pt_regs *regs); extern void unknown_exception(struct pt_regs *regs); #ifdef CONFIG_PPC64 #include <asm/paca.h> Loading
arch/powerpc/kvm/booke.c +21 −0 Original line number Diff line number Diff line Loading @@ -612,6 +612,12 @@ static void kvmppc_fill_pt_regs(struct pt_regs *regs) regs->link = lr; } /* * For interrupts needed to be handled by host interrupt handlers, * corresponding host handler are called from here in similar way * (but not exact) as they are called from low level handler * (such as from arch/powerpc/kernel/head_fsl_booke.S). */ static void kvmppc_restart_interrupt(struct kvm_vcpu *vcpu, unsigned int exit_nr) { Loading Loading @@ -639,6 +645,17 @@ static void kvmppc_restart_interrupt(struct kvm_vcpu *vcpu, kvmppc_fill_pt_regs(®s); performance_monitor_exception(®s); break; case BOOKE_INTERRUPT_WATCHDOG: kvmppc_fill_pt_regs(®s); #ifdef CONFIG_BOOKE_WDT WatchdogException(®s); #else unknown_exception(®s); #endif break; case BOOKE_INTERRUPT_CRITICAL: unknown_exception(®s); break; } } Loading Loading @@ -683,6 +700,10 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, r = RESUME_GUEST; break; case BOOKE_INTERRUPT_WATCHDOG: r = RESUME_GUEST; break; case BOOKE_INTERRUPT_DOORBELL: kvmppc_account_exit(vcpu, DBELL_EXITS); r = RESUME_GUEST; Loading