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
nexedi
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