diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-23 00:13:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-23 00:13:26 -0500 |
commit | 5f32ed140dac726e880d292988ba20d16f545bda (patch) | |
tree | f08589f9489a05eb7a0b7f855ab96c57b0561cde /arch/parisc/include | |
parent | c68fea3464cbe4f3e1382f9f74a7c04cdbfb92ad (diff) | |
parent | 1dda59b4f3d03fa28d86f3ea235655f0f96aab3e (diff) |
Merge branch 'parisc-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull parisc updates from Helge Deller.
The bulk of this is optimized page coping/clearing and cache flushing
(virtual caches are lovely) by John David Anglin.
* 'parisc-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (31 commits)
arch/parisc/include/asm: use ARRAY_SIZE macro in mmzone.h
parisc: remove empty lines and unnecessary #ifdef coding in include/asm/signal.h
parisc: sendfile and sendfile64 syscall cleanups
parisc: switch to available compat_sched_rr_get_interval implementation
parisc: fix fallocate syscall
parisc: fix error return codes for rt_sigaction and rt_sigprocmask
parisc: convert msgrcv and msgsnd syscalls to use compat layer
parisc: correctly wire up mq_* functions for CONFIG_COMPAT case
parisc: fix personality on 32bit kernel
parisc: wire up process_vm_readv, process_vm_writev, kcmp and finit_module syscalls
parisc: led driver requires CONFIG_VM_EVENT_COUNTERS
parisc: remove unused compat_rt_sigframe.h header
parisc/mm/fault.c: Port OOM changes to do_page_fault
parisc: space register variables need to be in native length (unsigned long)
parisc: fix ptrace breakage
parisc: always detect multiple physical ranges
parisc: ensure that mmapped shared pages are aligned at SHMLBA addresses
parisc: disable preemption while flushing D- or I-caches through TMPALIAS region
parisc: remove IRQF_DISABLED
parisc: fixes and cleanups in page cache flushing (4/4)
...
Diffstat (limited to 'arch/parisc/include')
-rw-r--r-- | arch/parisc/include/asm/cacheflush.h | 2 | ||||
-rw-r--r-- | arch/parisc/include/asm/compat.h | 61 | ||||
-rw-r--r-- | arch/parisc/include/asm/compat_rt_sigframe.h | 50 | ||||
-rw-r--r-- | arch/parisc/include/asm/elf.h | 2 | ||||
-rw-r--r-- | arch/parisc/include/asm/floppy.h | 4 | ||||
-rw-r--r-- | arch/parisc/include/asm/mmzone.h | 7 | ||||
-rw-r--r-- | arch/parisc/include/asm/page.h | 20 | ||||
-rw-r--r-- | arch/parisc/include/asm/pgtable.h | 13 | ||||
-rw-r--r-- | arch/parisc/include/asm/signal.h | 4 | ||||
-rw-r--r-- | arch/parisc/include/asm/unistd.h | 2 | ||||
-rw-r--r-- | arch/parisc/include/uapi/asm/unistd.h | 6 |
11 files changed, 102 insertions, 69 deletions
diff --git a/arch/parisc/include/asm/cacheflush.h b/arch/parisc/include/asm/cacheflush.h index 9f21ab0c02e3..79f694f3ad9b 100644 --- a/arch/parisc/include/asm/cacheflush.h +++ b/arch/parisc/include/asm/cacheflush.h | |||
@@ -115,7 +115,9 @@ flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vma | |||
115 | { | 115 | { |
116 | if (PageAnon(page)) { | 116 | if (PageAnon(page)) { |
117 | flush_tlb_page(vma, vmaddr); | 117 | flush_tlb_page(vma, vmaddr); |
118 | preempt_disable(); | ||
118 | flush_dcache_page_asm(page_to_phys(page), vmaddr); | 119 | flush_dcache_page_asm(page_to_phys(page), vmaddr); |
120 | preempt_enable(); | ||
119 | } | 121 | } |
120 | } | 122 | } |
121 | 123 | ||
diff --git a/arch/parisc/include/asm/compat.h b/arch/parisc/include/asm/compat.h index db7a662691a8..94710cfc1ce8 100644 --- a/arch/parisc/include/asm/compat.h +++ b/arch/parisc/include/asm/compat.h | |||
@@ -28,6 +28,7 @@ typedef u16 compat_nlink_t; | |||
28 | typedef u16 compat_ipc_pid_t; | 28 | typedef u16 compat_ipc_pid_t; |
29 | typedef s32 compat_daddr_t; | 29 | typedef s32 compat_daddr_t; |
30 | typedef u32 compat_caddr_t; | 30 | typedef u32 compat_caddr_t; |
31 | typedef s32 compat_key_t; | ||
31 | typedef s32 compat_timer_t; | 32 | typedef s32 compat_timer_t; |
32 | 33 | ||
33 | typedef s32 compat_int_t; | 34 | typedef s32 compat_int_t; |
@@ -188,6 +189,66 @@ typedef struct compat_siginfo { | |||
188 | #define COMPAT_OFF_T_MAX 0x7fffffff | 189 | #define COMPAT_OFF_T_MAX 0x7fffffff |
189 | #define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL | 190 | #define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL |
190 | 191 | ||
192 | struct compat_ipc64_perm { | ||
193 | compat_key_t key; | ||
194 | __compat_uid_t uid; | ||
195 | __compat_gid_t gid; | ||
196 | __compat_uid_t cuid; | ||
197 | __compat_gid_t cgid; | ||
198 | unsigned short int __pad1; | ||
199 | compat_mode_t mode; | ||
200 | unsigned short int __pad2; | ||
201 | unsigned short int seq; | ||
202 | unsigned int __pad3; | ||
203 | unsigned long __unused1; /* yes they really are 64bit pads */ | ||
204 | unsigned long __unused2; | ||
205 | }; | ||
206 | |||
207 | struct compat_semid64_ds { | ||
208 | struct compat_ipc64_perm sem_perm; | ||
209 | compat_time_t sem_otime; | ||
210 | unsigned int __unused1; | ||
211 | compat_time_t sem_ctime; | ||
212 | unsigned int __unused2; | ||
213 | compat_ulong_t sem_nsems; | ||
214 | compat_ulong_t __unused3; | ||
215 | compat_ulong_t __unused4; | ||
216 | }; | ||
217 | |||
218 | struct compat_msqid64_ds { | ||
219 | struct compat_ipc64_perm msg_perm; | ||
220 | unsigned int __unused1; | ||
221 | compat_time_t msg_stime; | ||
222 | unsigned int __unused2; | ||
223 | compat_time_t msg_rtime; | ||
224 | unsigned int __unused3; | ||
225 | compat_time_t msg_ctime; | ||
226 | compat_ulong_t msg_cbytes; | ||
227 | compat_ulong_t msg_qnum; | ||
228 | compat_ulong_t msg_qbytes; | ||
229 | compat_pid_t msg_lspid; | ||
230 | compat_pid_t msg_lrpid; | ||
231 | compat_ulong_t __unused4; | ||
232 | compat_ulong_t __unused5; | ||
233 | }; | ||
234 | |||
235 | struct compat_shmid64_ds { | ||
236 | struct compat_ipc64_perm shm_perm; | ||
237 | unsigned int __unused1; | ||
238 | compat_time_t shm_atime; | ||
239 | unsigned int __unused2; | ||
240 | compat_time_t shm_dtime; | ||
241 | unsigned int __unused3; | ||
242 | compat_time_t shm_ctime; | ||
243 | unsigned int __unused4; | ||
244 | compat_size_t shm_segsz; | ||
245 | compat_pid_t shm_cpid; | ||
246 | compat_pid_t shm_lpid; | ||
247 | compat_ulong_t shm_nattch; | ||
248 | compat_ulong_t __unused5; | ||
249 | compat_ulong_t __unused6; | ||
250 | }; | ||
251 | |||
191 | /* | 252 | /* |
192 | * A pointer passed in from user mode. This should not | 253 | * A pointer passed in from user mode. This should not |
193 | * be used for syscall parameters, just declare them | 254 | * be used for syscall parameters, just declare them |
diff --git a/arch/parisc/include/asm/compat_rt_sigframe.h b/arch/parisc/include/asm/compat_rt_sigframe.h deleted file mode 100644 index b3f95a7f18b4..000000000000 --- a/arch/parisc/include/asm/compat_rt_sigframe.h +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | #include <linux/compat.h> | ||
2 | #include <linux/compat_siginfo.h> | ||
3 | #include <asm/compat_ucontext.h> | ||
4 | |||
5 | #ifndef _ASM_PARISC_COMPAT_RT_SIGFRAME_H | ||
6 | #define _ASM_PARISC_COMPAT_RT_SIGFRAME_H | ||
7 | |||
8 | /* In a deft move of uber-hackery, we decide to carry the top half of all | ||
9 | * 64-bit registers in a non-portable, non-ABI, hidden structure. | ||
10 | * Userspace can read the hidden structure if it *wants* but is never | ||
11 | * guaranteed to be in the same place. Infact the uc_sigmask from the | ||
12 | * ucontext_t structure may push the hidden register file downards | ||
13 | */ | ||
14 | struct compat_regfile { | ||
15 | /* Upper half of all the 64-bit registers that were truncated | ||
16 | on a copy to a 32-bit userspace */ | ||
17 | compat_int_t rf_gr[32]; | ||
18 | compat_int_t rf_iasq[2]; | ||
19 | compat_int_t rf_iaoq[2]; | ||
20 | compat_int_t rf_sar; | ||
21 | }; | ||
22 | |||
23 | #define COMPAT_SIGRETURN_TRAMP 4 | ||
24 | #define COMPAT_SIGRESTARTBLOCK_TRAMP 5 | ||
25 | #define COMPAT_TRAMP_SIZE (COMPAT_SIGRETURN_TRAMP + COMPAT_SIGRESTARTBLOCK_TRAMP) | ||
26 | |||
27 | struct compat_rt_sigframe { | ||
28 | /* XXX: Must match trampoline size in arch/parisc/kernel/signal.c | ||
29 | Secondary to that it must protect the ERESTART_RESTARTBLOCK | ||
30 | trampoline we left on the stack (we were bad and didn't | ||
31 | change sp so we could run really fast.) */ | ||
32 | compat_uint_t tramp[COMPAT_TRAMP_SIZE]; | ||
33 | compat_siginfo_t info; | ||
34 | struct compat_ucontext uc; | ||
35 | /* Hidden location of truncated registers, *must* be last. */ | ||
36 | struct compat_regfile regs; | ||
37 | }; | ||
38 | |||
39 | /* | ||
40 | * The 32-bit ABI wants at least 48 bytes for a function call frame: | ||
41 | * 16 bytes for arg0-arg3, and 32 bytes for magic (the only part of | ||
42 | * which Linux/parisc uses is sp-20 for the saved return pointer...) | ||
43 | * Then, the stack pointer must be rounded to a cache line (64 bytes). | ||
44 | */ | ||
45 | #define SIGFRAME32 64 | ||
46 | #define FUNCTIONCALLFRAME32 48 | ||
47 | #define PARISC_RT_SIGFRAME_SIZE32 \ | ||
48 | (((sizeof(struct compat_rt_sigframe) + FUNCTIONCALLFRAME32) + SIGFRAME32) & -SIGFRAME32) | ||
49 | |||
50 | #endif | ||
diff --git a/arch/parisc/include/asm/elf.h b/arch/parisc/include/asm/elf.h index 19f6cb1a4a1c..ad2b50397894 100644 --- a/arch/parisc/include/asm/elf.h +++ b/arch/parisc/include/asm/elf.h | |||
@@ -247,7 +247,7 @@ typedef unsigned long elf_greg_t; | |||
247 | #define ELF_PLATFORM ("PARISC\0") | 247 | #define ELF_PLATFORM ("PARISC\0") |
248 | 248 | ||
249 | #define SET_PERSONALITY(ex) \ | 249 | #define SET_PERSONALITY(ex) \ |
250 | current->personality = PER_LINUX; \ | 250 | set_personality((current->personality & ~PER_MASK) | PER_LINUX); \ |
251 | current->thread.map_base = DEFAULT_MAP_BASE; \ | 251 | current->thread.map_base = DEFAULT_MAP_BASE; \ |
252 | current->thread.task_size = DEFAULT_TASK_SIZE \ | 252 | current->thread.task_size = DEFAULT_TASK_SIZE \ |
253 | 253 | ||
diff --git a/arch/parisc/include/asm/floppy.h b/arch/parisc/include/asm/floppy.h index 4ca69f558fae..f84ff12574b7 100644 --- a/arch/parisc/include/asm/floppy.h +++ b/arch/parisc/include/asm/floppy.h | |||
@@ -157,10 +157,10 @@ static int fd_request_irq(void) | |||
157 | { | 157 | { |
158 | if(can_use_virtual_dma) | 158 | if(can_use_virtual_dma) |
159 | return request_irq(FLOPPY_IRQ, floppy_hardint, | 159 | return request_irq(FLOPPY_IRQ, floppy_hardint, |
160 | IRQF_DISABLED, "floppy", NULL); | 160 | 0, "floppy", NULL); |
161 | else | 161 | else |
162 | return request_irq(FLOPPY_IRQ, floppy_interrupt, | 162 | return request_irq(FLOPPY_IRQ, floppy_interrupt, |
163 | IRQF_DISABLED, "floppy", NULL); | 163 | 0, "floppy", NULL); |
164 | } | 164 | } |
165 | 165 | ||
166 | static unsigned long dma_mem_alloc(unsigned long size) | 166 | static unsigned long dma_mem_alloc(unsigned long size) |
diff --git a/arch/parisc/include/asm/mmzone.h b/arch/parisc/include/asm/mmzone.h index e67eb9c3d1bf..0e625ab9aaec 100644 --- a/arch/parisc/include/asm/mmzone.h +++ b/arch/parisc/include/asm/mmzone.h | |||
@@ -1,9 +1,10 @@ | |||
1 | #ifndef _PARISC_MMZONE_H | 1 | #ifndef _PARISC_MMZONE_H |
2 | #define _PARISC_MMZONE_H | 2 | #define _PARISC_MMZONE_H |
3 | 3 | ||
4 | #define MAX_PHYSMEM_RANGES 8 /* Fix the size for now (current known max is 3) */ | ||
5 | |||
4 | #ifdef CONFIG_DISCONTIGMEM | 6 | #ifdef CONFIG_DISCONTIGMEM |
5 | 7 | ||
6 | #define MAX_PHYSMEM_RANGES 8 /* Fix the size for now (current known max is 3) */ | ||
7 | extern int npmem_ranges; | 8 | extern int npmem_ranges; |
8 | 9 | ||
9 | struct node_map_data { | 10 | struct node_map_data { |
@@ -44,7 +45,7 @@ static inline int pfn_to_nid(unsigned long pfn) | |||
44 | return 0; | 45 | return 0; |
45 | 46 | ||
46 | i = pfn >> PFNNID_SHIFT; | 47 | i = pfn >> PFNNID_SHIFT; |
47 | BUG_ON(i >= sizeof(pfnnid_map) / sizeof(pfnnid_map[0])); | 48 | BUG_ON(i >= ARRAY_SIZE(pfnnid_map)); |
48 | r = pfnnid_map[i]; | 49 | r = pfnnid_map[i]; |
49 | BUG_ON(r == 0xff); | 50 | BUG_ON(r == 0xff); |
50 | 51 | ||
@@ -60,7 +61,5 @@ static inline int pfn_valid(int pfn) | |||
60 | return 0; | 61 | return 0; |
61 | } | 62 | } |
62 | 63 | ||
63 | #else /* !CONFIG_DISCONTIGMEM */ | ||
64 | #define MAX_PHYSMEM_RANGES 1 | ||
65 | #endif | 64 | #endif |
66 | #endif /* _PARISC_MMZONE_H */ | 65 | #endif /* _PARISC_MMZONE_H */ |
diff --git a/arch/parisc/include/asm/page.h b/arch/parisc/include/asm/page.h index 4e0e7dbf0f3f..b7adb2ac049c 100644 --- a/arch/parisc/include/asm/page.h +++ b/arch/parisc/include/asm/page.h | |||
@@ -21,15 +21,27 @@ | |||
21 | #include <asm/types.h> | 21 | #include <asm/types.h> |
22 | #include <asm/cache.h> | 22 | #include <asm/cache.h> |
23 | 23 | ||
24 | #define clear_page(page) memset((void *)(page), 0, PAGE_SIZE) | 24 | #define clear_page(page) clear_page_asm((void *)(page)) |
25 | #define copy_page(to,from) copy_user_page_asm((void *)(to), (void *)(from)) | 25 | #define copy_page(to, from) copy_page_asm((void *)(to), (void *)(from)) |
26 | 26 | ||
27 | struct page; | 27 | struct page; |
28 | 28 | ||
29 | void copy_user_page_asm(void *to, void *from); | 29 | void clear_page_asm(void *page); |
30 | void copy_page_asm(void *to, void *from); | ||
31 | void clear_user_page(void *vto, unsigned long vaddr, struct page *pg); | ||
30 | void copy_user_page(void *vto, void *vfrom, unsigned long vaddr, | 32 | void copy_user_page(void *vto, void *vfrom, unsigned long vaddr, |
31 | struct page *pg); | 33 | struct page *pg); |
32 | void clear_user_page(void *page, unsigned long vaddr, struct page *pg); | 34 | |
35 | /* #define CONFIG_PARISC_TMPALIAS */ | ||
36 | |||
37 | #ifdef CONFIG_PARISC_TMPALIAS | ||
38 | void clear_user_highpage(struct page *page, unsigned long vaddr); | ||
39 | #define clear_user_highpage clear_user_highpage | ||
40 | struct vm_area_struct; | ||
41 | void copy_user_highpage(struct page *to, struct page *from, | ||
42 | unsigned long vaddr, struct vm_area_struct *vma); | ||
43 | #define __HAVE_ARCH_COPY_USER_HIGHPAGE | ||
44 | #endif | ||
33 | 45 | ||
34 | /* | 46 | /* |
35 | * These are used to make use of C type-checking.. | 47 | * These are used to make use of C type-checking.. |
diff --git a/arch/parisc/include/asm/pgtable.h b/arch/parisc/include/asm/pgtable.h index ee99f2339356..7df49fad29f9 100644 --- a/arch/parisc/include/asm/pgtable.h +++ b/arch/parisc/include/asm/pgtable.h | |||
@@ -12,11 +12,10 @@ | |||
12 | 12 | ||
13 | #include <linux/bitops.h> | 13 | #include <linux/bitops.h> |
14 | #include <linux/spinlock.h> | 14 | #include <linux/spinlock.h> |
15 | #include <linux/mm_types.h> | ||
15 | #include <asm/processor.h> | 16 | #include <asm/processor.h> |
16 | #include <asm/cache.h> | 17 | #include <asm/cache.h> |
17 | 18 | ||
18 | struct vm_area_struct; | ||
19 | |||
20 | /* | 19 | /* |
21 | * kern_addr_valid(ADDR) tests if ADDR is pointing to valid kernel | 20 | * kern_addr_valid(ADDR) tests if ADDR is pointing to valid kernel |
22 | * memory. For the return value to be meaningful, ADDR must be >= | 21 | * memory. For the return value to be meaningful, ADDR must be >= |
@@ -40,7 +39,14 @@ struct vm_area_struct; | |||
40 | do{ \ | 39 | do{ \ |
41 | *(pteptr) = (pteval); \ | 40 | *(pteptr) = (pteval); \ |
42 | } while(0) | 41 | } while(0) |
43 | #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) | 42 | |
43 | extern void purge_tlb_entries(struct mm_struct *, unsigned long); | ||
44 | |||
45 | #define set_pte_at(mm, addr, ptep, pteval) \ | ||
46 | do { \ | ||
47 | set_pte(ptep, pteval); \ | ||
48 | purge_tlb_entries(mm, addr); \ | ||
49 | } while (0) | ||
44 | 50 | ||
45 | #endif /* !__ASSEMBLY__ */ | 51 | #endif /* !__ASSEMBLY__ */ |
46 | 52 | ||
@@ -466,6 +472,7 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, | |||
466 | old = pte_val(*ptep); | 472 | old = pte_val(*ptep); |
467 | new = pte_val(pte_wrprotect(__pte (old))); | 473 | new = pte_val(pte_wrprotect(__pte (old))); |
468 | } while (cmpxchg((unsigned long *) ptep, old, new) != old); | 474 | } while (cmpxchg((unsigned long *) ptep, old, new) != old); |
475 | purge_tlb_entries(mm, addr); | ||
469 | #else | 476 | #else |
470 | pte_t old_pte = *ptep; | 477 | pte_t old_pte = *ptep; |
471 | set_pte_at(mm, addr, ptep, pte_wrprotect(old_pte)); | 478 | set_pte_at(mm, addr, ptep, pte_wrprotect(old_pte)); |
diff --git a/arch/parisc/include/asm/signal.h b/arch/parisc/include/asm/signal.h index 0fdb3c835952..b1a7c4c4a53a 100644 --- a/arch/parisc/include/asm/signal.h +++ b/arch/parisc/include/asm/signal.h | |||
@@ -3,16 +3,12 @@ | |||
3 | 3 | ||
4 | #include <uapi/asm/signal.h> | 4 | #include <uapi/asm/signal.h> |
5 | 5 | ||
6 | |||
7 | #define _NSIG 64 | 6 | #define _NSIG 64 |
8 | /* bits-per-word, where word apparently means 'long' not 'int' */ | 7 | /* bits-per-word, where word apparently means 'long' not 'int' */ |
9 | #define _NSIG_BPW BITS_PER_LONG | 8 | #define _NSIG_BPW BITS_PER_LONG |
10 | #define _NSIG_WORDS (_NSIG / _NSIG_BPW) | 9 | #define _NSIG_WORDS (_NSIG / _NSIG_BPW) |
11 | 10 | ||
12 | # ifndef __ASSEMBLY__ | 11 | # ifndef __ASSEMBLY__ |
13 | #ifdef CONFIG_64BIT | ||
14 | #else | ||
15 | #endif | ||
16 | 12 | ||
17 | /* Most things should be clean enough to redefine this at will, if care | 13 | /* Most things should be clean enough to redefine this at will, if care |
18 | is taken to make libc match. */ | 14 | is taken to make libc match. */ |
diff --git a/arch/parisc/include/asm/unistd.h b/arch/parisc/include/asm/unistd.h index 3043194547cd..74f801ebbe77 100644 --- a/arch/parisc/include/asm/unistd.h +++ b/arch/parisc/include/asm/unistd.h | |||
@@ -149,6 +149,7 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \ | |||
149 | #define __ARCH_WANT_SYS_SIGNAL | 149 | #define __ARCH_WANT_SYS_SIGNAL |
150 | #define __ARCH_WANT_SYS_TIME | 150 | #define __ARCH_WANT_SYS_TIME |
151 | #define __ARCH_WANT_COMPAT_SYS_TIME | 151 | #define __ARCH_WANT_COMPAT_SYS_TIME |
152 | #define __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_INTERVAL | ||
152 | #define __ARCH_WANT_SYS_UTIME | 153 | #define __ARCH_WANT_SYS_UTIME |
153 | #define __ARCH_WANT_SYS_WAITPID | 154 | #define __ARCH_WANT_SYS_WAITPID |
154 | #define __ARCH_WANT_SYS_SOCKETCALL | 155 | #define __ARCH_WANT_SYS_SOCKETCALL |
@@ -166,6 +167,7 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \ | |||
166 | #define __ARCH_WANT_SYS_FORK | 167 | #define __ARCH_WANT_SYS_FORK |
167 | #define __ARCH_WANT_SYS_VFORK | 168 | #define __ARCH_WANT_SYS_VFORK |
168 | #define __ARCH_WANT_SYS_CLONE | 169 | #define __ARCH_WANT_SYS_CLONE |
170 | #define __ARCH_WANT_COMPAT_SYS_SENDFILE | ||
169 | 171 | ||
170 | #endif /* __ASSEMBLY__ */ | 172 | #endif /* __ASSEMBLY__ */ |
171 | 173 | ||
diff --git a/arch/parisc/include/uapi/asm/unistd.h b/arch/parisc/include/uapi/asm/unistd.h index e178f30f2ccc..2c8b9bde18eb 100644 --- a/arch/parisc/include/uapi/asm/unistd.h +++ b/arch/parisc/include/uapi/asm/unistd.h | |||
@@ -822,8 +822,12 @@ | |||
822 | #define __NR_syncfs (__NR_Linux + 327) | 822 | #define __NR_syncfs (__NR_Linux + 327) |
823 | #define __NR_setns (__NR_Linux + 328) | 823 | #define __NR_setns (__NR_Linux + 328) |
824 | #define __NR_sendmmsg (__NR_Linux + 329) | 824 | #define __NR_sendmmsg (__NR_Linux + 329) |
825 | #define __NR_process_vm_readv (__NR_Linux + 330) | ||
826 | #define __NR_process_vm_writev (__NR_Linux + 331) | ||
827 | #define __NR_kcmp (__NR_Linux + 332) | ||
828 | #define __NR_finit_module (__NR_Linux + 333) | ||
825 | 829 | ||
826 | #define __NR_Linux_syscalls (__NR_sendmmsg + 1) | 830 | #define __NR_Linux_syscalls (__NR_finit_module + 1) |
827 | 831 | ||
828 | 832 | ||
829 | #define __IGNORE_select /* newselect */ | 833 | #define __IGNORE_select /* newselect */ |