diff options
author | Hyok S. Choi <hyok.choi@samsung.com> | 2006-04-11 01:53:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-11 09:18:33 -0400 |
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: | |||
1170 | # syscall vector table | 1170 | # syscall vector table |
1171 | # | 1171 | # |
1172 | ############################################################################### | 1172 | ############################################################################### |
1173 | #ifdef CONFIG_MMU | ||
1174 | #define __MMU(X) X | ||
1175 | #else | ||
1176 | #define __MMU(X) sys_ni_syscall | ||
1177 | #endif | ||
1178 | |||
1179 | .section .rodata | 1173 | .section .rodata |
1180 | ALIGN | 1174 | ALIGN |
1181 | .globl sys_call_table | 1175 | .globl sys_call_table |
@@ -1305,7 +1299,7 @@ sys_call_table: | |||
1305 | .long sys_newuname | 1299 | .long sys_newuname |
1306 | .long sys_ni_syscall /* old "cacheflush" */ | 1300 | .long sys_ni_syscall /* old "cacheflush" */ |
1307 | .long sys_adjtimex | 1301 | .long sys_adjtimex |
1308 | .long __MMU(sys_mprotect) /* 125 */ | 1302 | .long sys_mprotect /* 125 */ |
1309 | .long sys_sigprocmask | 1303 | .long sys_sigprocmask |
1310 | .long sys_ni_syscall /* old "create_module" */ | 1304 | .long sys_ni_syscall /* old "create_module" */ |
1311 | .long sys_init_module | 1305 | .long sys_init_module |
@@ -1324,16 +1318,16 @@ sys_call_table: | |||
1324 | .long sys_getdents | 1318 | .long sys_getdents |
1325 | .long sys_select | 1319 | .long sys_select |
1326 | .long sys_flock | 1320 | .long sys_flock |
1327 | .long __MMU(sys_msync) | 1321 | .long sys_msync |
1328 | .long sys_readv /* 145 */ | 1322 | .long sys_readv /* 145 */ |
1329 | .long sys_writev | 1323 | .long sys_writev |
1330 | .long sys_getsid | 1324 | .long sys_getsid |
1331 | .long sys_fdatasync | 1325 | .long sys_fdatasync |
1332 | .long sys_sysctl | 1326 | .long sys_sysctl |
1333 | .long __MMU(sys_mlock) /* 150 */ | 1327 | .long sys_mlock /* 150 */ |
1334 | .long __MMU(sys_munlock) | 1328 | .long sys_munlock |
1335 | .long __MMU(sys_mlockall) | 1329 | .long sys_mlockall |
1336 | .long __MMU(sys_munlockall) | 1330 | .long sys_munlockall |
1337 | .long sys_sched_setparam | 1331 | .long sys_sched_setparam |
1338 | .long sys_sched_getparam /* 155 */ | 1332 | .long sys_sched_getparam /* 155 */ |
1339 | .long sys_sched_setscheduler | 1333 | .long sys_sched_setscheduler |
@@ -1343,7 +1337,7 @@ sys_call_table: | |||
1343 | .long sys_sched_get_priority_min /* 160 */ | 1337 | .long sys_sched_get_priority_min /* 160 */ |
1344 | .long sys_sched_rr_get_interval | 1338 | .long sys_sched_rr_get_interval |
1345 | .long sys_nanosleep | 1339 | .long sys_nanosleep |
1346 | .long __MMU(sys_mremap) | 1340 | .long sys_mremap |
1347 | .long sys_setresuid16 | 1341 | .long sys_setresuid16 |
1348 | .long sys_getresuid16 /* 165 */ | 1342 | .long sys_getresuid16 /* 165 */ |
1349 | .long sys_ni_syscall /* for vm86 */ | 1343 | .long sys_ni_syscall /* for vm86 */ |
@@ -1398,8 +1392,8 @@ sys_call_table: | |||
1398 | .long sys_setfsuid /* 215 */ | 1392 | .long sys_setfsuid /* 215 */ |
1399 | .long sys_setfsgid | 1393 | .long sys_setfsgid |
1400 | .long sys_pivot_root | 1394 | .long sys_pivot_root |
1401 | .long __MMU(sys_mincore) | 1395 | .long sys_mincore |
1402 | .long __MMU(sys_madvise) | 1396 | .long sys_madvise |
1403 | .long sys_getdents64 /* 220 */ | 1397 | .long sys_getdents64 /* 220 */ |
1404 | .long sys_fcntl64 | 1398 | .long sys_fcntl64 |
1405 | .long sys_ni_syscall /* reserved for TUX */ | 1399 | .long sys_ni_syscall /* reserved for TUX */ |
@@ -1437,7 +1431,7 @@ sys_call_table: | |||
1437 | .long sys_epoll_create | 1431 | .long sys_epoll_create |
1438 | .long sys_epoll_ctl /* 255 */ | 1432 | .long sys_epoll_ctl /* 255 */ |
1439 | .long sys_epoll_wait | 1433 | .long sys_epoll_wait |
1440 | .long __MMU(sys_remap_file_pages) | 1434 | .long sys_remap_file_pages |
1441 | .long sys_set_tid_address | 1435 | .long sys_set_tid_address |
1442 | .long sys_timer_create | 1436 | .long sys_timer_create |
1443 | .long sys_timer_settime /* 260 */ | 1437 | .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); | |||
120 | cond_syscall(ppc_rtas); | 120 | cond_syscall(ppc_rtas); |
121 | cond_syscall(sys_spu_run); | 121 | cond_syscall(sys_spu_run); |
122 | cond_syscall(sys_spu_create); | 122 | cond_syscall(sys_spu_create); |
123 | |||
124 | /* mmu depending weak syscall entries */ | ||
125 | cond_syscall(sys_mprotect); | ||
126 | cond_syscall(sys_msync); | ||
127 | cond_syscall(sys_mlock); | ||
128 | cond_syscall(sys_munlock); | ||
129 | cond_syscall(sys_mlockall); | ||
130 | cond_syscall(sys_munlockall); | ||
131 | cond_syscall(sys_mincore); | ||
132 | cond_syscall(sys_madvise); | ||
133 | cond_syscall(sys_mremap); | ||
134 | cond_syscall(sys_remap_file_pages); | ||