On Tue, Apr 21, 2020 at 11:13:23AM +0200, Jan Beulich wrote: > First of all avoid excessive conversions. copy_{from,to}_guest(), for > example, work fine with all of XEN_GUEST_HANDLE{,_64,_PARAM}().
I'm not sure I understand the difference between those two, as they are both placeholders for linear guest addresses? AFAICT XEN_GUEST_HANDLE should be used for guest pointers inside of an hypercall struct, while XEN_GUEST_HANDLE_PARAM is for guest pointers as hypercall arguments. But those are both just guest pointers, whether they are a parameter to the hypercall or a field in a struct, and hence could use the same type? I assume there's some reason for not doing so, and I see the comment about other arches, but again a linear guest address is just that in all arches, regardless of it's placement. Sorry, this is likely tangential to your patch. Thanks, Roger.