On 04/30/2018 05:27 PM, Marek Marczykowski-Górecki wrote:
> On Mon, Apr 30, 2018 at 05:25:52PM -0400, Boris Ostrovsky wrote:
>> Also, perhaps the two can be collapsed together, along the lines of
>>
>> #define RING_COPY_(action, _r, _idx, _msg) do { \
>> /* Use volatile to force the copy into _msg. */ \
>> *(_msg) = *(volatile typeof(_msg))RING_GET_##action(_r, _idx); \
>> } while (0)
>>
>> #define RING_COPY_REQUEST(_r, _idx, _req) RING_COPY_(REQUEST, _r, _idx,
>> _req)
>> #define RING_COPY_RESPONSE(_r, _idx, _rsp) RING_COPY_(RESPONSE, _r,
>> _idx, _rsp)
>>
>>
>> (I have not tried to compile this so it may well be wrong)
> It works, thanks :)
> I'll wait with v2 until I get feedback on other patches.
>Oh, and one more thing --- the canonical version of this file lives in Xen (include/public/io/ring.h) so it needs first to be accepted by Xen maintainers. -boris
signature.asc
Description: OpenPGP digital signature

