diff options
Diffstat (limited to 'arch/powerpc/kvm/booke.c')
-rw-r--r-- | arch/powerpc/kvm/booke.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index 037d045db3f1..69f114015780 100644 --- a/arch/powerpc/kvm/booke.c +++ b/arch/powerpc/kvm/booke.c | |||
@@ -1388,6 +1388,11 @@ int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg) | |||
1388 | &vcpu->arch.dbg_reg.dac[dac], sizeof(u64)); | 1388 | &vcpu->arch.dbg_reg.dac[dac], sizeof(u64)); |
1389 | break; | 1389 | break; |
1390 | } | 1390 | } |
1391 | #if defined(CONFIG_64BIT) | ||
1392 | case KVM_REG_PPC_EPCR: | ||
1393 | r = put_user(vcpu->arch.epcr, (u32 __user *)(long)reg->addr); | ||
1394 | break; | ||
1395 | #endif | ||
1391 | default: | 1396 | default: |
1392 | break; | 1397 | break; |
1393 | } | 1398 | } |
@@ -1415,6 +1420,15 @@ int kvm_vcpu_ioctl_set_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg) | |||
1415 | (u64 __user *)(long)reg->addr, sizeof(u64)); | 1420 | (u64 __user *)(long)reg->addr, sizeof(u64)); |
1416 | break; | 1421 | break; |
1417 | } | 1422 | } |
1423 | #if defined(CONFIG_64BIT) | ||
1424 | case KVM_REG_PPC_EPCR: { | ||
1425 | u32 new_epcr; | ||
1426 | r = get_user(new_epcr, (u32 __user *)(long)reg->addr); | ||
1427 | if (r == 0) | ||
1428 | kvmppc_set_epcr(vcpu, new_epcr); | ||
1429 | break; | ||
1430 | } | ||
1431 | #endif | ||
1418 | default: | 1432 | default: |
1419 | break; | 1433 | break; |
1420 | } | 1434 | } |