diff options
Diffstat (limited to 'arch/powerpc/oprofile/op_model_power4.c')
-rw-r--r-- | arch/powerpc/oprofile/op_model_power4.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/oprofile/op_model_power4.c b/arch/powerpc/oprofile/op_model_power4.c index a3401b46f3ba..659a021da0c7 100644 --- a/arch/powerpc/oprofile/op_model_power4.c +++ b/arch/powerpc/oprofile/op_model_power4.c | |||
@@ -252,7 +252,7 @@ static unsigned long get_pc(struct pt_regs *regs) | |||
252 | return (unsigned long)__va(pc); | 252 | return (unsigned long)__va(pc); |
253 | 253 | ||
254 | /* Not sure where we were */ | 254 | /* Not sure where we were */ |
255 | if (pc < KERNELBASE) | 255 | if (!is_kernel_addr(pc)) |
256 | /* function descriptor madness */ | 256 | /* function descriptor madness */ |
257 | return *((unsigned long *)kernel_unknown_bucket); | 257 | return *((unsigned long *)kernel_unknown_bucket); |
258 | 258 | ||
@@ -264,7 +264,7 @@ static int get_kernel(unsigned long pc) | |||
264 | int is_kernel; | 264 | int is_kernel; |
265 | 265 | ||
266 | if (!mmcra_has_sihv) { | 266 | if (!mmcra_has_sihv) { |
267 | is_kernel = (pc >= KERNELBASE); | 267 | is_kernel = is_kernel_addr(pc); |
268 | } else { | 268 | } else { |
269 | unsigned long mmcra = mfspr(SPRN_MMCRA); | 269 | unsigned long mmcra = mfspr(SPRN_MMCRA); |
270 | is_kernel = ((mmcra & MMCRA_SIPR) == 0); | 270 | is_kernel = ((mmcra & MMCRA_SIPR) == 0); |