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? Consider the discussion on ARM if you prefer to use the native HW command structure instead? Jason