summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/vmm.h
diff options
context:
space:
mode:
authorneel <neel@FreeBSD.org>2012-09-25 02:33:25 +0000
committerneel <neel@FreeBSD.org>2012-09-25 02:33:25 +0000
commitc34be7b811ad199e64f66db339e7f64c773ca0a7 (patch)
tree9b5a76d1dd63d5bc63a46d22bf6e0aa241dc2ea7 /sys/amd64/include/vmm.h
parent34b672cc8af9ef3fbee45a3c9cc28a7e30c9ef16 (diff)
downloadFreeBSD-src-c34be7b811ad199e64f66db339e7f64c773ca0a7.zip
FreeBSD-src-c34be7b811ad199e64f66db339e7f64c773ca0a7.tar.gz
Add an explicit exit code 'SPINUP_AP' to tell the controlling process that an
AP needs to be activated by spinning up an execution context for it. The local apic emulation is now completely done in the hypervisor and it will detect writes to the ICR_LO register that try to bring up the AP. In response to such writes it will return to userspace with an exit code of SPINUP_AP. Reviewed by: grehan
Diffstat (limited to 'sys/amd64/include/vmm.h')
-rw-r--r--sys/amd64/include/vmm.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h
index 61faf56..e841963 100644
--- a/sys/amd64/include/vmm.h
+++ b/sys/amd64/include/vmm.h
@@ -228,6 +228,7 @@ enum vm_exitcode {
VM_EXITCODE_MTRAP,
VM_EXITCODE_PAUSE,
VM_EXITCODE_PAGING,
+ VM_EXITCODE_SPINUP_AP,
VM_EXITCODE_MAX
};
@@ -260,6 +261,10 @@ struct vm_exit {
uint32_t code; /* ecx value */
uint64_t wval;
} msr;
+ struct {
+ int vcpu;
+ uint64_t rip;
+ } spinup_ap;
} u;
};
OpenPOWER on IntegriCloud