From: "Joerg Roedel" <joerg.roedel@amd.com>
To: linux-kernel@vger.kernel.org
Cc: "Joerg Roedel" <joerg.roedel@amd.com>,
"Christoph Egger" <Christoph.Egger@amd.com>
Subject: [PATCH 1/2] i386: mce cleanup part1: functional change
Date: Tue, 9 Oct 2007 14:49:55 +0200 [thread overview]
Message-ID: <11919341961530-git-send-email-joerg.roedel@amd.com> (raw)
In-Reply-To: <11919341961890-git-send-email-joerg.roedel@amd.com>
MCG_CAP never reports a negative count of available error-reporting banks.
Therefore, make it unsigned.
Check for MCA/MCE feature bits as early as possible.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
---
arch/i386/kernel/cpu/mcheck/mce.c | 13 ++++++++++++-
arch/i386/kernel/cpu/mcheck/mce.h | 2 +-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/arch/i386/kernel/cpu/mcheck/mce.c b/arch/i386/kernel/cpu/mcheck/mce.c
index 34c781e..bad2c64 100644
--- a/arch/i386/kernel/cpu/mcheck/mce.c
+++ b/arch/i386/kernel/cpu/mcheck/mce.c
@@ -17,7 +17,7 @@
#include "mce.h"
int mce_disabled = 0;
-int nr_mce_banks;
+unsigned int nr_mce_banks;
EXPORT_SYMBOL_GPL(nr_mce_banks); /* non-fatal.o */
@@ -33,9 +33,20 @@ void fastcall (*machine_check_vector)(struct pt_regs *, long error_code) = unexp
/* This has to be run for each processor */
void mcheck_init(struct cpuinfo_x86 *c)
{
+ uint32_t mca, mce;
+
if (mce_disabled==1)
return;
+ mca = cpu_has(c, X86_FEATURE_MCA);
+ mce = cpu_has(c, X86_FEATURE_MCE);
+
+ if (!mca || !mce) {
+ printk(KERN_INFO "CPU%i: No machine check support available\n",
+ smp_processor_id());
+ return;
+ }
+
switch (c->x86_vendor) {
case X86_VENDOR_AMD:
amd_mcheck_init(c);
diff --git a/arch/i386/kernel/cpu/mcheck/mce.h b/arch/i386/kernel/cpu/mcheck/mce.h
index 81fb6e2..9cbe812 100644
--- a/arch/i386/kernel/cpu/mcheck/mce.h
+++ b/arch/i386/kernel/cpu/mcheck/mce.h
@@ -10,5 +10,5 @@ void winchip_mcheck_init(struct cpuinfo_x86 *c);
/* Call the installed machine check handler for this CPU setup. */
extern fastcall void (*machine_check_vector)(struct pt_regs *, long error_code);
-extern int nr_mce_banks;
+extern unsigned int nr_mce_banks;
--
1.5.2.5
next prev parent reply other threads:[~2007-10-09 12:50 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-09 12:49 [PATCH 0/2] i386: MCE updates Joerg Roedel
2007-10-09 12:49 ` Joerg Roedel [this message]
2007-10-09 16:04 ` [PATCH 1/2] i386: mce cleanup part1: functional change Oleg Verych
2007-10-09 16:06 ` Joerg Roedel
2007-10-09 16:32 ` Oleg Verych
2007-10-09 16:54 ` Joerg Roedel
2007-10-09 20:46 ` Valdis.Kletnieks
2007-10-10 1:58 ` Oleg Verych
2007-10-09 17:33 ` coding for optimizations (Re: [PATCH 1/2] i386: mce cleanup part1: functional change) Oleg Verych
2007-10-09 18:30 ` Joerg Roedel
2007-10-10 23:14 ` Adrian Bunk
2007-10-11 15:26 ` Oleg Verych
2007-10-11 15:21 ` Adrian Bunk
2007-10-11 16:13 ` Oleg Verych
2007-10-09 12:49 ` [PATCH 2/2] i386: mce cleanup part2: conding style cleanups Joerg Roedel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11919341961530-git-send-email-joerg.roedel@amd.com \
--to=joerg.roedel@amd.com \
--cc=Christoph.Egger@amd.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.