>>> On 15.06.15 at 11:20, <feng...@intel.com> wrote:

> 
>> -----Original Message-----
>> From: Jan Beulich [mailto:jbeul...@suse.com]
>> Sent: Friday, June 12, 2015 6:35 PM
>> To: Wu, Feng
>> Cc: andrew.coop...@citrix.com; george.dun...@eu.citrix.com; Tian, Kevin;
>> Zhang, Yang Z; xen-devel@lists.xen.org; k...@xen.org 
>> 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...@intel.com> wrote:
>> >> -----Original Message-----
>> >> From: Jan Beulich [mailto:jbeul...@suse.com]
>> >> >>> On 08.05.15 at 11:07, <feng...@intel.com> 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@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to