 f87ea91d98
			
		
	
	
	f87ea91d98
	
	
	
		
			
			Redo the calculation of NR_syscalls since that disappeared from i386 and use a similar mechanism on x86_64. We now figure out the size of the system call table in arch code and stick that in syscall_table_size. arch/um/kernel/skas/syscall.c defines NR_syscalls in terms of that since its the only thing that needs to know how many system calls there are. The old mechananism that was used on x86_64 is gone. arch/um/include/sysdep-i386/syscalls.h got some formatting since I was looking at it. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			757 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			757 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 
 | |
|  * Copyright (C) 2000 - 2008 Jeff Dike (jdike@{addtoit,linux.intel}.com)
 | |
|  * Licensed under the GPL
 | |
|  */
 | |
| 
 | |
| #include "asm/unistd.h"
 | |
| #include "sysdep/ptrace.h"
 | |
| 
 | |
| typedef long syscall_handler_t(struct pt_regs);
 | |
| 
 | |
| /* Not declared on x86, incompatible declarations on x86_64, so these have
 | |
|  * to go here rather than in sys_call_table.c
 | |
|  */
 | |
| extern syscall_handler_t sys_rt_sigaction;
 | |
| 
 | |
| extern syscall_handler_t old_mmap_i386;
 | |
| 
 | |
| extern syscall_handler_t *sys_call_table[];
 | |
| 
 | |
| #define EXECUTE_SYSCALL(syscall, regs) \
 | |
| 	((long (*)(struct syscall_args)) \
 | |
| 	 (*sys_call_table[syscall]))(SYSCALL_ARGS(®s->regs))
 | |
| 
 | |
| extern long sys_mmap2(unsigned long addr, unsigned long len,
 | |
| 		      unsigned long prot, unsigned long flags,
 | |
| 		      unsigned long fd, unsigned long pgoff);
 |