On 08/29/2011 09:09 AM, Tian, Kevin wrote:
static int handle_apic_access(struct kvm_vcpu *vcpu)
{
+ unsigned long exit_qualification = vmcs_readl(EXIT_QUALIFICATION);
+ int access_type, offset;
+
+ access_type = (exit_qualification>> 12)& 0xf;
+ offset = exit_qualification& 0xfff;
+ /*
+ * Sane guest uses MOV instead of string operations to
+ * write EOI, with written value not cared. So make a
+ * short-circuit here by avoiding heavy instruction
+ * emulation.
+ */
+ if ((access_type == 1)&& (offset == APIC_EOI)) {
Please replace this 1 with a #define.
+ kvm_lapic_set_eoi(vcpu);
+ skip_emulated_instruction(vcpu);
+ return 1;
+ }
return emulate_instruction(vcpu, 0) == EMULATE_DONE;
}
Looks good otherwise.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html