KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation
Add EPCR support in booke mtspr/mfspr emulation. EPCR register is defined only for 64-bit and HV categories, we will expose it at this point only to 64-bit virtual processors running on 64-bit HV hosts. Define a reusable setter function for vcpu's EPCR. Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com> [agraf: move HV dependency in the code] Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:

committed by
Alexander Graf

parent
95e90b43c9
commit
38f988240c
@@ -1473,6 +1473,18 @@ void kvmppc_core_flush_memslot(struct kvm *kvm, struct kvm_memory_slot *memslot)
|
||||
{
|
||||
}
|
||||
|
||||
void kvmppc_set_epcr(struct kvm_vcpu *vcpu, u32 new_epcr)
|
||||
{
|
||||
#if defined(CONFIG_64BIT)
|
||||
vcpu->arch.epcr = new_epcr;
|
||||
#ifdef CONFIG_KVM_BOOKE_HV
|
||||
vcpu->arch.shadow_epcr &= ~SPRN_EPCR_GICM;
|
||||
if (vcpu->arch.epcr & SPRN_EPCR_ICM)
|
||||
vcpu->arch.shadow_epcr |= SPRN_EPCR_GICM;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void kvmppc_set_tcr(struct kvm_vcpu *vcpu, u32 new_tcr)
|
||||
{
|
||||
vcpu->arch.tcr = new_tcr;
|
||||
|
Reference in New Issue
Block a user