Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
44e9e2ee
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
44e9e2ee
编写于
10月 26, 2009
作者:
B
Borislav Petkov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
amd64_edac: rename StinkyIdentifier
SystemAddress -> sys_addr Signed-off-by:
N
Borislav Petkov
<
borislav.petkov@amd.com
>
上级
ad858bfa
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
18 deletion
+18
-18
drivers/edac/amd64_edac.c
drivers/edac/amd64_edac.c
+18
-18
未找到文件。
drivers/edac/amd64_edac.c
浏览文件 @
44e9e2ee
...
...
@@ -1117,7 +1117,7 @@ static void k8_read_dram_base_limit(struct amd64_pvt *pvt, int dram)
static
void
k8_map_sysaddr_to_csrow
(
struct
mem_ctl_info
*
mci
,
struct
err_regs
*
info
,
u64
SystemAddress
)
u64
sys_addr
)
{
struct
mem_ctl_info
*
src_mci
;
unsigned
short
syndrome
;
...
...
@@ -1152,28 +1152,28 @@ static void k8_map_sysaddr_to_csrow(struct mem_ctl_info *mci,
* was obtained from email communication with someone at AMD.
* (Wish the email was placed in this comment - norsk)
*/
channel
=
((
SystemAddress
&
BIT
(
3
))
!=
0
);
channel
=
((
sys_addr
&
BIT
(
3
))
!=
0
);
}
/*
* Find out which node the error address belongs to. This may be
* different from the node that detected the error.
*/
src_mci
=
find_mc_by_sys_addr
(
mci
,
SystemAddress
);
src_mci
=
find_mc_by_sys_addr
(
mci
,
sys_addr
);
if
(
!
src_mci
)
{
amd64_mc_printk
(
mci
,
KERN_ERR
,
"failed to map error address 0x%lx to a node
\n
"
,
(
unsigned
long
)
SystemAddress
);
(
unsigned
long
)
sys_addr
);
edac_mc_handle_ce_no_info
(
mci
,
EDAC_MOD_STR
);
return
;
}
/* Now map the
SystemAddress
to a CSROW */
csrow
=
sys_addr_to_csrow
(
src_mci
,
SystemAddress
);
/* Now map the
sys_addr
to a CSROW */
csrow
=
sys_addr_to_csrow
(
src_mci
,
sys_addr
);
if
(
csrow
<
0
)
{
edac_mc_handle_ce_no_info
(
src_mci
,
EDAC_MOD_STR
);
}
else
{
error_address_to_page_and_offset
(
SystemAddress
,
&
page
,
&
offset
);
error_address_to_page_and_offset
(
sys_addr
,
&
page
,
&
offset
);
edac_mc_handle_ce
(
src_mci
,
page
,
offset
,
syndrome
,
csrow
,
channel
,
EDAC_MOD_STR
);
...
...
@@ -2108,7 +2108,7 @@ static void amd64_handle_ce(struct mem_ctl_info *mci,
struct
err_regs
*
info
)
{
struct
amd64_pvt
*
pvt
=
mci
->
pvt_info
;
u64
SystemAddress
;
u64
sys_addr
;
/* Ensure that the Error Address is VALID */
if
((
info
->
nbsh
&
K8_NBSH_VALID_ERROR_ADDR
)
==
0
)
{
...
...
@@ -2118,12 +2118,12 @@ static void amd64_handle_ce(struct mem_ctl_info *mci,
return
;
}
SystemAddress
=
extract_error_address
(
mci
,
info
);
sys_addr
=
extract_error_address
(
mci
,
info
);
amd64_mc_printk
(
mci
,
KERN_ERR
,
"CE ERROR_ADDRESS= 0x%llx
\n
"
,
SystemAddress
);
"CE ERROR_ADDRESS= 0x%llx
\n
"
,
sys_addr
);
pvt
->
ops
->
map_sysaddr_to_csrow
(
mci
,
info
,
SystemAddress
);
pvt
->
ops
->
map_sysaddr_to_csrow
(
mci
,
info
,
sys_addr
);
}
/* Handle any Un-correctable Errors (UEs) */
...
...
@@ -2131,7 +2131,7 @@ static void amd64_handle_ue(struct mem_ctl_info *mci,
struct
err_regs
*
info
)
{
int
csrow
;
u64
SystemAddress
;
u64
sys_addr
;
u32
page
,
offset
;
struct
mem_ctl_info
*
log_mci
,
*
src_mci
=
NULL
;
...
...
@@ -2144,31 +2144,31 @@ static void amd64_handle_ue(struct mem_ctl_info *mci,
return
;
}
SystemAddress
=
extract_error_address
(
mci
,
info
);
sys_addr
=
extract_error_address
(
mci
,
info
);
/*
* Find out which node the error address belongs to. This may be
* different from the node that detected the error.
*/
src_mci
=
find_mc_by_sys_addr
(
mci
,
SystemAddress
);
src_mci
=
find_mc_by_sys_addr
(
mci
,
sys_addr
);
if
(
!
src_mci
)
{
amd64_mc_printk
(
mci
,
KERN_CRIT
,
"ERROR ADDRESS (0x%lx) value NOT mapped to a MC
\n
"
,
(
unsigned
long
)
SystemAddress
);
(
unsigned
long
)
sys_addr
);
edac_mc_handle_ue_no_info
(
log_mci
,
EDAC_MOD_STR
);
return
;
}
log_mci
=
src_mci
;
csrow
=
sys_addr_to_csrow
(
log_mci
,
SystemAddress
);
csrow
=
sys_addr_to_csrow
(
log_mci
,
sys_addr
);
if
(
csrow
<
0
)
{
amd64_mc_printk
(
mci
,
KERN_CRIT
,
"ERROR_ADDRESS (0x%lx) value NOT mapped to 'csrow'
\n
"
,
(
unsigned
long
)
SystemAddress
);
(
unsigned
long
)
sys_addr
);
edac_mc_handle_ue_no_info
(
log_mci
,
EDAC_MOD_STR
);
}
else
{
error_address_to_page_and_offset
(
SystemAddress
,
&
page
,
&
offset
);
error_address_to_page_and_offset
(
sys_addr
,
&
page
,
&
offset
);
edac_mc_handle_ue
(
log_mci
,
page
,
offset
,
csrow
,
EDAC_MOD_STR
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录