Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 53859
b: refs/heads/master
c: 42c24fa
h: refs/heads/master
i:
  53857: 4c0efa5
  53855: d451c2a
v: v3
  • Loading branch information
Jeremy Fitzhardinge authored and Andi Kleen committed May 2, 2007
1 parent 94d803e commit df23193
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d582203578a1f3d408e27bb9042e8635954cd320
refs/heads/master: 42c24fa22e86365055fc931d833f26165e687c19
2 changes: 1 addition & 1 deletion trunk/arch/i386/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ sysenter_past_esp:
jae syscall_badsys
call *sys_call_table(,%eax,4)
movl %eax,PT_EAX(%esp)
DISABLE_INTERRUPTS(CLBR_ECX|CLBR_EDX)
DISABLE_INTERRUPTS(CLBR_ANY)
TRACE_IRQS_OFF
movl TI_flags(%ebp), %ecx
testw $_TIF_ALLWORK_MASK, %cx
Expand Down
18 changes: 10 additions & 8 deletions trunk/include/asm-i386/paravirt.h
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,7 @@ static inline unsigned long __raw_local_save_flags(void)
"popl %%edx; popl %%ecx")
: "=a"(f)
: paravirt_type(save_fl),
paravirt_clobber(CLBR_NONE)
paravirt_clobber(CLBR_EAX)
: "memory", "cc");
return f;
}
Expand Down Expand Up @@ -620,27 +620,29 @@ static inline unsigned long __raw_local_irq_save(void)
.popsection

#define INTERRUPT_RETURN \
PARA_SITE(PARA_PATCH(PARAVIRT_iret), CLBR_ANY, \
PARA_SITE(PARA_PATCH(PARAVIRT_iret), CLBR_NONE, \
jmp *%cs:paravirt_ops+PARAVIRT_iret)

#define DISABLE_INTERRUPTS(clobbers) \
PARA_SITE(PARA_PATCH(PARAVIRT_irq_disable), clobbers, \
pushl %ecx; pushl %edx; \
pushl %eax; pushl %ecx; pushl %edx; \
call *%cs:paravirt_ops+PARAVIRT_irq_disable; \
popl %edx; popl %ecx) \
popl %edx; popl %ecx; popl %eax) \

#define ENABLE_INTERRUPTS(clobbers) \
PARA_SITE(PARA_PATCH(PARAVIRT_irq_enable), clobbers, \
pushl %ecx; pushl %edx; \
pushl %eax; pushl %ecx; pushl %edx; \
call *%cs:paravirt_ops+PARAVIRT_irq_enable; \
popl %edx; popl %ecx)
popl %edx; popl %ecx; popl %eax)

#define ENABLE_INTERRUPTS_SYSEXIT \
PARA_SITE(PARA_PATCH(PARAVIRT_irq_enable_sysexit), CLBR_ANY, \
PARA_SITE(PARA_PATCH(PARAVIRT_irq_enable_sysexit), CLBR_NONE, \
jmp *%cs:paravirt_ops+PARAVIRT_irq_enable_sysexit)

#define GET_CR0_INTO_EAX \
call *paravirt_ops+PARAVIRT_read_cr0
push %ecx; push %edx; \
call *paravirt_ops+PARAVIRT_read_cr0; \
pop %edx; pop %ecx

#endif /* __ASSEMBLY__ */
#endif /* CONFIG_PARAVIRT */
Expand Down

0 comments on commit df23193

Please sign in to comment.