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 <[EMAIL PROTECTED]>
Cc: Rusty Russell <[EMAIL PROTECTED]>
Cc: Zachary Amsden <[EMAIL PROTECTED]>
---
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]")
--
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/virtualization