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