diff options
Diffstat (limited to 'arch/powerpc/kvm/book3s.c')
-rw-r--r-- | arch/powerpc/kvm/book3s.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c index 13173922b678..66b5924e1748 100644 --- a/arch/powerpc/kvm/book3s.c +++ b/arch/powerpc/kvm/book3s.c | |||
@@ -168,8 +168,9 @@ void kvmppc_book3s_queue_irqprio(struct kvm_vcpu *vcpu, unsigned int vec) | |||
168 | } | 168 | } |
169 | 169 | ||
170 | 170 | ||
171 | void kvmppc_core_queue_program(struct kvm_vcpu *vcpu) | 171 | void kvmppc_core_queue_program(struct kvm_vcpu *vcpu, ulong flags) |
172 | { | 172 | { |
173 | to_book3s(vcpu)->prog_flags = flags; | ||
173 | kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_PROGRAM); | 174 | kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_PROGRAM); |
174 | } | 175 | } |
175 | 176 | ||
@@ -198,6 +199,7 @@ int kvmppc_book3s_irqprio_deliver(struct kvm_vcpu *vcpu, unsigned int priority) | |||
198 | { | 199 | { |
199 | int deliver = 1; | 200 | int deliver = 1; |
200 | int vec = 0; | 201 | int vec = 0; |
202 | ulong flags = 0ULL; | ||
201 | 203 | ||
202 | switch (priority) { | 204 | switch (priority) { |
203 | case BOOK3S_IRQPRIO_DECREMENTER: | 205 | case BOOK3S_IRQPRIO_DECREMENTER: |
@@ -231,6 +233,7 @@ int kvmppc_book3s_irqprio_deliver(struct kvm_vcpu *vcpu, unsigned int priority) | |||
231 | break; | 233 | break; |
232 | case BOOK3S_IRQPRIO_PROGRAM: | 234 | case BOOK3S_IRQPRIO_PROGRAM: |
233 | vec = BOOK3S_INTERRUPT_PROGRAM; | 235 | vec = BOOK3S_INTERRUPT_PROGRAM; |
236 | flags = to_book3s(vcpu)->prog_flags; | ||
234 | break; | 237 | break; |
235 | case BOOK3S_IRQPRIO_VSX: | 238 | case BOOK3S_IRQPRIO_VSX: |
236 | vec = BOOK3S_INTERRUPT_VSX; | 239 | vec = BOOK3S_INTERRUPT_VSX; |
@@ -261,7 +264,7 @@ int kvmppc_book3s_irqprio_deliver(struct kvm_vcpu *vcpu, unsigned int priority) | |||
261 | #endif | 264 | #endif |
262 | 265 | ||
263 | if (deliver) | 266 | if (deliver) |
264 | kvmppc_inject_interrupt(vcpu, vec, 0ULL); | 267 | kvmppc_inject_interrupt(vcpu, vec, flags); |
265 | 268 | ||
266 | return deliver; | 269 | return deliver; |
267 | } | 270 | } |