diff options
Diffstat (limited to 'arch/powerpc/include/asm/kvm_ppc.h')
| -rw-r--r-- | arch/powerpc/include/asm/kvm_ppc.h | 25 | 
1 files changed, 18 insertions, 7 deletions
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h index 46efd1a265c..9d6dee0f7d4 100644 --- a/arch/powerpc/include/asm/kvm_ppc.h +++ b/arch/powerpc/include/asm/kvm_ppc.h @@ -66,6 +66,7 @@ extern int kvmppc_emulate_instruction(struct kvm_run *run,  extern int kvmppc_emulate_mmio(struct kvm_run *run, struct kvm_vcpu *vcpu);  extern void kvmppc_emulate_dec(struct kvm_vcpu *vcpu);  extern u32 kvmppc_get_dec(struct kvm_vcpu *vcpu, u64 tb); +extern void kvmppc_decrementer_func(unsigned long data);  extern int kvmppc_sanity_check(struct kvm_vcpu *vcpu);  /* Core-specific hooks */ @@ -94,7 +95,7 @@ extern int kvmppc_core_vcpu_translate(struct kvm_vcpu *vcpu,  extern void kvmppc_core_vcpu_load(struct kvm_vcpu *vcpu, int cpu);  extern void kvmppc_core_vcpu_put(struct kvm_vcpu *vcpu); -extern void kvmppc_core_deliver_interrupts(struct kvm_vcpu *vcpu); +extern void kvmppc_core_prepare_to_enter(struct kvm_vcpu *vcpu);  extern int kvmppc_core_pending_dec(struct kvm_vcpu *vcpu);  extern void kvmppc_core_queue_program(struct kvm_vcpu *vcpu, ulong flags);  extern void kvmppc_core_queue_dec(struct kvm_vcpu *vcpu); @@ -120,15 +121,17 @@ extern long kvmppc_alloc_hpt(struct kvm *kvm);  extern void kvmppc_free_hpt(struct kvm *kvm);  extern long kvmppc_prepare_vrma(struct kvm *kvm,  				struct kvm_userspace_memory_region *mem); -extern void kvmppc_map_vrma(struct kvm *kvm, -			    struct kvm_userspace_memory_region *mem); +extern void kvmppc_map_vrma(struct kvm_vcpu *vcpu, +			struct kvm_memory_slot *memslot, unsigned long porder);  extern int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu);  extern long kvm_vm_ioctl_create_spapr_tce(struct kvm *kvm,  				struct kvm_create_spapr_tce *args);  extern long kvm_vm_ioctl_allocate_rma(struct kvm *kvm,  				struct kvm_allocate_rma *rma); -extern struct kvmppc_rma_info *kvm_alloc_rma(void); -extern void kvm_release_rma(struct kvmppc_rma_info *ri); +extern struct kvmppc_linear_info *kvm_alloc_rma(void); +extern void kvm_release_rma(struct kvmppc_linear_info *ri); +extern struct kvmppc_linear_info *kvm_alloc_hpt(void); +extern void kvm_release_hpt(struct kvmppc_linear_info *li);  extern int kvmppc_core_init_vm(struct kvm *kvm);  extern void kvmppc_core_destroy_vm(struct kvm *kvm);  extern int kvmppc_core_prepare_memory_region(struct kvm *kvm, @@ -175,6 +178,9 @@ int kvmppc_core_set_sregs(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs);  void kvmppc_get_sregs_ivor(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs);  int kvmppc_set_sregs_ivor(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs); +int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg); +int kvm_vcpu_ioctl_set_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg); +  void kvmppc_set_pid(struct kvm_vcpu *vcpu, u32 pid);  #ifdef CONFIG_KVM_BOOK3S_64_HV @@ -183,14 +189,19 @@ static inline void kvmppc_set_xics_phys(int cpu, unsigned long addr)  	paca[cpu].kvm_hstate.xics_phys = addr;  } -extern void kvm_rma_init(void); +extern void kvm_linear_init(void);  #else  static inline void kvmppc_set_xics_phys(int cpu, unsigned long addr)  {} -static inline void kvm_rma_init(void) +static inline void kvm_linear_init(void)  {}  #endif +int kvm_vcpu_ioctl_config_tlb(struct kvm_vcpu *vcpu, +			      struct kvm_config_tlb *cfg); +int kvm_vcpu_ioctl_dirty_tlb(struct kvm_vcpu *vcpu, +			     struct kvm_dirty_tlb *cfg); +  #endif /* __POWERPC_KVM_PPC_H__ */  |