aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-parisc/processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-parisc/processor.h')
-rw-r--r--include/asm-parisc/processor.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/include/asm-parisc/processor.h b/include/asm-parisc/processor.h
index 89f2f1c16c12..b73626f040da 100644
--- a/include/asm-parisc/processor.h
+++ b/include/asm-parisc/processor.h
@@ -9,7 +9,6 @@
9#define __ASM_PARISC_PROCESSOR_H 9#define __ASM_PARISC_PROCESSOR_H
10 10
11#ifndef __ASSEMBLY__ 11#ifndef __ASSEMBLY__
12#include <linux/config.h>
13#include <linux/threads.h> 12#include <linux/threads.h>
14#include <linux/spinlock_types.h> 13#include <linux/spinlock_types.h>
15 14
@@ -27,14 +26,12 @@
27 * Default implementation of macro that returns current 26 * Default implementation of macro that returns current
28 * instruction pointer ("program counter"). 27 * instruction pointer ("program counter").
29 */ 28 */
30 29#ifdef CONFIG_PA20
31/* We cannot use MFIA as it was added for PA2.0 - prumpf 30#define current_ia(x) __asm__("mfia %0" : "=r"(x))
32 31#else /* mfia added in pa2.0 */
33 At one point there were no "0f/0b" type local symbols in gas for 32#define current_ia(x) __asm__("blr 0,%0\n\tnop" : "=r"(x))
34 PA-RISC. This is no longer true, but this still seems like the 33#endif
35 nicest way to implement this. */ 34#define current_text_addr() ({ void *pc; current_ia(pc); pc; })
36
37#define current_text_addr() ({ void *pc; __asm__("\n\tblr 0,%0\n\tnop":"=r" (pc)); pc; })
38 35
39#define TASK_SIZE (current->thread.task_size) 36#define TASK_SIZE (current->thread.task_size)
40#define TASK_UNMAPPED_BASE (current->thread.map_base) 37#define TASK_UNMAPPED_BASE (current->thread.map_base)