> From: Jason Gunthorpe <jgg@xxxxxxxxxx> > Sent: Monday, March 20, 2023 9:50 PM > > On Thu, Mar 09, 2023 at 12:22:03AM -0800, Yi Liu wrote: > > > +struct iommu_hwpt_invalidate_intel_vtd { > > + __u8 granularity; > > + __u8 padding[7]; > > + __u32 flags; > > + __u32 __reserved; > > + __u64 addr; > > + __u64 granule_size; > > + __u64 nb_granules; > > +}; > > Is there a reason this has such a weird layout? Put the granularity in > the __reserved slot? No special reason. This layout was from the previous merged version. Will modify it as you suggested. > Consider the discussion on ARM if you prefer to use the native HW > command structure instead? Yes, will think about it. at least granule_size and nb_granules are not necessary. They was added in the previous abstracted invalidation uapi structure. Regards, Yi Liu