Ignore legacy INIT de-asserts in x2apic mode before verifying

the contents of the IPI.
Uncovered by jhb's x2apic patch.

Obtained from:	NetApp
This commit is contained in:
Peter Grehan 2011-10-18 18:52:22 +00:00
parent 40f31c0d0a
commit b28f897b44
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/projects/bhyve/; revision=226521

View File

@ -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);
/*