Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
841d6e8c
Commit
841d6e8c
authored
Jan 22, 2010
by
Michal Simek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
microblaze: entry.S use delay slot for return handlers
Signed-off-by:
Michal Simek
<
monstr@monstr.eu
>
parent
8633bebc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
6 deletions
+3
-6
arch/microblaze/kernel/entry.S
arch/microblaze/kernel/entry.S
+3
-6
No files found.
arch/microblaze/kernel/entry.S
View file @
841d6e8c
...
@@ -414,10 +414,9 @@ C_ENTRY(ret_from_trap):
...
@@ -414,10 +414,9 @@ C_ENTRY(ret_from_trap):
beqi
r11
,
1
f
; /* Signals to handle, handle them */
beqi
r11
,
1
f
; /* Signals to handle, handle them */
la
r5
,
r1
,
PTO
; /* Arg 1: struct pt_regs *regs */
la
r5
,
r1
,
PTO
; /* Arg 1: struct pt_regs *regs */
add
r6
,
r0
,
r0
; /* Arg 2: sigset_t *oldset */
addi
r7
,
r0
,
1
; /* Arg 3: int in_syscall */
addi
r7
,
r0
,
1
; /* Arg 3: int in_syscall */
bralid
r15
,
do_signal
; /* Handle any signals */
bralid
r15
,
do_signal
; /* Handle any signals */
nop
;
add
r6
,
r0
,
r0
; /* Arg 2: sigset_t *oldset */
/*
Finally
,
return
to
user
state
.
*/
/*
Finally
,
return
to
user
state
.
*/
1
:
1
:
...
@@ -692,10 +691,9 @@ C_ENTRY(ret_from_exc):
...
@@ -692,10 +691,9 @@ C_ENTRY(ret_from_exc):
*
store
return
registers
separately
because
this
macros
is
use
*
store
return
registers
separately
because
this
macros
is
use
*
for
others
exceptions
*/
*
for
others
exceptions
*/
la
r5
,
r1
,
PTO
; /* Arg 1: struct pt_regs *regs */
la
r5
,
r1
,
PTO
; /* Arg 1: struct pt_regs *regs */
add
r6
,
r0
,
r0
; /* Arg 2: sigset_t *oldset */
addi
r7
,
r0
,
0
; /* Arg 3: int in_syscall */
addi
r7
,
r0
,
0
; /* Arg 3: int in_syscall */
bralid
r15
,
do_signal
; /* Handle any signals */
bralid
r15
,
do_signal
; /* Handle any signals */
nop
;
add
r6
,
r0
,
r0
; /* Arg 2: sigset_t *oldset */
/*
Finally
,
return
to
user
state
.
*/
/*
Finally
,
return
to
user
state
.
*/
1
:
swi
r0
,
r0
,
PER_CPU
(
KM
)
; /* Now officially in user state. */
1
:
swi
r0
,
r0
,
PER_CPU
(
KM
)
; /* Now officially in user state. */
...
@@ -968,10 +966,9 @@ dbtrap_call: rtbd r11, 0;
...
@@ -968,10 +966,9 @@ dbtrap_call: rtbd r11, 0;
(
in
a
possibly
modified
form
)
after
do_signal
returns
.
*/
(
in
a
possibly
modified
form
)
after
do_signal
returns
.
*/
la
r5
,
r1
,
PTO
; /* Arg 1: struct pt_regs *regs */
la
r5
,
r1
,
PTO
; /* Arg 1: struct pt_regs *regs */
add
r6
,
r0
,
r0
; /* Arg 2: sigset_t *oldset */
addi
r7
,
r0
,
0
; /* Arg 3: int in_syscall */
addi
r7
,
r0
,
0
; /* Arg 3: int in_syscall */
bralid
r15
,
do_signal
; /* Handle any signals */
bralid
r15
,
do_signal
; /* Handle any signals */
nop
;
add
r6
,
r0
,
r0
; /* Arg 2: sigset_t *oldset */
/*
Finally
,
return
to
user
state
.
*/
/*
Finally
,
return
to
user
state
.
*/
...
...
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