From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Parish Subject: Re: [PATCH] Fixing stack alignment in x86-64 Xen Date: Wed, 18 May 2005 05:07:21 +0000 Message-ID: <20050518050720.GI27910@us.ibm.com> References: <7F740D512C7C1046AB53446D3720017304021C2C@scsmsx402.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="KlAEzMkarCnErv5Q" Return-path: Content-Disposition: inline In-Reply-To: <7F740D512C7C1046AB53446D3720017304021C2C@scsmsx402.amr.corp.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Nakajima, Jun" Cc: Xen Development List List-Id: xen-devel@lists.xenproject.org --KlAEzMkarCnErv5Q Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, May 17, 2005 at 07:25:46PM -0700, Nakajima, Jun wrote: > Long mode needs to align the stack on a 16-byte boundary. Recent changes > to Xen broke the requirement, and x86-64 XenLinux stopped booting. The > attached fixes the problem. Awesome! I also needed the attached patch, which between the two of these, makes one wonder how stuff like this is ending up in the tree. Is code getting checked in without even being compile tested? sRp -- Scott Parish Signed-off-by: srparish@us.ibm.com --KlAEzMkarCnErv5Q Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="rex.diff" diff -rN -u -p old-xen-64/xen/arch/x86/x86_64/entry.S new-xen-64/xen/arch/x86/x86_64/entry.S --- old-xen-64/xen/arch/x86/x86_64/entry.S 2005-05-17 19:23:04.000000000 +0000 +++ new-xen-64/xen/arch/x86/x86_64/entry.S 2005-05-18 00:44:21.000000000 +0000 @@ -314,10 +314,10 @@ FLT4: movq %rax,16(%rsi) movq EDOMAIN_vcpu_info(%rbx),%rax pushq VCPUINFO_upcall_mask(%rax) testb $TBF_INTERRUPT,%cl - setnz VCPUINFO_upcall_mask(%eax)# TBF_INTERRUPT -> clear upcall mask + setnz VCPUINFO_upcall_mask(%rax)# TBF_INTERRUPT -> clear upcall mask popq %rax shll $16,%eax # Bits 16-23: saved_upcall_mask - movw UREGS_cs+8(%esp),%ax # Bits 0-15: CS + movw UREGS_cs+8(%rsp),%ax # Bits 0-15: CS FLT5: movq %rax,8(%rsi) # CS/saved_upcall_mask movq UREGS_rip+8(%rsp),%rax FLT6: movq %rax,(%rsi) # RIP --KlAEzMkarCnErv5Q Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --KlAEzMkarCnErv5Q--