From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: [PATCH 0/5] ARM hypercall ABI: 64 bit ready Date: Mon, 6 Aug 2012 15:59:09 +0100 Message-ID: <501FDBBD.7010502@citrix.com> References: <501FD726.90806@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: "Tim Deegan (3P)" , "xen-devel@lists.xensource.com" , David Vrabel , Ian Campbell List-Id: xen-devel@lists.xenproject.org On 06/08/12 15:44, Stefano Stabellini wrote: > On Mon, 6 Aug 2012, David Vrabel wrote: >> On 06/08/12 15:11, Stefano Stabellini wrote: >>> Hi all, >>> this patch series makes the necessary changes to make sure that the >>> current ARM hypercall ABI can be used as-is on 64 bit ARM platforms: >>> >>> - it defines xen_ulong_t as uint64_t on ARM; >>> - it introduces a new macro to handle guest pointers, called >>> XEN_GUEST_HANDLE_PARAM (that has size 4 bytes on aarch and is going to >>> have size 8 bytes on aarch64); >>> - it replaces all the occurrences of XEN_GUEST_HANDLE in hypercall >>> parameters with XEN_GUEST_HANDLE_PARAM. >> >> This is a subtle (and undocumented!) distinction. I can see people >> adding/modifying hypercall etc. getting this wrong and no one noticing >> for a while (since it doesn't affect x86). > > Where should I document this? I wrote it into the commit message but > maybe a doc under docs is better. A comment next to the #define of the two macros? >> The xen_ulong_t parameters (when used for pointers) from an aarch guest >> point of view are a uint32_t guest pointer and uint32_t of padding. So >> the guest handles will be the same size in hypercall parameters and >> structure members. Ignore this. Dunno what I was thinking. David