From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: [patch 12/26] Xen-paravirt_ops: Fix patch site clobbers to include return register Date: Thu, 01 Mar 2007 15:24:55 -0800 Message-ID: <20070301232527.755495278@goop.org> References: <20070301232443.195603797@goop.org> Return-path: Content-Disposition: inline; filename=paravirt-fix-clobbers.patch List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Andi Kleen Cc: Zachary Amsden , xen-devel@lists.xensource.com, Rusty Russell , linux-kernel@vger.kernel.org, Chris Wright , virtualization@lists.osdl.org, Andrew Morton List-Id: virtualization@lists.linuxfoundation.org Fix a few clobbers to include the return register. The clobbers set is the set of all registers modified (or may be modified) by the code snippet, regardless of whether it was deliberate or accidental. Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Zachary Amsden --- include/asm-i386/paravirt.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) =================================================================== --- a/include/asm-i386/paravirt.h +++ b/include/asm-i386/paravirt.h @@ -556,7 +556,7 @@ static inline unsigned long __raw_local_ "popl %%edx; popl %%ecx") : "=a"(f): "m"(paravirt_ops.save_fl), paravirt_type(PARAVIRT_PATCH(save_fl)), - paravirt_clobber(CLBR_NONE) + paravirt_clobber(CLBR_EAX) : "memory", "cc"); return f; } @@ -610,7 +610,7 @@ static inline unsigned long __raw_local_ "%c[paravirt_cli_type]", "%c[paravirt_clobber]") #define STI_STRING _paravirt_alt("pushl %%ecx; pushl %%edx;" \ - "call *paravirt_ops+%c[irq_enable];" \ + "call *paravirt_ops+%c[irq_enable];" \ "popl %%edx; popl %%ecx", \ "%c[paravirt_cli_type]", "%c[paravirt_clobber]") --