Commit 053de044411111da00272d1b4e174e7dd743f499

Authored by Glauber de Oliveira Costa
Committed by Ingo Molnar
1 parent 73018a66e7

x86: get rid of _MASK flags

There's no need for the *_MASK flags (TF_MASK, IF_MASK, etc), found in
processor.h (both _32 and _64). They have a one-to-one mapping with the
EFLAGS value. This patch removes the definitions, and use the already
existent X86_EFLAGS_ version when applicable.

[ roland@redhat.com: KVM build fixes. ]

Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Showing 9 changed files with 21 additions and 31 deletions Side-by-side Diff

arch/x86/ia32/ia32_signal.c
... ... @@ -501,7 +501,7 @@
501 501 regs->ss = __USER32_DS;
502 502  
503 503 set_fs(USER_DS);
504   - regs->flags &= ~TF_MASK;
  504 + regs->flags &= ~X86_EFLAGS_TF;
505 505 if (test_thread_flag(TIF_SINGLESTEP))
506 506 ptrace_notify(SIGTRAP);
507 507  
... ... @@ -601,7 +601,7 @@
601 601 regs->ss = __USER32_DS;
602 602  
603 603 set_fs(USER_DS);
604   - regs->flags &= ~TF_MASK;
  604 + regs->flags &= ~X86_EFLAGS_TF;
