mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![Sean Christopherson](/assets/img/avatar_default.png)
Move PPC to the gfn-base MMU notifier APIs, and update all 15 bajillion PPC-internal hooks to work with gfns instead of hvas. No meaningful functional change intended, though the exact order of operations is slightly different since the memslot lookups occur before calling into arch code. Signed-off-by: Sean Christopherson <seanjc@google.com> Message-Id: <20210402005658.3024832-6-seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
37 lines
1.4 KiB
C
37 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright IBM Corporation, 2013
|
|
* Author Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
|
|
*/
|
|
|
|
#ifndef __POWERPC_KVM_BOOK3S_H__
|
|
#define __POWERPC_KVM_BOOK3S_H__
|
|
|
|
extern void kvmppc_core_flush_memslot_hv(struct kvm *kvm,
|
|
struct kvm_memory_slot *memslot);
|
|
extern bool kvm_unmap_gfn_range_hv(struct kvm *kvm, struct kvm_gfn_range *range);
|
|
extern bool kvm_age_gfn_hv(struct kvm *kvm, struct kvm_gfn_range *range);
|
|
extern bool kvm_test_age_gfn_hv(struct kvm *kvm, struct kvm_gfn_range *range);
|
|
extern bool kvm_set_spte_gfn_hv(struct kvm *kvm, struct kvm_gfn_range *range);
|
|
|
|
extern int kvmppc_mmu_init_pr(struct kvm_vcpu *vcpu);
|
|
extern void kvmppc_mmu_destroy_pr(struct kvm_vcpu *vcpu);
|
|
extern int kvmppc_core_emulate_op_pr(struct kvm_vcpu *vcpu,
|
|
unsigned int inst, int *advance);
|
|
extern int kvmppc_core_emulate_mtspr_pr(struct kvm_vcpu *vcpu,
|
|
int sprn, ulong spr_val);
|
|
extern int kvmppc_core_emulate_mfspr_pr(struct kvm_vcpu *vcpu,
|
|
int sprn, ulong *spr_val);
|
|
extern int kvmppc_book3s_init_pr(void);
|
|
extern void kvmppc_book3s_exit_pr(void);
|
|
|
|
#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
|
|
extern void kvmppc_emulate_tabort(struct kvm_vcpu *vcpu, int ra_val);
|
|
#else
|
|
static inline void kvmppc_emulate_tabort(struct kvm_vcpu *vcpu, int ra_val) {}
|
|
#endif
|
|
|
|
extern void kvmppc_set_msr_hv(struct kvm_vcpu *vcpu, u64 msr);
|
|
extern void kvmppc_inject_interrupt_hv(struct kvm_vcpu *vcpu, int vec, u64 srr1_flags);
|
|
|
|
#endif
|