All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Cc: linux-kernel@vger.kernel.org, mingo@redhat.com, hpa@zytor.com,
	ak@linux.intel.com, tglx@linutronix.de,
	Yinghai Lu <yinghai@kernel.org>,
	Huang Ying <ying.huang@intel.com>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	linux-tip-commits@vger.kernel.org
Subject: Re: [boot crash] Re: [tip:x86/mce3] x86, mce: use 64bit machine check code on 32bit
Date: Mon, 17 Aug 2009 11:18:00 +0200	[thread overview]
Message-ID: <20090817091800.GA21269@elte.hu> (raw)
In-Reply-To: <4A891E17.1090901@jp.fujitsu.com>


* Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> wrote:

> Ingo Molnar wrote:
> > * Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> wrote:
> >> Could you try boot your laptop with mce=nobootlog?
> > 
> > Hm, why should that make any difference? mce=nobootlog only 
> > influences whether we pass records into the mcelog buffer but 
> > does not affect whether we touch the hardware.
> 
> Old mce codes doesn't take bootlog.

I understand what you mean, and i know that we have a number of BIOS 
workarounds in the code - but i think some of those workarounds are 
wrong and they dont actually solve anything.

The thing is, mce=nobootlog does _not_ keep us from touching MCE 
related hardware registers during bootup.

It only inhibits us from doing an mce_log() call:

                if (!(flags & MCP_DONTLOG) && !mce_dont_log_ce) {
                        mce_log(&m);
                        add_taint(TAINT_MACHINE_CHECK);
                }

but an mce_log() call itself only passes on the data we already read 
from hardware registers, into the MCE ring-buffer (which is a pure 
software construct).

> One possibility is: if the BIOS doesn't clear status in banks,
> new mce codes will try to log such junks.
>
> If the junk is totally junk but can be decoded as a valid log with 
> MISCV or ADDRV bit, and if the cpu try to access register which is 
> not implemented (e.g. IA32_MCi_MISC/ADDR), then such access might 
> cause a general protection exception. (ref. ASDM 3A 15.3.2.3)
> 
> I'm just guessing...

My point is that mce=nobootlog will only affect whether we call 
mce_log(). It does not keep us from touching all the MSRs that 
relate to MCEs.

mce=off does that, and the box boots up fine with that specified 
(and as expected).

	Ingo

  reply	other threads:[~2009-08-17  9:18 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <tip-4efc0670baf4b14bc95502e54a83ccf639146125@git.kernel.org>
2009-08-12 11:36 ` [boot crash] Re: [tip:x86/mce3] x86, mce: use 64bit machine check code on 32bit Ingo Molnar
2009-08-17  5:00   ` Hidetoshi Seto
2009-08-17  8:35     ` Ingo Molnar
2009-08-17  9:08       ` Hidetoshi Seto
2009-08-17  9:18         ` Ingo Molnar [this message]
2009-08-17  9:20         ` Ingo Molnar
2009-08-17 11:08           ` Andi Kleen
2009-08-17 11:24             ` Ingo Molnar
2009-09-22 15:41             ` Ingo Molnar
2009-09-23 15:22               ` Andi Kleen
2009-09-23 16:18                 ` Ingo Molnar
2009-08-17 10:56         ` Andi Kleen
2009-08-17 11:00           ` Ingo Molnar
2009-08-17 11:29         ` [PATCH] x86, mce: Don't initialize MCEs on unknown CPUs Ingo Molnar
2009-08-17 11:35           ` Andi Kleen
2009-08-17 11:53             ` Ingo Molnar
2009-08-17 13:28               ` Andi Kleen
2009-08-17 11:25   ` [boot crash] Re: [tip:x86/mce3] x86, mce: use 64bit machine check code on 32bit Andi Kleen

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=20090817091800.GA21269@elte.hu \
    --to=mingo@elte.hu \
    --cc=ak@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rjw@sisk.pl \
    --cc=seto.hidetoshi@jp.fujitsu.com \
    --cc=tglx@linutronix.de \
    --cc=ying.huang@intel.com \
    --cc=yinghai@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.