Skip to content

Commit

Permalink
[ARM] remove pc_pointer()
Browse files Browse the repository at this point in the history
pc_pointer() was a function to mask the PC for 26-bit ARMs, which
we no longer support.  Remove it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King authored and Russell King committed Sep 6, 2008
1 parent 09d9bae commit 1de765c
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 14 deletions.
7 changes: 1 addition & 6 deletions arch/arm/include/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
#define PSR_C_BIT 0x20000000
#define PSR_Z_BIT 0x40000000
#define PSR_N_BIT 0x80000000
#define PCMASK 0

/*
* Groups of PSR bits
Expand Down Expand Up @@ -139,11 +138,7 @@ static inline int valid_user_regs(struct pt_regs *regs)
return 0;
}

#define pc_pointer(v) \
((v) & ~PCMASK)

#define instruction_pointer(regs) \
(pc_pointer((regs)->ARM_pc))
#define instruction_pointer(regs) (regs)->ARM_pc

#ifdef CONFIG_SMP
extern unsigned long profile_pc(struct pt_regs *regs);
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/include/asm/thread_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ static inline struct thread_info *current_thread_info(void)
}

#define thread_saved_pc(tsk) \
((unsigned long)(pc_pointer(task_thread_info(tsk)->cpu_context.pc)))
((unsigned long)(task_thread_info(tsk)->cpu_context.pc))
#define thread_saved_fp(tsk) \
((unsigned long)(task_thread_info(tsk)->cpu_context.fp))

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ unsigned long get_wchan(struct task_struct *p)
do {
if (fp < stack_start || fp > stack_end)
return 0;
lr = pc_pointer (((unsigned long *)fp)[-1]);
lr = ((unsigned long *)fp)[-1];
if (!in_sched_functions(lr))
return lr;
fp = *(unsigned long *) (fp - 12);
Expand Down
8 changes: 3 additions & 5 deletions arch/arm/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ ptrace_getrn(struct task_struct *child, unsigned long insn)

val = get_user_reg(child, reg);
if (reg == 15)
val = pc_pointer(val + 8);
val += 8;

return val;
}
Expand Down Expand Up @@ -278,8 +278,7 @@ get_branch_address(struct task_struct *child, unsigned long pc, unsigned long in
else
base -= aluop2;
}
if (read_u32(child, base, &alt) == 0)
alt = pc_pointer(alt);
read_u32(child, base, &alt);
}
break;

Expand All @@ -305,8 +304,7 @@ get_branch_address(struct task_struct *child, unsigned long pc, unsigned long in

base = ptrace_getrn(child, insn);

if (read_u32(child, base + nr_regs, &alt) == 0)
alt = pc_pointer(alt);
read_u32(child, base + nr_regs, &alt);
break;
}
break;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ unsigned long profile_pc(struct pt_regs *regs)

if (in_lock_functions(pc)) {
fp = regs->ARM_fp;
pc = pc_pointer(((unsigned long *)fp)[-1]);
pc = ((unsigned long *)fp)[-1];
}

return pc;
Expand Down

0 comments on commit 1de765c

Please sign in to comment.