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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html