[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/hvm: implement save/restore for posted interrupts
> From: Olaf Hering [mailto:olaf@xxxxxxxxx] > Sent: Wednesday, July 16, 2014 7:29 AM > > On Wed, Jul 09, Tian, Kevin wrote: > > > > From: Zhang, Yang Z > > > > +++ b/xen/arch/x86/hvm/vlapic.c > > > > @@ -1179,6 +1179,8 @@ static int lapic_save_regs(struct domain *d, > > > > hvm_domain_context_t *h) > > > > > > > > for_each_vcpu ( d, v ) > > > > { > > > > + if ( hvm_funcs.sync_pir_to_irr ) > > > > + hvm_funcs.sync_pir_to_irr(v); > > > > s = vcpu_vlapic(v); > > > > if ( (rc = hvm_save_entry(LAPIC_REGS, v->vcpu_id, h, > s->regs)) != > > > 0 ) > > > > break; > > > > @@ -1230,6 +1232,8 @@ static int lapic_load_regs(struct domain *d, > > > > hvm_domain_context_t *h) > > > > if ( hvm_load_entry(LAPIC_REGS, h, s->regs) != 0 ) > > > > return -EINVAL; > > > > > > > > + if ( hvm_funcs.sync_irr_to_pir ) > > > > + hvm_funcs.sync_irr_to_pir(v); > > > This is redundant. Interrupt pending in irr will be injected to guest > > > correctly, > so > > > there is no need to sync it to pir. > > agree. pending irr has to be injected somewhere after restore, and at that > point > > irr->pir has already been covered. otherwise it'd be a more general issue. > > could you try whether only adding sync_pir_to_irr is enough? > > It continues to fail if I change just lapic_save_regs. > could you figure out the reason? irr->pir propagation should happen automatically when injecting a pending irr, which is supposed to be triggered in the restore path. Otherwise I don't understand how it's handled even w/o pir concept... Thanks Kevin _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |