summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bhyve
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2011-10-18 18:52:22 +0000
committergrehan <grehan@FreeBSD.org>2011-10-18 18:52:22 +0000
commit9de15373c371786da8c7814387bad682698eb9bd (patch)
tree2e70f03d50c7a0309b55dcedfd56216ea5bfaa22 /usr.sbin/bhyve
parent6e4718b6d1bec5c2ecfc16c6fb78a1ceead6a735 (diff)
downloadFreeBSD-src-9de15373c371786da8c7814387bad682698eb9bd.zip
FreeBSD-src-9de15373c371786da8c7814387bad682698eb9bd.tar.gz
Ignore legacy INIT de-asserts in x2apic mode before verifying
the contents of the IPI. Uncovered by jhb's x2apic patch. Obtained from: NetApp
Diffstat (limited to 'usr.sbin/bhyve')
-rw-r--r--usr.sbin/bhyve/xmsr.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/bhyve/xmsr.c b/usr.sbin/bhyve/xmsr.c
index 676b5df..cc148d6 100644
--- a/usr.sbin/bhyve/xmsr.c
+++ b/usr.sbin/bhyve/xmsr.c
@@ -110,15 +110,15 @@ emulate_wrmsr(struct vmctx *ctx, int vcpu, uint32_t code, uint64_t val)
switch (mode) {
case APIC_DELMODE_INIT:
- assert(dest != 0);
- assert(dest < guest_ncpus);
-
/*
* Ignore legacy de-assert INITs in x2apic mode
*/
if ((val & APIC_LEVEL_MASK) == APIC_LEVEL_DEASSERT) {
break;
}
+
+ assert(dest != 0);
+ assert(dest < guest_ncpus);
assert(cpu_b[dest] == CPU_S_INIT);
/*
OpenPOWER on IntegriCloud