Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Kernel Liteos A
提交
a89fb57f
K
Kernel Liteos A
项目概览
OpenHarmony
/
Kernel Liteos A
1 年多 前同步成功
通知
460
Star
414
Fork
55
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel Liteos A
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a89fb57f
编写于
5月 14, 2021
作者:
星e雨
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: Fix kernel page fault exception handling causing system exception.
Close #I3RAN4 Change-Id: Ice9bc67371ad85476ec99b46b7555d41abd93e94
上级
8d419bb0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
2 deletion
+8
-2
arch/arm/arm/src/los_hw_exc.S
arch/arm/arm/src/los_hw_exc.S
+8
-2
未找到文件。
arch/arm/arm/src/los_hw_exc.S
浏览文件 @
a89fb57f
...
...
@@ -181,6 +181,7 @@ _osExceptUndefInstrHdl:
MOV
R2
,
#
0
MOV
R3
,
#
0
STMFD
SP
!,
{
R2
-
R3
}
@
far
and
fsr
fields
,
are
0
under
this
anomaly
STMFD
SP
!,
{
R4
-
R11
}
MOV
R0
,
#
OS_EXCEPT_UNDEF_INSTR
@
Set
exception
ID
to
OS_EXCEPT_UNDEF_INSTR
.
B
_osExceptDispatch
@
Branch
to
global
exception
handler
.
...
...
@@ -240,6 +241,7 @@ _osKernelSVCHandler:
MOV
R0
,
#
0
STR
R0
,
[
SP
,
#
0
]
STR
R0
,
[
SP
,
#
4
]
STMFD
SP
!,
{
R4
-
R11
}
MOV
R0
,
#
OS_EXCEPT_SWI
@
Set
exception
ID
to
OS_EXCEPT_SWI
.
B
_osExceptDispatch
@
Branch
to
global
exception
handler
.
...
...
@@ -261,9 +263,10 @@ _osExceptPrefetchAbortHdl:
MRC
P15
,
0
,
R2
,
C6
,
C0
,
2
MRC
P15
,
0
,
R3
,
C5
,
C0
,
1
STMFD
SP
!,
{
R2
-
R3
}
@
Save
far
and
fsr
STMFD
SP
!,
{
R4
-
R11
}
#ifdef LOSCFG_KERNEL_VM
LDR
R0
,
[
SP
,
#(
1
1
*
4
)]
LDR
R0
,
[
SP
,
#(
1
9
*
4
)]
AND
R0
,
R0
,
#
CPSR_MASK_MODE
@
Interrupted
mode
CMP
R0
,
#
CPSR_USER_MODE
@
User
mode
BNE
_osKernelExceptPrefetchAbortHdl
...
...
@@ -302,6 +305,7 @@ _osExceptDataAbortHdl:
MRC
P15
,
0
,
R2
,
C6
,
C0
,
0
MRC
P15
,
0
,
R3
,
C5
,
C0
,
0
STMFD
SP
!,
{
R2
-
R3
}
@
Save
far
and
fsr
STMFD
SP
!,
{
R4
-
R11
}
#ifdef LOSCFG_KERNEL_VM
MOV
R1
,
SP
...
...
@@ -320,6 +324,7 @@ _osExceptDataAbortHdl:
#ifdef LOSCFG_KERNEL_VM
_osExcPageFaultReturn
:
LDMFD
SP
!,
{
R4
-
R11
}
ADD
SP
,
SP
,
#(
2
*
4
)
LDMFD
SP
,
{
R13
,
R14
}^
ADD
SP
,
SP
,
#(
2
*
4
)
@
Jump
reserved
fileds
...
...
@@ -340,6 +345,7 @@ _osExceptAddrAbortHdl:
MOV
R2
,
#
0
MOV
R3
,
#
0
STMFD
SP
!,
{
R2
-
R3
}
@
far
and
fsr
fields
,
are
0
under
this
anomaly
STMFD
SP
!,
{
R4
-
R11
}
MOV
R0
,
#
OS_EXCEPT_ADDR_ABORT
@
Set
exception
ID
to
OS_EXCEPT_ADDR_ABORT
.
B
_osExceptDispatch
@
Branch
to
global
exception
handler
.
...
...
@@ -357,12 +363,12 @@ _osExceptFiqHdl:
MOV
R2
,
#
0
MOV
R3
,
#
0
STMFD
SP
!,
{
R2
-
R3
}
@
far
and
fsr
fields
,
are
0
under
this
anomaly
STMFD
SP
!,
{
R4
-
R11
}
@
Description
:
Exception
handler
@
Parameter
:
R0
Exception
Type
@
Regs
Hold
:
R3
Exception
`
s
CPSR
_osExceptDispatch
:
STMFD
SP
!,
{
R4
-
R11
}
LDR
R8
,
[
SP
,
#(
8
*
4
)]
@
Get
far
LDR
R9
,
[
SP
,
#(
9
*
4
)]
@
Get
fsr
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录