aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/booke.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kvm/booke.c')
-rw-r--r--arch/powerpc/kvm/booke.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 4d686cc6b260..8d4e35f5372c 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -21,6 +21,7 @@
21#include <linux/errno.h> 21#include <linux/errno.h>
22#include <linux/err.h> 22#include <linux/err.h>
23#include <linux/kvm_host.h> 23#include <linux/kvm_host.h>
24#include <linux/gfp.h>
24#include <linux/module.h> 25#include <linux/module.h>
25#include <linux/vmalloc.h> 26#include <linux/vmalloc.h>
26#include <linux/fs.h> 27#include <linux/fs.h>
@@ -132,12 +133,18 @@ void kvmppc_core_queue_external(struct kvm_vcpu *vcpu,
132 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_EXTERNAL); 133 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_EXTERNAL);
133} 134}
134 135
136void kvmppc_core_dequeue_external(struct kvm_vcpu *vcpu,
137 struct kvm_interrupt *irq)
138{
139 clear_bit(BOOKE_IRQPRIO_EXTERNAL, &vcpu->arch.pending_exceptions);
140}
141
135/* Deliver the interrupt of the corresponding priority, if possible. */ 142/* Deliver the interrupt of the corresponding priority, if possible. */
136static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu, 143static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu,
137 unsigned int priority) 144 unsigned int priority)
138{ 145{
139 int allowed = 0; 146 int allowed = 0;
140 ulong msr_mask; 147 ulong uninitialized_var(msr_mask);
141 bool update_esr = false, update_dear = false; 148 bool update_esr = false, update_dear = false;
142 149
143 switch (priority) { 150 switch (priority) {
@@ -552,7 +559,10 @@ int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
552int kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu *vcpu, 559int kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu *vcpu,
553 struct kvm_translation *tr) 560 struct kvm_translation *tr)
554{ 561{
555 return kvmppc_core_vcpu_translate(vcpu, tr); 562 int r;
563
564 r = kvmppc_core_vcpu_translate(vcpu, tr);
565 return r;
556} 566}
557 567
558int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log) 568int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log)