summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2013-04-25 04:56:43 +0000
committergrehan <grehan@FreeBSD.org>2013-04-25 04:56:43 +0000
commitd46f1356431945e33840a8b64958e38e4f59ec61 (patch)
tree79f2717ee4b784c3628994dc8277caa388d5c0b8 /sys/amd64/include
parentbe7940a5a5d6cdcdd9238d8aa63227dfe7f1558f (diff)
downloadFreeBSD-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.h6
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);
OpenPOWER on IntegriCloud