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 <jbeul...@suse.com> > --- > 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. In particular, the containerof() usage is complicated to follow, and I don't see it as being necessary. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel