Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
d898d485
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
d898d485
编写于
12月 19, 2005
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge master.kernel.org:/home/rmk/linux-2.6-arm
上级
df7addbb
7c612bfd
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
55 addition
and
22 deletion
+55
-22
arch/arm/kernel/calls.S
arch/arm/kernel/calls.S
+4
-4
arch/arm/kernel/entry-armv.S
arch/arm/kernel/entry-armv.S
+49
-0
arch/arm/kernel/entry-common.S
arch/arm/kernel/entry-common.S
+2
-18
未找到文件。
arch/arm/kernel/calls.S
浏览文件 @
d898d485
...
...
@@ -131,7 +131,7 @@ __syscall_start:
.
long
sys_wait4
/*
115
*/
.
long
sys_swapoff
.
long
sys_sysinfo
.
long
sys_ipc
_wrapper
.
long
sys_ipc
.
long
sys_fsync
.
long
sys_sigreturn_wrapper
/*
120
*/
.
long
sys_clone_wrapper
...
...
@@ -254,7 +254,7 @@ __syscall_start:
.
long
sys_fremovexattr
.
long
sys_tkill
.
long
sys_sendfile64
/*
240
*/
.
long
sys_futex
_wrapper
/*
240
*/
.
long
sys_futex
.
long
sys_sched_setaffinity
.
long
sys_sched_getaffinity
.
long
sys_io_setup
...
...
@@ -284,7 +284,7 @@ __syscall_start:
.
long
sys_fstatfs64
.
long
sys_tgkill
.
long
sys_utimes
/*
270
*/
.
long
sys_arm_fadvise64_64
_wrapper
/*
270
*/
.
long
sys_arm_fadvise64_64
.
long
sys_pciconfig_iobase
.
long
sys_pciconfig_read
.
long
sys_pciconfig_write
...
...
@@ -333,7 +333,7 @@ __syscall_start:
.
long
sys_inotify_init
.
long
sys_inotify_add_watch
.
long
sys_inotify_rm_watch
.
long
sys_mbind
_wrapper
.
long
sys_mbind
/*
320
*/
.
long
sys_get_mempolicy
.
long
sys_set_mempolicy
__syscall_end
:
...
...
arch/arm/kernel/entry-armv.S
浏览文件 @
d898d485
...
...
@@ -611,6 +611,47 @@ ENTRY(__switch_to)
.
globl
__kuser_helper_start
__kuser_helper_start
:
/*
*
Reference
prototype
:
*
*
void
__kernel_memory_barrier
(
void
)
*
*
Input
:
*
*
lr
=
return
address
*
*
Output
:
*
*
none
*
*
Clobbered
:
*
*
the
Z
flag
might
be
lost
*
*
Definition
and
user
space
usage
example
:
*
*
typedef
void
(
__kernel_dmb_t
)(
void
)
;
*
#
define
__kernel_dmb
(*(
__kernel_dmb_t
*)
0xffff0fa0
)
*
*
Apply
any
needed
memory
barrier
to
preserve
consistency
with
data
modified
*
manually
and
__kuser_cmpxchg
usage
.
*
*
This
could
be
used
as
follows
:
*
*
#
define
__kernel_dmb
()
\
*
asm
volatile
(
"mov r0, #0xffff0fff; mov lr, pc; sub pc, r0, #95"
\
*
:
:
:
"lr"
,
"cc"
)
*/
__kuser_memory_barrier
:
@
0xffff0fa0
#if __LINUX_ARM_ARCH__ >= 6 && defined(CONFIG_SMP)
mcr
p15
,
0
,
r0
,
c7
,
c10
,
5
@
dmb
#endif
mov
pc
,
lr
.
align
5
/*
*
Reference
prototype
:
*
...
...
@@ -642,6 +683,8 @@ __kuser_helper_start:
*
The
C
flag
is
also
set
if
*
ptr
was
changed
to
allow
for
assembly
*
optimization
in
the
calling
code
.
*
*
Note
:
this
routine
already
includes
memory
barriers
as
needed
.
*
*
For
example
,
a
user
space
atomic_add
implementation
could
look
like
this
:
*
*
#
define
atomic_add
(
ptr
,
val
)
\
...
...
@@ -698,10 +741,16 @@ __kuser_cmpxchg: @ 0xffff0fc0
#else
#ifdef CONFIG_SMP
mcr
p15
,
0
,
r0
,
c7
,
c10
,
5
@
dmb
#endif
ldrex
r3
,
[
r2
]
subs
r3
,
r3
,
r0
strexeq
r3
,
r1
,
[
r2
]
rsbs
r0
,
r3
,
#
0
#ifdef CONFIG_SMP
mcr
p15
,
0
,
r0
,
c7
,
c10
,
5
@
dmb
#endif
mov
pc
,
lr
#endif
...
...
arch/arm/kernel/entry-common.S
浏览文件 @
d898d485
...
...
@@ -145,7 +145,7 @@ ENTRY(vector_swi)
#endif
enable_irq
st
r
r4
,
[
sp
,
#-
S_OFF
]!
@
push
fifth
arg
st
mdb
sp
!,
{
r4
,
r5
}
@
push
fifth
and
sixth
args
get_thread_info
tsk
ldr
ip
,
[
tsk
,
#
TI_FLAGS
]
@
check
for
syscall
tracing
...
...
@@ -204,7 +204,7 @@ ENTRY(sys_call_table)
*
Special
system
call
wrappers
*/
@
r0
=
syscall
number
@
r
5
=
syscall
table
@
r
8
=
syscall
table
.
type
sys_syscall
,
#
function
sys_syscall
:
eor
scno
,
r0
,
#
__NR_SYSCALL_BASE
...
...
@@ -255,22 +255,6 @@ sys_sigaltstack_wrapper:
ldr
r2
,
[
sp
,
#
S_OFF
+
S_SP
]
b
do_sigaltstack
sys_futex_wrapper
:
str
r5
,
[
sp
,
#
4
]
@
push
sixth
arg
b
sys_futex
sys_arm_fadvise64_64_wrapper
:
str
r5
,
[
sp
,
#
4
]
@
push
r5
to
stack
b
sys_arm_fadvise64_64
sys_mbind_wrapper
:
str
r5
,
[
sp
,
#
4
]
b
sys_mbind
sys_ipc_wrapper
:
str
r5
,
[
sp
,
#
4
]
@
push
sixth
arg
b
sys_ipc
/*
*
Note
:
off_4k
(
r5
)
is
always
units
of
4
K
.
If
we
can
't do the requested
*
offset
,
we
return
EINVAL
.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录