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