On 09/18/2012 05:38 PM, Li, Jiongxi wrote:
>> 
>> >
>> > +static int handle_apic_write(struct kvm_vcpu *vcpu) {
>> > +  unsigned long exit_qualification = vmcs_readl(EXIT_QUALIFICATION);
>> > +  u32 offset = exit_qualification & 0xfff;
>> > +
>> > +  /* APIC-write VM exit is trap-like and thus no need to adjust IP */
>> > +  return kvm_apic_write_nodecode(vcpu, offset) == 0; }
>> 
>> Return 1 here means exit to userspace.  This will go crazy.
>> 
>> You need to return 0 always.  If this is an msr write to a read-only 
>> register, you
>> need to inject a #GP (IIRC).
> 
> Return 0 means exit to userspace, so it should return 1, right?
> __vcpu_run
> {
>   while (r>0)
>   {  
>      r = vcpu_enter_guest(vcpu)
>      if (r<=0)
>        break;
>   }
> }

Yes, sorry.  We should switch to a symbolic constant one day, it's
confusing.


-- 
error compiling committee.c: too many arguments to function
--
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

Reply via email to