[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC v2 07/15] vt-d: Add API to update IRTE when VT-d PI is used
>>> On 15.06.15 at 11:20, <feng.wu@xxxxxxxxx> wrote: > >> -----Original Message----- >> From: Jan Beulich [mailto:JBeulich@xxxxxxxx] >> Sent: Friday, June 12, 2015 6:35 PM >> To: Wu, Feng >> Cc: andrew.cooper3@xxxxxxxxxx; george.dunlap@xxxxxxxxxxxxx; Tian, Kevin; >> Zhang, Yang Z; xen-devel@xxxxxxxxxxxxx; keir@xxxxxxx >> Subject: RE: [RFC v2 07/15] vt-d: Add API to update IRTE when VT-d PI is used >> >> >>> On 12.06.15 at 11:40, <feng.wu@xxxxxxxxx> wrote: >> >> -----Original Message----- >> >> From: Jan Beulich [mailto:JBeulich@xxxxxxxx] >> >> >>> On 08.05.15 at 11:07, <feng.wu@xxxxxxxxx> wrote: >> >> > +static inline void setup_posted_irte( >> >> > + struct iremap_entry *new_ire, struct pi_desc *pi_desc, uint8_t >> gvec) >> >> > +{ >> >> > + new_ire->post.urg = 0; >> >> > + new_ire->post.vector = gvec; >> >> > + new_ire->post.pda_l = (((u64)virt_to_maddr(pi_desc)) >> >> >> > + (32 - PDA_LOW_BIT)) & >> PDA_MASK(LOW); >> >> > + new_ire->post.pda_h = (((u64)virt_to_maddr(pi_desc)) >> 32) & >> >> > + PDA_MASK(HIGH); >> >> >> >> Looking at this another time I can't see what the and-ing with >> >> PAD_MASK() is supposed to be good for. >> > >> > I cannot understand this well. Do you mean we don't need and PDA_MASK() >> > here? >> >> Correct - the bitfield width (where the data gets stored into) already >> enforces the intended truncation afaict. > > We may not need PDA_MASK(HIGH), but is PDA_MASK(LOW) really unnecessary > here? I think so - iirc the bitfield is exactly the width you need (or if it wasn't, that would be a mistake). What you can't get rid of is the shifting. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |