Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
unicore32
kernel
sys.c
Go to the documentation of this file.
1
/*
2
* linux/arch/unicore32/kernel/sys.c
3
*
4
* Code specific to PKUnity SoC and UniCore ISA
5
*
6
* Copyright (C) 2001-2010 GUAN Xue-tao
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License version 2 as
10
* published by the Free Software Foundation.
11
*/
12
#include <linux/module.h>
13
#include <linux/errno.h>
14
#include <linux/sched.h>
15
#include <linux/slab.h>
16
#include <
linux/mm.h
>
17
#include <linux/sem.h>
18
#include <linux/msg.h>
19
#include <linux/shm.h>
20
#include <linux/stat.h>
21
#include <
linux/syscalls.h
>
22
#include <linux/mman.h>
23
#include <linux/fs.h>
24
#include <
linux/file.h
>
25
#include <linux/ipc.h>
26
#include <
linux/uaccess.h
>
27
28
#include <asm/syscalls.h>
29
#include <asm/cacheflush.h>
30
31
/* Clone a task - this clones the calling program thread.
32
* This is called indirectly via a small wrapper
33
*/
34
asmlinkage
long
__sys_clone
(
unsigned
long
clone_flags,
unsigned
long
newsp,
35
void
__user *parent_tid,
void
__user *child_tid,
36
struct
pt_regs
*
regs
)
37
{
38
if
(!newsp)
39
newsp = regs->UCreg_sp;
40
41
return
do_fork
(clone_flags, newsp, regs, 0,
42
parent_tid, child_tid);
43
}
44
45
/* Note: used by the compat code even in 64-bit Linux. */
46
SYSCALL_DEFINE6
(mmap2,
unsigned
long
,
addr
,
unsigned
long
, len,
47
unsigned
long
, prot,
unsigned
long
,
flags
,
48
unsigned
long
,
fd
,
unsigned
long
, off_4k)
49
{
50
return
sys_mmap_pgoff
(
addr
,
len
, prot,
flags
,
fd
,
51
off_4k);
52
}
53
54
/* Provide the actual syscall number to call mapping. */
55
#undef __SYSCALL
56
#define __SYSCALL(nr, call) [nr] = (call),
57
58
/* Note that we don't include <linux/unistd.h> but <asm/unistd.h> */
59
void
*
sys_call_table
[
__NR_syscalls
] = {
60
[0 ...
__NR_syscalls
-1] =
sys_ni_syscall
,
61
#include <asm/unistd.h>
62
};
Generated on Thu Jan 10 2013 13:03:42 for Linux Kernel by
1.8.2