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
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