diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2014-05-09 10:06:46 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-05-13 13:11:08 +0200 |
commit | ada4135f84adcacd9294269e22113460650ae1ab (patch) | |
tree | 5ed60670851fc64b5c8762fbfb9b9056dacfb615 /kvm-all.c | |
parent | 8e03c100a7aeb268a7ebfdd98298591a63df0626 (diff) | |
download | qemu-ada4135f84adcacd9294269e22113460650ae1ab.zip qemu-ada4135f84adcacd9294269e22113460650ae1ab.tar.gz qemu-ada4135f84adcacd9294269e22113460650ae1ab.tar.bz2 |
kvm: make one_reg helpers available for everyone
s390x introduced helper functions for getting/setting one_regs with
commit 860643bc. However, nothing about these is s390-specific.
Alexey Kardashevskiy had already posted a general version, so let's
merge the two patches and massage the code a bit.
CC: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'kvm-all.c')
-rw-r--r-- | kvm-all.c | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -2114,3 +2114,31 @@ int kvm_create_device(KVMState *s, uint64_t type, bool test) return test ? 0 : create_dev.fd; } + +int kvm_set_one_reg(CPUState *cs, uint64_t id, void *source) +{ + struct kvm_one_reg reg; + int r; + + reg.id = id; + reg.addr = (uintptr_t) source; + r = kvm_vcpu_ioctl(cs, KVM_SET_ONE_REG, ®); + if (r) { + trace_kvm_failed_reg_set(id, strerror(r)); + } + return r; +} + +int kvm_get_one_reg(CPUState *cs, uint64_t id, void *target) +{ + struct kvm_one_reg reg; + int r; + + reg.id = id; + reg.addr = (uintptr_t) target; + r = kvm_vcpu_ioctl(cs, KVM_GET_ONE_REG, ®); + if (r) { + trace_kvm_failed_reg_get(id, strerror(r)); + } + return r; +} |