From: Kyle McMartin Date: Fri, 19 May 2006 20:18:17 +0000 (+0000) Subject: [PARISC] Use MFIA in current_text_addr on pa2.0 processors X-Git-Tag: v2.6.18-rc1~359^2~16 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b6d1b5e073ad9313ad64da49dff649f5c06e546;p=linux-2.6 [PARISC] Use MFIA in current_text_addr on pa2.0 processors Signed-off-by: Kyle McMartin --- diff --git a/include/asm-parisc/processor.h b/include/asm-parisc/processor.h index ca49dc91f4..b73626f040 100644 --- a/include/asm-parisc/processor.h +++ b/include/asm-parisc/processor.h @@ -26,14 +26,12 @@ * Default implementation of macro that returns current * instruction pointer ("program counter"). */ - -/* We cannot use MFIA as it was added for PA2.0 - prumpf - - At one point there were no "0f/0b" type local symbols in gas for - PA-RISC. This is no longer true, but this still seems like the - nicest way to implement this. */ - -#define current_text_addr() ({ void *pc; __asm__("\n\tblr 0,%0\n\tnop":"=r" (pc)); pc; }) +#ifdef CONFIG_PA20 +#define current_ia(x) __asm__("mfia %0" : "=r"(x)) +#else /* mfia added in pa2.0 */ +#define current_ia(x) __asm__("blr 0,%0\n\tnop" : "=r"(x)) +#endif +#define current_text_addr() ({ void *pc; current_ia(pc); pc; }) #define TASK_SIZE (current->thread.task_size) #define TASK_UNMAPPED_BASE (current->thread.map_base)