[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 04/10] AMD/IOMMU: use bit field for IRTE
On 02.07.2019 14:33, Andrew Cooper wrote: > On 27/06/2019 16:20, Jan Beulich wrote: >> At the same time restrict its scope to just the single source file >> actually using it, and abstract accesses by introducing a union of >> pointers. (A union of the actual table entries is not used to make it >> impossible to [wrongly, once the 128-bit form gets added] perform >> pointer arithmetic / array accesses on derived types.) >> >> Also move away from updating the entries piecemeal: Construct a full new >> entry, and write it out. >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >> --- >> v2: name {get,free}_intremap_entry()'s last parameter "index" instead of >> "offset". Introduce union irte32. >> --- >> It would have been nice to use write_atomic() or ACCESS_ONCE() for the >> actual writes, but both cast the value to a scalar one, which doesn't >> suit us here (and I also didn't want to make the compound type a union >> with a raw member just for this). > > This comment is stale. However, I'm still confused as to what the > problem with putting a raw in union irte_basic is. That'll again require an intermediate "flds" (or however we choose to name it) union field name for the bitfield structure, or else once again initializers won't work with old gcc. > In particular, the containerof() usage is complicated to follow, and I > don't see it as being necessary. Well, I can drop it if we're happy about the extra intermediate field name (personally I'm not, but I'd accept it if it's considered less bad than the containerof() approach). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |