Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/kvm/book3s.h
26442 views
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
/*
3
* Copyright IBM Corporation, 2013
4
* Author Aneesh Kumar K.V <[email protected]>
5
*/
6
7
#ifndef __POWERPC_KVM_BOOK3S_H__
8
#define __POWERPC_KVM_BOOK3S_H__
9
10
extern void kvmppc_core_flush_memslot_hv(struct kvm *kvm,
11
struct kvm_memory_slot *memslot);
12
extern bool kvm_unmap_gfn_range_hv(struct kvm *kvm, struct kvm_gfn_range *range);
13
extern bool kvm_age_gfn_hv(struct kvm *kvm, struct kvm_gfn_range *range);
14
extern bool kvm_test_age_gfn_hv(struct kvm *kvm, struct kvm_gfn_range *range);
15
16
extern int kvmppc_mmu_init_pr(struct kvm_vcpu *vcpu);
17
extern void kvmppc_mmu_destroy_pr(struct kvm_vcpu *vcpu);
18
extern int kvmppc_core_emulate_op_pr(struct kvm_vcpu *vcpu,
19
unsigned int inst, int *advance);
20
extern int kvmppc_core_emulate_mtspr_pr(struct kvm_vcpu *vcpu,
21
int sprn, ulong spr_val);
22
extern int kvmppc_core_emulate_mfspr_pr(struct kvm_vcpu *vcpu,
23
int sprn, ulong *spr_val);
24
extern int kvmppc_book3s_init_pr(void);
25
void kvmppc_book3s_exit_pr(void);
26
extern int kvmppc_handle_exit_pr(struct kvm_vcpu *vcpu, unsigned int exit_nr);
27
28
#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
29
extern void kvmppc_emulate_tabort(struct kvm_vcpu *vcpu, int ra_val);
30
#else
31
static inline void kvmppc_emulate_tabort(struct kvm_vcpu *vcpu, int ra_val) {}
32
#endif
33
34
extern void kvmppc_set_msr_hv(struct kvm_vcpu *vcpu, u64 msr);
35
extern void kvmppc_inject_interrupt_hv(struct kvm_vcpu *vcpu, int vec, u64 srr1_flags);
36
37
#endif
38
39