Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
d898d485
Commit
d898d485
authored
Dec 19, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/home/rmk/linux-2.6-arm
parents
df7addbb
7c612bfd
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
55 additions
and
22 deletions
+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
No files found.
arch/arm/kernel/calls.S
View file @
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
View file @
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
View file @
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
.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment