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

Reply via email to