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
Kirill Smelkov
linux
Commits
ecaf5606
Commit
ecaf5606
authored
Jul 23, 2009
by
Borislav Petkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
amd64_edac: cleanup amd64_decode_bus_error
Signed-off-by:
Borislav Petkov
<
borislav.petkov@amd.com
>
parent
b7225e4f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
26 deletions
+9
-26
drivers/edac/amd64_edac.c
drivers/edac/amd64_edac.c
+9
-26
No files found.
drivers/edac/amd64_edac.c
View file @
ecaf5606
...
...
@@ -2283,42 +2283,26 @@ static void amd64_handle_ue(struct mem_ctl_info *mci,
}
static
void
amd64_decode_bus_error
(
struct
mem_ctl_info
*
mci
,
struct
err_regs
*
info
)
struct
err_regs
*
info
,
int
ecc_type
)
{
u32
ec
=
ERROR_CODE
(
info
->
nbsl
);
u32
xec
=
EXT_ERROR_CODE
(
info
->
nbsl
);
amd64_mc_printk
(
mci
,
KERN_ERR
,
"BUS ERROR:
\n
"
" time-out(%s) mem or i/o(%s)
\n
"
" participating processor(%s)
\n
"
" memory transaction type(%s)
\n
"
" cache level(%s) Error Found by: %s
\n
"
,
TO_MSG
(
ec
),
II_MSG
(
ec
),
PP_MSG
(
ec
),
RRRR_MSG
(
ec
),
LL_MSG
(
ec
),
(
info
->
nbsh
&
K8_NBSH_ERR_SCRUBER
)
?
"Scrubber"
:
"Normal Operation"
);
pr_emerg
(
" Transaction type: %s(%s), %s, Cache Level: %s, %s
\n
"
,
RRRR_MSG
(
ec
),
II_MSG
(
ec
),
TO_MSG
(
ec
),
LL_MSG
(
ec
),
PP_MSG
(
ec
));
/* Bail early out if this was an 'observed' error */
if
(
PP
(
ec
)
==
K8_NBSL_PP_OBS
)
return
;
/* Parse out the extended error code for ECC events */
switch
(
xec
)
{
/* F10 changed to one Extended ECC error code */
case
F10_NBSL_EXT_ERR_RES
:
/* Reserved field */
case
F10_NBSL_EXT_ERR_ECC
:
/* F10 ECC ext err code */
break
;
default:
amd64_mc_printk
(
mci
,
KERN_ERR
,
"NOT ECC: no special error "
"handling for this error
\n
"
);
/* Do only ECC errors */
if
(
xec
&&
xec
!=
F10_NBSL_EXT_ERR_ECC
)
return
;
}
if
(
info
->
nbsh
&
K8_NBSH_CECC
)
if
(
ecc_type
==
2
)
amd64_handle_ce
(
mci
,
info
);
else
if
(
info
->
nbsh
&
K8_NBSH_UECC
)
else
if
(
ecc_type
==
1
)
amd64_handle_ue
(
mci
,
info
);
/*
...
...
@@ -2329,8 +2313,7 @@ static void amd64_decode_bus_error(struct mem_ctl_info *mci,
* catastrophic.
*/
if
(
info
->
nbsh
&
K8_NBSH_OVERFLOW
)
edac_mc_handle_ce_no_info
(
mci
,
EDAC_MOD_STR
"Error Overflow set"
);
edac_mc_handle_ce_no_info
(
mci
,
EDAC_MOD_STR
"Error Overflow"
);
}
void
amd64_decode_nb_mce
(
struct
mem_ctl_info
*
mci
,
struct
err_regs
*
regs
,
...
...
@@ -2397,7 +2380,7 @@ void amd64_decode_nb_mce(struct mem_ctl_info *mci, struct err_regs *regs,
RRRR_MSG
(
ec
),
TT_MSG
(
ec
),
LL_MSG
(
ec
));
}
else
if
(
BUS_ERROR
(
ec
))
{
pr_emerg
(
" Bus (Link/DRAM) error
\n
"
);
amd64_decode_bus_error
(
mci
,
regs
);
amd64_decode_bus_error
(
mci
,
regs
,
ecc
);
}
else
{
/* shouldn't reach here! */
amd64_mc_printk
(
mci
,
KERN_WARNING
,
...
...
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