mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
KVM: PPC E500: Add register l1csr0 emulation
Latest kernel start to access l1csr0 to contron L1. We just tell guest no operation is on going. Signed-off-by: Liu Yu <yu.liu@freescale.com> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
d7fa6ab217
commit
d86be077a4
2 changed files with 7 additions and 0 deletions
|
@ -52,6 +52,7 @@ struct kvmppc_vcpu_e500 {
|
|||
u32 mas5;
|
||||
u32 mas6;
|
||||
u32 mas7;
|
||||
u32 l1csr0;
|
||||
u32 l1csr1;
|
||||
u32 hid0;
|
||||
u32 hid1;
|
||||
|
|
|
@ -99,6 +99,10 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs)
|
|||
vcpu_e500->mas6 = spr_val; break;
|
||||
case SPRN_MAS7:
|
||||
vcpu_e500->mas7 = spr_val; break;
|
||||
case SPRN_L1CSR0:
|
||||
vcpu_e500->l1csr0 = spr_val;
|
||||
vcpu_e500->l1csr0 &= ~(L1CSR0_DCFI | L1CSR0_CLFC);
|
||||
break;
|
||||
case SPRN_L1CSR1:
|
||||
vcpu_e500->l1csr1 = spr_val; break;
|
||||
case SPRN_HID0:
|
||||
|
@ -179,6 +183,8 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt)
|
|||
break;
|
||||
}
|
||||
|
||||
case SPRN_L1CSR0:
|
||||
kvmppc_set_gpr(vcpu, rt, vcpu_e500->l1csr0); break;
|
||||
case SPRN_L1CSR1:
|
||||
kvmppc_set_gpr(vcpu, rt, vcpu_e500->l1csr1); break;
|
||||
case SPRN_HID0:
|
||||
|
|
Loading…
Reference in a new issue