diff options
| author | Hyok S. Choi <hyok.choi@samsung.com> | 2006-04-10 22:53:06 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-11 06:18:33 -0700 | 
| commit | 3016b421534e2fa8a5eede1c12a3eba6164822f4 (patch) | |
| tree | 136bf93a1c24f6d4ed46ce6c54ddd4ba5d56a8ae | |
| parent | 21a26d49d1ab3163b589bf913dd9176e921eb1d7 (diff) | |
[PATCH] frv: define MMU mode specific syscalls as 'cond_syscall' and clean up unneeded macros
For some architectures, a few syscalls are not linked in noMMU mode.  In
that case, the MMU depending syscalls are needed to be defined as
'cond_syscall'.  For example, ARM architecture selectively links sys_mlock
by the mode configuration.
In case of FRV, it has been managed by #ifdef CONFIG_MMU macro in
arch/frv/kernel/entry.S.  However these conditional macros are just
duplicates if they were defined as cond_syscall.  Compilation test is done
with FRV toolchains for both of MMU and noMMU mode.
Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| -rw-r--r-- | arch/frv/kernel/entry.S | 26 | ||||
| -rw-r--r-- | kernel/sys_ni.c | 12 | 
2 files changed, 22 insertions, 16 deletions
| diff --git a/arch/frv/kernel/entry.S b/arch/frv/kernel/entry.S index 1d21c8d34d8a..a9b59527a741 100644 --- a/arch/frv/kernel/entry.S +++ b/arch/frv/kernel/entry.S @@ -1170,12 +1170,6 @@ __syscall_badsys:  # syscall vector table  #  ############################################################################### -#ifdef CONFIG_MMU -#define __MMU(X) X -#else -#define __MMU(X) sys_ni_syscall -#endif -  	.section .rodata  ALIGN  	.globl		sys_call_table @@ -1305,7 +1299,7 @@ sys_call_table:  	.long sys_newuname  	.long sys_ni_syscall	/* old "cacheflush" */  	.long sys_adjtimex -	.long __MMU(sys_mprotect) /* 125 */ +	.long sys_mprotect	/* 125 */  	.long sys_sigprocmask  	.long sys_ni_syscall	/* old "create_module" */  	.long sys_init_module @@ -1324,16 +1318,16 @@ sys_call_table:  	.long sys_getdents  	.long sys_select  	.long sys_flock -	.long __MMU(sys_msync) +	.long sys_msync  	.long sys_readv		/* 145 */  	.long sys_writev  	.long sys_getsid  	.long sys_fdatasync  	.long sys_sysctl -	.long __MMU(sys_mlock)		/* 150 */ -	.long __MMU(sys_munlock) -	.long __MMU(sys_mlockall) -	.long __MMU(sys_munlockall) +	.long sys_mlock		/* 150 */ +	.long sys_munlock +	.long sys_mlockall +	.long sys_munlockall  	.long sys_sched_setparam  	.long sys_sched_getparam   /* 155 */  	.long sys_sched_setscheduler @@ -1343,7 +1337,7 @@ sys_call_table:  	.long sys_sched_get_priority_min  /* 160 */  	.long sys_sched_rr_get_interval  	.long sys_nanosleep -	.long __MMU(sys_mremap) +	.long sys_mremap  	.long sys_setresuid16  	.long sys_getresuid16	/* 165 */  	.long sys_ni_syscall	/* for vm86 */ @@ -1398,8 +1392,8 @@ sys_call_table:  	.long sys_setfsuid		/* 215 */  	.long sys_setfsgid  	.long sys_pivot_root -	.long __MMU(sys_mincore) -	.long __MMU(sys_madvise) +	.long sys_mincore +	.long sys_madvise  	.long sys_getdents64	/* 220 */  	.long sys_fcntl64  	.long sys_ni_syscall	/* reserved for TUX */ @@ -1437,7 +1431,7 @@ sys_call_table:  	.long sys_epoll_create  	.long sys_epoll_ctl	/* 255 */  	.long sys_epoll_wait - 	.long __MMU(sys_remap_file_pages) + 	.long sys_remap_file_pages   	.long sys_set_tid_address   	.long sys_timer_create   	.long sys_timer_settime		/* 260 */ diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c index d82864c4a617..5433195040f1 100644 --- a/kernel/sys_ni.c +++ b/kernel/sys_ni.c @@ -120,3 +120,15 @@ cond_syscall(sys32_sysctl);  cond_syscall(ppc_rtas);  cond_syscall(sys_spu_run);  cond_syscall(sys_spu_create); + +/* mmu depending weak syscall entries */ +cond_syscall(sys_mprotect); +cond_syscall(sys_msync); +cond_syscall(sys_mlock); +cond_syscall(sys_munlock); +cond_syscall(sys_mlockall); +cond_syscall(sys_munlockall); +cond_syscall(sys_mincore); +cond_syscall(sys_madvise); +cond_syscall(sys_mremap); +cond_syscall(sys_remap_file_pages); | 
