hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/parisc/include/asm/special_insns.h
....@@ -2,6 +2,34 @@
22 #ifndef __PARISC_SPECIAL_INSNS_H
33 #define __PARISC_SPECIAL_INSNS_H
44
5
+#define lpa(va) ({ \
6
+ unsigned long pa; \
7
+ __asm__ __volatile__( \
8
+ "copy %%r0,%0\n" \
9
+ "8:\tlpa %%r0(%1),%0\n" \
10
+ "9:\n" \
11
+ ASM_EXCEPTIONTABLE_ENTRY(8b, 9b) \
12
+ : "=&r" (pa) \
13
+ : "r" (va) \
14
+ : "memory" \
15
+ ); \
16
+ pa; \
17
+})
18
+
19
+#define lpa_user(va) ({ \
20
+ unsigned long pa; \
21
+ __asm__ __volatile__( \
22
+ "copy %%r0,%0\n" \
23
+ "8:\tlpa %%r0(%%sr3,%1),%0\n" \
24
+ "9:\n" \
25
+ ASM_EXCEPTIONTABLE_ENTRY(8b, 9b) \
26
+ : "=&r" (pa) \
27
+ : "r" (va) \
28
+ : "memory" \
29
+ ); \
30
+ pa; \
31
+})
32
+
533 #define mfctl(reg) ({ \
634 unsigned long cr; \
735 __asm__ __volatile__( \