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 <jeremy@xxxxxxxxxxxxx>
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Cc: Zachary Amsden <zach@xxxxxxxxxx>
---
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]")
--
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|