605 605 if (test_thread_flag(TIF_SINGLESTEP))
606 606 ptrace_notify(SIGTRAP);
607 607  
arch/x86/kernel/kprobes.c
... ... @@ -387,9 +387,9 @@
387 387 {
388 388 __get_cpu_var(current_kprobe) = p;
389 389 kcb->kprobe_saved_flags = kcb->kprobe_old_flags
390   - = (regs->flags & (TF_MASK | IF_MASK));
  390 + = (regs->flags & (X86_EFLAGS_TF | X86_EFLAGS_IF));
391 391 if (is_IF_modifier(p->ainsn.insn))
392   - kcb->kprobe_saved_flags &= ~IF_MASK;
  392 + kcb->kprobe_saved_flags &= ~X86_EFLAGS_IF;
393 393 }
394 394  
395 395 static __always_inline void clear_btf(void)
... ... @@ -407,8 +407,8 @@
407 407 static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs)
408 408 {
409 409 clear_btf();
410   - regs->flags |= TF_MASK;
411   - regs->flags &= ~IF_MASK;
  410 + regs->flags |= X86_EFLAGS_TF;
  411 + regs->flags &= ~X86_EFLAGS_IF;
412 412 /*single step inline if the instruction is an int3*/
413 413 if (p->opcode == BREAKPOINT_INSTRUCTION)
414 414 regs->ip = (unsigned long)p->addr;
... ... @@ -454,7 +454,7 @@
454 454 if (p) {
455 455 if (kcb->kprobe_status == KPROBE_HIT_SS &&
456 456 *p->ainsn.insn == BREAKPOINT_INSTRUCTION) {
457   - regs->flags &= ~TF_MASK;
  457 + regs->flags &= ~X86_EFLAGS_TF;
458 458 regs->flags |= kcb->kprobe_saved_flags;
459 459 goto no_kprobe;
460 460 #ifdef CONFIG_X86_64
461 461  
... ... @@ -749,10 +749,10 @@
749 749 insn++;
750 750 #endif
751 751  
752   - regs->flags &= ~TF_MASK;
  752 + regs->flags &= ~X86_EFLAGS_TF;
753 753 switch (*insn) {
754 754 case 0x9c: /* pushfl */
755   - *tos &= ~(TF_MASK | IF_MASK);
  755 + *tos &= ~(X86_EFLAGS_TF | X86_EFLAGS_IF);
756 756 *tos |= kcb->kprobe_old_flags;
757 757 break;
758 758 case 0xc2: /* iret/ret/lret */
... ... @@ -852,7 +852,7 @@
852 852 * will have TF set, in which case, continue the remaining processing
853 853 * of do_debug, as if this is not a probe hit.
854 854 */
855   - if (regs->flags & TF_MASK)
  855 + if (regs->flags & X86_EFLAGS_TF)
856 856 return 0;
857 857  
858 858 return 1;
... ... @@ -982,7 +982,7 @@
982 982 */
983 983 memcpy(kcb->jprobes_stack, (kprobe_opcode_t *)addr,
984 984 MIN_STACK_SIZE(addr));
985   - regs->flags &= ~IF_MASK;
  985 + regs->flags &= ~X86_EFLAGS_IF;
986 986 trace_hardirqs_off();
987 987 regs->ip = (unsigned long)(jp->entry);
988 988 return 1;
arch/x86/kernel/signal_64.c
... ... @@ -295,7 +295,7 @@
295 295 see include/asm-x86_64/uaccess.h for details. */
296 296 set_fs(USER_DS);
297 297  
298   - regs->flags &= ~TF_MASK;
  298 + regs->flags &= ~X86_EFLAGS_TF;
299 299 if (test_thread_flag(TIF_SINGLESTEP))
300 300 ptrace_notify(SIGTRAP);
301 301 #ifdef DEBUG_SIG
... ... @@ -463,7 +463,7 @@
463 463  
464 464 /* Pending single-step? */
465 465 if (thread_info_flags & _TIF_SINGLESTEP) {
466   - regs->flags |= TF_MASK;
  466 + regs->flags |= X86_EFLAGS_TF;
467 467 clear_thread_flag(TIF_SINGLESTEP);
468 468 }
469 469  
arch/x86/kernel/traps_64.c
... ... @@ -904,7 +904,7 @@
904 904  
905 905 clear_TF_reenable:
906 906 set_tsk_thread_flag(tsk, TIF_SINGLESTEP);
907   - regs->flags &= ~TF_MASK;
  907 + regs->flags &= ~X86_EFLAGS_TF;
908 908 preempt_conditional_cli(regs);
909 909 }
910 910  
... ... @@ -524,7 +524,7 @@
524 524 static void vmx_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags)
525 525 {
526 526 if (vcpu->rmode.active)
527   - rflags |= IOPL_MASK | X86_EFLAGS_VM;
  527 + rflags |= X86_EFLAGS_IOPL | X86_EFLAGS_VM;
528 528 vmcs_writel(GUEST_RFLAGS, rflags);
529 529 }
530 530  
... ... @@ -1050,7 +1050,7 @@
1050 1050 vmcs_write32(GUEST_TR_AR_BYTES, vcpu->rmode.tr.ar);
1051 1051  
1052 1052 flags = vmcs_readl(GUEST_RFLAGS);
1053   - flags &= ~(IOPL_MASK | X86_EFLAGS_VM);
  1053 + flags &= ~(X86_EFLAGS_IOPL | X86_EFLAGS_VM);
1054 1054 flags |= (vcpu->rmode.save_iopl << IOPL_SHIFT);
1055 1055 vmcs_writel(GUEST_RFLAGS, flags);
1056 1056  
1057 1057  
... ... @@ -1107,9 +1107,9 @@
1107 1107 vmcs_write32(GUEST_TR_AR_BYTES, 0x008b);
1108 1108  
1109 1109 flags = vmcs_readl(GUEST_RFLAGS);
1110   - vcpu->rmode.save_iopl = (flags & IOPL_MASK) >> IOPL_SHIFT;
  1110 + vcpu->rmode.save_iopl = (flags & X86_EFLAGS_IOPL) >> IOPL_SHIFT;
1111 1111  
1112   - flags |= IOPL_MASK | X86_EFLAGS_VM;
  1112 + flags |= X86_EFLAGS_IOPL | X86_EFLAGS_VM;
1113 1113  
1114 1114 vmcs_writel(GUEST_RFLAGS, flags);
1115 1115 vmcs_writel(GUEST_CR4, vmcs_readl(GUEST_CR4) | X86_CR4_VME);
include/asm-x86/kprobes.h
... ... @@ -88,7 +88,7 @@
88 88 */
89 89 static inline void restore_interrupts(struct pt_regs *regs)
90 90 {
91   - if (regs->flags & IF_MASK)
  91 + if (regs->flags & X86_EFLAGS_IF)
92 92 local_irq_enable();
93 93 }
94 94  
include/asm-x86/processor.h
1 1 #ifndef __ASM_X86_PROCESSOR_H
2 2 #define __ASM_X86_PROCESSOR_H
3 3  
  4 +#include <asm/processor-flags.h>
  5 +
4 6 static inline void native_cpuid(unsigned int *eax, unsigned int *ebx,
5 7 unsigned int *ecx, unsigned int *edx)
6 8 {
include/asm-x86/processor_32.h
... ... @@ -19,7 +19,6 @@
19 19 #include <asm/percpu.h>
20 20 #include <linux/cpumask.h>
21 21 #include <linux/init.h>
22   -#include <asm/processor-flags.h>
23 22 #include <asm/desc_defs.h>
24 23  
25 24 static inline int desc_empty(const void *ptr)
include/asm-x86/processor_64.h
... ... @@ -18,18 +18,7 @@
18 18 #include <asm/percpu.h>
19 19 #include <linux/personality.h>
20 20 #include <linux/cpumask.h>
21   -#include <asm/processor-flags.h>
22 21 #include <asm/desc_defs.h>
23   -
24   -#define TF_MASK 0x00000100
25   -#define IF_MASK 0x00000200
26   -#define IOPL_MASK 0x00003000
27   -#define NT_MASK 0x00004000
28   -#define VM_MASK 0x00020000
29   -#define AC_MASK 0x00040000
30   -#define VIF_MASK 0x00080000 /* virtual interrupt flag */
31   -#define VIP_MASK 0x00100000 /* virtual interrupt pending */
32   -#define ID_MASK 0x00200000
33 22  
34 23 static inline int desc_empty(const void *ptr)
35 24 {