From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH 2/3] xen: arm: correctly handle continuations for 64-bit guests Date: Thu, 26 Mar 2015 10:04:18 +0000 Message-ID: <1427364258.10784.119.camel@citrix.com> References: <1427297660-26447-2-git-send-email-ian.campbell@citrix.com> <5513391D.9040002@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <5513391D.9040002@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Julien Grall Cc: stefano.stabellini@eu.citrix.com, tim@xen.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Wed, 2015-03-25 at 22:39 +0000, Julien Grall wrote: > Hi Ian, > > On 25/03/2015 15:34, Ian Campbell wrote: > > The 64-bit ABI is different to 32-bit: > > > > - uses x16 as the op register rather than r12. > > - arguments in x0..x5 and not r0..r5. Using rN here potentially > > truncates. > > - return value goes in x0, not r0. > > > > Hypercalls can only be made directly from kernel space, so checking > > the domain's size is sufficient. > > > > The update of regs->pc is duplicated in both halves because the 32-bit > > case is going to need fixing to handle Thumb mode (next patch). > > > > Spotted due to spurious -EFAULT when destroying a domain, due to the > > hypercall's pointer argument being truncated. I'm unclear why I am > > only seeing this now. > > Good catch! > > x16 would still contain the valid operation, because we are (most of the > time?) continuing on the same hypercall. All the other contination code sets the op back, I guess to handle cases where it may have been clobbered somewhere along the line. I can't think of a reason to not do it. > So the only issue would be argument truncation. I guess that we don't > have big value (i.e > 32 bits) to store. I would hope not, and we'd have been hitting them already since that was the nature of the bug. > > Signed-off-by: Ian Campbell > > --- > > I imagine this needs backporting everywhere... > > Agree for Xen 4.4 and Xen 4.5. > > Reviewed-by: Julien Grall > > Regards, >