[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v12 for-xen-4.5 19/20] x86/VPMU: NMI-based VPMU support
>>> On 01.10.14 at 02:18, <boris.ostrovsky@xxxxxxxxxx> wrote: > On 09/30/2014 04:37 AM, Jan Beulich wrote: >> >> +static void vpmu_send_interrupt(struct vcpu *v) >> +{ >> + struct vlapic *vlapic; >> + u32 vlapic_lvtpc; >> + >> + ASSERT( is_hvm_vcpu(v) ); >> + >> + vlapic = vcpu_vlapic(v); >> + if ( !is_vlapic_lvtpc_enabled(vlapic) ) >> + return; >> + >> + vlapic_lvtpc = vlapic_get_reg(vlapic, APIC_LVTPC); >> + if ( GET_APIC_DELIVERY_MODE(vlapic_lvtpc) == APIC_MODE_FIXED ) >> + vlapic_set_irq(vcpu_vlapic(v), vlapic_lvtpc & APIC_VECTOR_MASK, 0); >> + else >> + v->nmi_pending = 1; >> Is APIC_MODE_NMI guaranteed to be the only alternative to >> APIC_MODE_FIXED here (even for a buggy guest)? I don't recall >> having seen code preventing other modes to be set, but even if >> such code exists, an ASSERT() here seems quite desirable to me >> (perhaps after re-structuring this to a switch() this could also be >> a debug log message). > > This was a simple code move from original VPMU implementation > (vpmu_do_interrupt()) to a separate routine, only to avoid duplication > of this code since it may now be called from different places. > > This is HVM guest's view of LVTPC, not Xen's, and has nothing to do with > VPMU interrupt mode (i.e. vector vs NMI) if that's what you were > thinking about. Indeed I subsequently realized that you just moved broken code. But I'd really have expected you to notice the brokenness and either fix it along with moving it, or include a separate prereq patch to address this (which I have now done: http://lists.xenproject.org/archives/html/xen-devel/2014-10/msg00014.html). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |