mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 09:36:25 +00:00 
			
		
		
		
	 1da177e4c3
			
		
	
	
		1da177e4c3
		
	
	
	
	
		
			
			Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 
 | |
|  * Copyright (C) 2000 - 2004  Jeff Dike (jdike@karaya.com)
 | |
|  * Licensed under the GPL
 | |
|  */
 | |
| 
 | |
| #ifndef _UM_UNISTD_H_
 | |
| #define _UM_UNISTD_H_
 | |
| 
 | |
| #include <linux/syscalls.h>
 | |
| #include "linux/resource.h"
 | |
| #include "asm/uaccess.h"
 | |
| 
 | |
| extern int um_execve(const char *file, char *const argv[], char *const env[]);
 | |
| 
 | |
| #ifdef __KERNEL__
 | |
| /* We get __ARCH_WANT_OLD_STAT and __ARCH_WANT_STAT64 from the base arch */
 | |
| #define __ARCH_WANT_IPC_PARSE_VERSION
 | |
| #define __ARCH_WANT_OLD_READDIR
 | |
| #define __ARCH_WANT_SYS_ALARM
 | |
| #define __ARCH_WANT_SYS_GETHOSTNAME
 | |
| #define __ARCH_WANT_SYS_PAUSE
 | |
| #define __ARCH_WANT_SYS_SGETMASK
 | |
| #define __ARCH_WANT_SYS_SIGNAL
 | |
| #define __ARCH_WANT_SYS_TIME
 | |
| #define __ARCH_WANT_SYS_UTIME
 | |
| #define __ARCH_WANT_SYS_WAITPID
 | |
| #define __ARCH_WANT_SYS_SOCKETCALL
 | |
| #define __ARCH_WANT_SYS_FADVISE64
 | |
| #define __ARCH_WANT_SYS_GETPGRP
 | |
| #define __ARCH_WANT_SYS_LLSEEK
 | |
| #define __ARCH_WANT_SYS_NICE
 | |
| #define __ARCH_WANT_SYS_OLD_GETRLIMIT
 | |
| #define __ARCH_WANT_SYS_OLDUMOUNT
 | |
| #define __ARCH_WANT_SYS_SIGPENDING
 | |
| #define __ARCH_WANT_SYS_SIGPROCMASK
 | |
| #define __ARCH_WANT_SYS_RT_SIGACTION
 | |
| #endif
 | |
| 
 | |
| #ifdef __KERNEL_SYSCALLS__
 | |
| 
 | |
| #include <linux/compiler.h>
 | |
| #include <linux/types.h>
 | |
| 
 | |
| static inline int execve(const char *filename, char *const argv[],
 | |
| 			 char *const envp[])
 | |
| {
 | |
| 	mm_segment_t fs;
 | |
| 	int ret;
 | |
| 
 | |
| 	fs = get_fs();
 | |
| 	set_fs(KERNEL_DS);
 | |
| 	ret = um_execve(filename, argv, envp);
 | |
| 	set_fs(fs);
 | |
| 
 | |
| 	if (ret >= 0)
 | |
| 		return ret;
 | |
| 
 | |
| 	errno = -(long)ret;
 | |
| 	return -1;
 | |
| }
 | |
| 
 | |
| int sys_execve(char *file, char **argv, char **env);
 | |
| 
 | |
| #endif /* __KERNEL_SYSCALLS__ */
 | |
| 
 | |
| #undef __KERNEL_SYSCALLS__
 | |
| #include "asm/arch/unistd.h"
 | |
| 
 | |
| #endif /* _UM_UNISTD_H_*/
 |