diff options
author | grehan <grehan@FreeBSD.org> | 2013-04-25 04:56:43 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2013-04-25 04:56:43 +0000 |
commit | d46f1356431945e33840a8b64958e38e4f59ec61 (patch) | |
tree | 79f2717ee4b784c3628994dc8277caa388d5c0b8 /sys/amd64/include | |
parent | be7940a5a5d6cdcdd9238d8aa63227dfe7f1558f (diff) | |
download | FreeBSD-src-d46f1356431945e33840a8b64958e38e4f59ec61.zip FreeBSD-src-d46f1356431945e33840a8b64958e38e4f59ec61.tar.gz |
Add RIP-relative addressing to the instruction decoder.
Rework the guest register fetch code to allow the RIP to
be extracted from the VMCS while the kernel decoder is
functioning.
Hit by the OpenBSD local-apic code.
Submitted by: neel
Reviewed by: grehan
Obtained from: NetApp
Diffstat (limited to 'sys/amd64/include')
-rw-r--r-- | sys/amd64/include/vmm.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h index 9a3063e..617c682 100644 --- a/sys/amd64/include/vmm.h +++ b/sys/amd64/include/vmm.h @@ -135,12 +135,12 @@ enum vcpu_state { }; int vcpu_set_state(struct vm *vm, int vcpu, enum vcpu_state state); -enum vcpu_state vcpu_get_state(struct vm *vm, int vcpu); +enum vcpu_state vcpu_get_state(struct vm *vm, int vcpu, int *hostcpu); static int __inline -vcpu_is_running(struct vm *vm, int vcpu) +vcpu_is_running(struct vm *vm, int vcpu, int *hostcpu) { - return (vcpu_get_state(vm, vcpu) == VCPU_RUNNING); + return (vcpu_get_state(vm, vcpu, hostcpu) == VCPU_RUNNING); } void *vcpu_stats(struct vm *vm, int vcpu); |