Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
9b8c7d1e
cloud-kernel
项目概览
openanolis
/
cloud-kernel
接近 2 年 前同步成功
通知
169
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看板
提交
9b8c7d1e
编写于
2月 27, 2015
作者:
V
Vineet Gupta
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ARC: entry.S: FAKE_RET_FROM_EXCPN can always use r9
Signed-off-by:
N
Vineet Gupta
<
vgupta@synopsys.com
>
上级
a615b47d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
21 deletion
+19
-21
arch/arc/include/asm/entry.h
arch/arc/include/asm/entry.h
+8
-8
arch/arc/kernel/entry.S
arch/arc/kernel/entry.S
+11
-13
未找到文件。
arch/arc/include/asm/entry.h
浏览文件 @
9b8c7d1e
...
...
@@ -331,14 +331,14 @@
* Look at EV_ProtV to see how this is actually used
*-------------------------------------------------------------*/
.
macro
FAKE_RET_FROM_EXCPN
reg
ld
\
reg
,
[
sp
,
PT_status32
]
bic
\
reg
,
\
reg
,
(
STATUS_U_MASK
|
STATUS_DE_MASK
)
bset
\
reg
,
\
reg
,
STATUS_L_BIT
sr
\
reg
,
[
erstatus
]
mov
\
reg
,
55
f
sr
\
reg
,
[
eret
]
.
macro
FAKE_RET_FROM_EXCPN
ld
r9
,
[
sp
,
PT_status32
]
bic
r9
,
r9
,
(
STATUS_U_MASK
|
STATUS_DE_MASK
)
bset
r9
,
r9
,
STATUS_L_BIT
sr
r9
,
[
erstatus
]
mov
r9
,
55
f
sr
r9
,
[
eret
]
rtie
55
:
...
...
arch/arc/kernel/entry.S
浏览文件 @
9b8c7d1e
...
...
@@ -261,7 +261,7 @@ ENTRY(instr_service)
lr
r0
,
[
efa
]
mov
r1
,
sp
FAKE_RET_FROM_EXCPN
r9
FAKE_RET_FROM_EXCPN
bl
do_insterror_or_kprobe
b
ret_from_exception
...
...
@@ -278,7 +278,7 @@ ENTRY(mem_service)
lr
r0
,
[
efa
]
mov
r1
,
sp
FAKE_RET_FROM_EXCPN
r9
FAKE_RET_FROM_EXCPN
bl
do_memory_error
b
ret_from_exception
...
...
@@ -330,12 +330,11 @@ ENTRY(EV_TLBProtV)
lr
r2
,
[
ecr
]
lr
r0
,
[
efa
]
; Faulting Data address
; --------(4) Return from CPU Exception Mode ---------
; Fake a rtie, but rtie to next label
; That way, subsequently, do_page_fault ( ) executes in pure kernel
; mode with further Exceptions enabled
; Exception auto-disables further Intr/exceptions.
; Re-enable them by pretending to return from exception
; (so rest of handler executes in pure K mode)
FAKE_RET_FROM_EXCPN
r9
FAKE_RET_FROM_EXCPN
mov
r1
,
sp
...
...
@@ -377,7 +376,7 @@ ENTRY(call_do_page_fault)
EXCEPTION_PROLOGUE
lr
r0
,
[
efa
]
; Faulting Data address
mov
r1
,
sp
FAKE_RET_FROM_EXCPN
r9
FAKE_RET_FROM_EXCPN
mov
blink
,
ret_from_exception
b
do_page_fault
...
...
@@ -394,7 +393,7 @@ ENTRY(EV_PrivilegeV)
lr
r0
,
[
efa
]
mov
r1
,
sp
FAKE_RET_FROM_EXCPN
r9
FAKE_RET_FROM_EXCPN
bl
do_privilege_fault
b
ret_from_exception
...
...
@@ -410,7 +409,7 @@ ENTRY(EV_Extension)
lr
r0
,
[
efa
]
mov
r1
,
sp
FAKE_RET_FROM_EXCPN
r9
FAKE_RET_FROM_EXCPN
bl
do_extension_fault
b
ret_from_exception
...
...
@@ -472,7 +471,7 @@ trap_with_param:
; Now that we have read EFA, it is safe to do "fake" rtie
; and get out of CPU exception mode
FAKE_RET_FROM_EXCPN
r11
FAKE_RET_FROM_EXCPN
; Save callee regs in case gdb wants to have a look
; SP will grow up by size of CALLEE Reg-File
...
...
@@ -512,8 +511,7 @@ ENTRY(EV_Trap)
; ======= (5a) Trap is due to System Call ========
; Before doing anything, return from CPU Exception Mode
FAKE_RET_FROM_EXCPN
r11
FAKE_RET_FROM_EXCPN
; If syscall tracing ongoing, invoke pre-pos-hooks
GET_CURR_THR_INFO_FLAGS
r10
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录