cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

book3s.h (1548B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Copyright IBM Corporation, 2013
      4 * Author Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      5 */
      6
      7#ifndef __POWERPC_KVM_BOOK3S_H__
      8#define __POWERPC_KVM_BOOK3S_H__
      9
     10extern void kvmppc_core_flush_memslot_hv(struct kvm *kvm,
     11					 struct kvm_memory_slot *memslot);
     12extern bool kvm_unmap_gfn_range_hv(struct kvm *kvm, struct kvm_gfn_range *range);
     13extern bool kvm_age_gfn_hv(struct kvm *kvm, struct kvm_gfn_range *range);
     14extern bool kvm_test_age_gfn_hv(struct kvm *kvm, struct kvm_gfn_range *range);
     15extern bool kvm_set_spte_gfn_hv(struct kvm *kvm, struct kvm_gfn_range *range);
     16
     17extern int kvmppc_mmu_init_pr(struct kvm_vcpu *vcpu);
     18extern void kvmppc_mmu_destroy_pr(struct kvm_vcpu *vcpu);
     19extern int kvmppc_core_emulate_op_pr(struct kvm_vcpu *vcpu,
     20				     unsigned int inst, int *advance);
     21extern int kvmppc_core_emulate_mtspr_pr(struct kvm_vcpu *vcpu,
     22					int sprn, ulong spr_val);
     23extern int kvmppc_core_emulate_mfspr_pr(struct kvm_vcpu *vcpu,
     24					int sprn, ulong *spr_val);
     25extern int kvmppc_book3s_init_pr(void);
     26void kvmppc_book3s_exit_pr(void);
     27extern int kvmppc_handle_exit_pr(struct kvm_vcpu *vcpu, unsigned int exit_nr);
     28
     29#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
     30extern void kvmppc_emulate_tabort(struct kvm_vcpu *vcpu, int ra_val);
     31#else
     32static inline void kvmppc_emulate_tabort(struct kvm_vcpu *vcpu, int ra_val) {}
     33#endif
     34
     35extern void kvmppc_set_msr_hv(struct kvm_vcpu *vcpu, u64 msr);
     36extern void kvmppc_inject_interrupt_hv(struct kvm_vcpu *vcpu, int vec, u64 srr1_flags);
     37
     38#endif