|
@@ -142,7 +142,7 @@ static int i8k_smm(struct smm_regs *regs)
|
|
|
"lahf\n\t"
|
|
|
"shrl $8,%%eax\n\t"
|
|
|
"andl $1,%%eax\n"
|
|
|
- :"=a"(rc)
|
|
|
+ :"=a"(rc), "+m" (*regs)
|
|
|
: "a"(regs)
|
|
|
: "%ebx", "%ecx", "%edx", "%esi", "%edi", "memory");
|
|
|
#else
|
|
@@ -167,7 +167,8 @@ static int i8k_smm(struct smm_regs *regs)
|
|
|
"movl %%edx,0(%%eax)\n\t"
|
|
|
"lahf\n\t"
|
|
|
"shrl $8,%%eax\n\t"
|
|
|
- "andl $1,%%eax\n":"=a"(rc)
|
|
|
+ "andl $1,%%eax\n"
|
|
|
+ :"=a"(rc), "+m" (*regs)
|
|
|
: "a"(regs)
|
|
|
: "%ebx", "%ecx", "%edx", "%esi", "%edi", "memory");
|
|
|
#endif
|