Re: [PATCH 1/5]KVM: x86, apicv: add APICv register virtualization support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/14/2012 05:14 PM, Li, Jiongxi wrote:
> Sorry for the late response
> 
>> -----Original Message-----
>> From: Avi Kivity [mailto:avi@xxxxxxxxxx]
>> Sent: Friday, September 07, 2012 12:02 AM
>> To: Li, Jiongxi
>> Cc: kvm@xxxxxxxxxxxxxxx
>> Subject: Re: [PATCH 1/5]KVM: x86, apicv: add APICv register virtualization
>> support
>> 
>> On 09/05/2012 08:41 AM, Li, Jiongxi wrote:
>> > - APIC read doesn't cause VM-Exit
>> > - APIC write becomes trap-like
>> >
>> >
>> > +/* emulate APIC access in a trap manner */ int
>> > +kvm_apic_write_nodecode(struct kvm_vcpu *vcpu, u32 offset) {
>> > +	u32 val;
>> > +
>> > +	/* hw has done the conditional check and inst decode */
>> > +	offset &= 0xff0;
>> > +	if ((offset != APIC_EOI) &&
>> > +	     apic_reg_read(vcpu->arch.apic, offset, 4, &val))
>> > +		return 1;
>> 
>> TMICT is a write-only register IIRC.
>> 
> I haven't seen TMICT write-only in SDM. Also in there is ' apic_get_reg(apci,APIC_TMICT)' call in 'apic_get_tmcct' function.

I can't see it either now.  So this is okay.

>> > +
>> > +	/* TODO: optimize to just emulate side effect w/o one more write */
>> > +	return apic_reg_write(vcpu->arch.apic, offset, val);
>> 
>> val may be uninitialized here.
>> 
> Can you elaborate that? For APIC_EOI, there is no need to use val. For apic_reg_read fails case, it will return before apic_reg_write

Right, but the compiler may complain.  Best to initialize val to zero.


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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux