Loading arch/parisc/mm/fault.c +0 −4 Original line number Diff line number Diff line Loading @@ -24,10 +24,6 @@ /* dumped to the console via printk) */ /* Defines for parisc_acctyp() */ #define READ 0 #define WRITE 1 /* Various important other fields */ #define bit22set(x) (x & 0x00000200) #define bits23_25set(x) (x & 0x000001c0) Loading include/asm-parisc/uaccess.h +27 −59 Original line number Diff line number Diff line Loading @@ -42,16 +42,18 @@ static inline long access_ok(int type, const void __user * addr, #define put_user __put_user #define get_user __get_user #if BITS_PER_LONG == 32 #if !defined(__LP64__) #define LDD_KERNEL(ptr) __get_kernel_bad(); #define LDD_USER(ptr) __get_user_bad(); #define STD_KERNEL(x, ptr) __put_kernel_asm64(x,ptr) #define STD_USER(x, ptr) __put_user_asm64(x,ptr) #define ASM_WORD_INSN ".word\t" #else #define LDD_KERNEL(ptr) __get_kernel_asm("ldd",ptr) #define LDD_USER(ptr) __get_user_asm("ldd",ptr) #define STD_KERNEL(x, ptr) __put_kernel_asm("std",x,ptr) #define STD_USER(x, ptr) __put_user_asm("std",x,ptr) #define ASM_WORD_INSN ".dword\t" #endif /* Loading Loading @@ -103,11 +105,11 @@ struct exception_data { __gu_err; \ }) #ifdef __LP64__ #define __get_kernel_asm(ldx,ptr) \ __asm__("\n1:\t" ldx "\t0(%2),%0\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.dword\t1b,fixup_get_user_skip_1\n" \ "\t" ASM_WORD_INSN \ "1b,fixup_get_user_skip_1\n" \ "\t.previous" \ : "=r"(__gu_val), "=r"(__gu_err) \ : "r"(ptr), "1"(__gu_err) \ Loading @@ -116,30 +118,12 @@ struct exception_data { #define __get_user_asm(ldx,ptr) \ __asm__("\n1:\t" ldx "\t0(%%sr3,%2),%0\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.dword\t1b,fixup_get_user_skip_1\n" \ "\t" ASM_WORD_INSN \ "1b,fixup_get_user_skip_1\n" \ "\t.previous" \ : "=r"(__gu_val), "=r"(__gu_err) \ : "r"(ptr), "1"(__gu_err) \ : "r1"); #else #define __get_kernel_asm(ldx,ptr) \ __asm__("\n1:\t" ldx "\t0(%2),%0\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.word\t1b,fixup_get_user_skip_1\n" \ "\t.previous" \ : "=r"(__gu_val), "=r"(__gu_err) \ : "r"(ptr), "1"(__gu_err) \ : "r1"); #define __get_user_asm(ldx,ptr) \ __asm__("\n1:\t" ldx "\t0(%%sr3,%2),%0\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.word\t1b,fixup_get_user_skip_1\n" \ "\t.previous" \ : "=r"(__gu_val), "=r"(__gu_err) \ : "r"(ptr), "1"(__gu_err) \ : "r1"); #endif /* !__LP64__ */ #define __put_user(x,ptr) \ ({ \ Loading Loading @@ -178,12 +162,12 @@ struct exception_data { * r8/r9 are already listed as err/val. */ #ifdef __LP64__ #define __put_kernel_asm(stx,x,ptr) \ __asm__ __volatile__ ( \ "\n1:\t" stx "\t%2,0(%1)\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.dword\t1b,fixup_put_user_skip_1\n" \ "\t" ASM_WORD_INSN \ "1b,fixup_put_user_skip_1\n" \ "\t.previous" \ : "=r"(__pu_err) \ : "r"(ptr), "r"(x), "0"(__pu_err) \ Loading @@ -193,31 +177,15 @@ struct exception_data { __asm__ __volatile__ ( \ "\n1:\t" stx "\t%2,0(%%sr3,%1)\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.dword\t1b,fixup_put_user_skip_1\n" \ "\t.previous" \ : "=r"(__pu_err) \ : "r"(ptr), "r"(x), "0"(__pu_err) \ : "r1") #else #define __put_kernel_asm(stx,x,ptr) \ __asm__ __volatile__ ( \ "\n1:\t" stx "\t%2,0(%1)\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.word\t1b,fixup_put_user_skip_1\n" \ "\t" ASM_WORD_INSN \ "1b,fixup_put_user_skip_1\n" \ "\t.previous" \ : "=r"(__pu_err) \ : "r"(ptr), "r"(x), "0"(__pu_err) \ : "r1") #define __put_user_asm(stx,x,ptr) \ __asm__ __volatile__ ( \ "\n1:\t" stx "\t%2,0(%%sr3,%1)\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.word\t1b,fixup_put_user_skip_1\n" \ "\t.previous" \ : "=r"(__pu_err) \ : "r"(ptr), "r"(x), "0"(__pu_err) \ : "r1") #if !defined(__LP64__) #define __put_kernel_asm64(__val,ptr) do { \ u64 __val64 = (u64)(__val); \ Loading @@ -236,7 +204,7 @@ struct exception_data { } while (0) #define __put_user_asm64(__val,ptr) do { \ u64 __val64 = (u64)__val; \ u64 __val64 = (u64)(__val); \ u32 hi = (__val64) >> 32; \ u32 lo = (__val64) & 0xffffffff; \ __asm__ __volatile__ ( \ Loading @@ -251,7 +219,7 @@ struct exception_data { : "r1"); \ } while (0) #endif /* !__LP64__ */ #endif /* !defined(__LP64__) */ /* Loading Loading
arch/parisc/mm/fault.c +0 −4 Original line number Diff line number Diff line Loading @@ -24,10 +24,6 @@ /* dumped to the console via printk) */ /* Defines for parisc_acctyp() */ #define READ 0 #define WRITE 1 /* Various important other fields */ #define bit22set(x) (x & 0x00000200) #define bits23_25set(x) (x & 0x000001c0) Loading
include/asm-parisc/uaccess.h +27 −59 Original line number Diff line number Diff line Loading @@ -42,16 +42,18 @@ static inline long access_ok(int type, const void __user * addr, #define put_user __put_user #define get_user __get_user #if BITS_PER_LONG == 32 #if !defined(__LP64__) #define LDD_KERNEL(ptr) __get_kernel_bad(); #define LDD_USER(ptr) __get_user_bad(); #define STD_KERNEL(x, ptr) __put_kernel_asm64(x,ptr) #define STD_USER(x, ptr) __put_user_asm64(x,ptr) #define ASM_WORD_INSN ".word\t" #else #define LDD_KERNEL(ptr) __get_kernel_asm("ldd",ptr) #define LDD_USER(ptr) __get_user_asm("ldd",ptr) #define STD_KERNEL(x, ptr) __put_kernel_asm("std",x,ptr) #define STD_USER(x, ptr) __put_user_asm("std",x,ptr) #define ASM_WORD_INSN ".dword\t" #endif /* Loading Loading @@ -103,11 +105,11 @@ struct exception_data { __gu_err; \ }) #ifdef __LP64__ #define __get_kernel_asm(ldx,ptr) \ __asm__("\n1:\t" ldx "\t0(%2),%0\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.dword\t1b,fixup_get_user_skip_1\n" \ "\t" ASM_WORD_INSN \ "1b,fixup_get_user_skip_1\n" \ "\t.previous" \ : "=r"(__gu_val), "=r"(__gu_err) \ : "r"(ptr), "1"(__gu_err) \ Loading @@ -116,30 +118,12 @@ struct exception_data { #define __get_user_asm(ldx,ptr) \ __asm__("\n1:\t" ldx "\t0(%%sr3,%2),%0\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.dword\t1b,fixup_get_user_skip_1\n" \ "\t" ASM_WORD_INSN \ "1b,fixup_get_user_skip_1\n" \ "\t.previous" \ : "=r"(__gu_val), "=r"(__gu_err) \ : "r"(ptr), "1"(__gu_err) \ : "r1"); #else #define __get_kernel_asm(ldx,ptr) \ __asm__("\n1:\t" ldx "\t0(%2),%0\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.word\t1b,fixup_get_user_skip_1\n" \ "\t.previous" \ : "=r"(__gu_val), "=r"(__gu_err) \ : "r"(ptr), "1"(__gu_err) \ : "r1"); #define __get_user_asm(ldx,ptr) \ __asm__("\n1:\t" ldx "\t0(%%sr3,%2),%0\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.word\t1b,fixup_get_user_skip_1\n" \ "\t.previous" \ : "=r"(__gu_val), "=r"(__gu_err) \ : "r"(ptr), "1"(__gu_err) \ : "r1"); #endif /* !__LP64__ */ #define __put_user(x,ptr) \ ({ \ Loading Loading @@ -178,12 +162,12 @@ struct exception_data { * r8/r9 are already listed as err/val. */ #ifdef __LP64__ #define __put_kernel_asm(stx,x,ptr) \ __asm__ __volatile__ ( \ "\n1:\t" stx "\t%2,0(%1)\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.dword\t1b,fixup_put_user_skip_1\n" \ "\t" ASM_WORD_INSN \ "1b,fixup_put_user_skip_1\n" \ "\t.previous" \ : "=r"(__pu_err) \ : "r"(ptr), "r"(x), "0"(__pu_err) \ Loading @@ -193,31 +177,15 @@ struct exception_data { __asm__ __volatile__ ( \ "\n1:\t" stx "\t%2,0(%%sr3,%1)\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.dword\t1b,fixup_put_user_skip_1\n" \ "\t.previous" \ : "=r"(__pu_err) \ : "r"(ptr), "r"(x), "0"(__pu_err) \ : "r1") #else #define __put_kernel_asm(stx,x,ptr) \ __asm__ __volatile__ ( \ "\n1:\t" stx "\t%2,0(%1)\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.word\t1b,fixup_put_user_skip_1\n" \ "\t" ASM_WORD_INSN \ "1b,fixup_put_user_skip_1\n" \ "\t.previous" \ : "=r"(__pu_err) \ : "r"(ptr), "r"(x), "0"(__pu_err) \ : "r1") #define __put_user_asm(stx,x,ptr) \ __asm__ __volatile__ ( \ "\n1:\t" stx "\t%2,0(%%sr3,%1)\n" \ "\t.section __ex_table,\"aw\"\n" \ "\t.word\t1b,fixup_put_user_skip_1\n" \ "\t.previous" \ : "=r"(__pu_err) \ : "r"(ptr), "r"(x), "0"(__pu_err) \ : "r1") #if !defined(__LP64__) #define __put_kernel_asm64(__val,ptr) do { \ u64 __val64 = (u64)(__val); \ Loading @@ -236,7 +204,7 @@ struct exception_data { } while (0) #define __put_user_asm64(__val,ptr) do { \ u64 __val64 = (u64)__val; \ u64 __val64 = (u64)(__val); \ u32 hi = (__val64) >> 32; \ u32 lo = (__val64) & 0xffffffff; \ __asm__ __volatile__ ( \ Loading @@ -251,7 +219,7 @@ struct exception_data { : "r1"); \ } while (0) #endif /* !__LP64__ */ #endif /* !defined(__LP64__) */ /* Loading