diff options
Diffstat (limited to 'arch/powerpc/include/asm/kvm_ppc.h')
-rw-r--r-- | arch/powerpc/include/asm/kvm_ppc.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h index 572aa7530619..44a657adf416 100644 --- a/arch/powerpc/include/asm/kvm_ppc.h +++ b/arch/powerpc/include/asm/kvm_ppc.h | |||
@@ -44,12 +44,11 @@ enum emulation_result { | |||
44 | EMULATE_DO_DCR, /* kvm_run filled with DCR request */ | 44 | EMULATE_DO_DCR, /* kvm_run filled with DCR request */ |
45 | EMULATE_FAIL, /* can't emulate this instruction */ | 45 | EMULATE_FAIL, /* can't emulate this instruction */ |
46 | EMULATE_AGAIN, /* something went wrong. go again */ | 46 | EMULATE_AGAIN, /* something went wrong. go again */ |
47 | EMULATE_DO_PAPR, /* kvm_run filled with PAPR request */ | ||
47 | }; | 48 | }; |
48 | 49 | ||
49 | extern int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); | 50 | extern int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); |
50 | extern int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); | 51 | extern int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); |
51 | extern char kvmppc_handlers_start[]; | ||
52 | extern unsigned long kvmppc_handler_len; | ||
53 | extern void kvmppc_handler_highmem(void); | 52 | extern void kvmppc_handler_highmem(void); |
54 | 53 | ||
55 | extern void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu); | 54 | extern void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu); |
@@ -263,6 +262,15 @@ static inline void kvm_linear_init(void) | |||
263 | {} | 262 | {} |
264 | #endif | 263 | #endif |
265 | 264 | ||
265 | static inline void kvmppc_set_epr(struct kvm_vcpu *vcpu, u32 epr) | ||
266 | { | ||
267 | #ifdef CONFIG_KVM_BOOKE_HV | ||
268 | mtspr(SPRN_GEPR, epr); | ||
269 | #elif defined(CONFIG_BOOKE) | ||
270 | vcpu->arch.epr = epr; | ||
271 | #endif | ||
272 | } | ||
273 | |||
266 | int kvm_vcpu_ioctl_config_tlb(struct kvm_vcpu *vcpu, | 274 | int kvm_vcpu_ioctl_config_tlb(struct kvm_vcpu *vcpu, |
267 | struct kvm_config_tlb *cfg); | 275 | struct kvm_config_tlb *cfg); |
268 | int kvm_vcpu_ioctl_dirty_tlb(struct kvm_vcpu *vcpu, | 276 | int kvm_vcpu_ioctl_dirty_tlb(struct kvm_vcpu *vcpu, |