All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@elte.hu>,
	"Luis R. Rodriguez" <mcgrof@gmail.com>,
	linux kernel <linux-kernel@vger.kernel.org>,
	"H. Peter Anvin" <hpa@kernel.org>,
	Ivan Seskar <Seskar@winlab.rutgers.edu>,
	jfm3 <jfm3@winlab.rutgers.edu>, Sujith <m.sujith@gmail.com>
Subject: Re: Bug on 2.6.26 - x86 VIA Nehemiah CentaurHauls processor cannot boot
Date: Sat, 26 Jul 2008 20:31:09 +0200	[thread overview]
Message-ID: <87prp07b0y.fsf@basil.nowhere.org> (raw)
In-Reply-To: <4885DF9D.2090804@zytor.com> (H. Peter Anvin's message of "Tue, 22 Jul 2008 09:24:45 -0400")

"H. Peter Anvin" <hpa@zytor.com> writes:

> Ingo Molnar wrote:
>>>
>>> Not a bug.
>> it would still be nice to get a nice printk and panic during bootup
>> instead of some obscure crash, hm?
>>
>
> Yes.  The fundamental problem is that Centaur has a set of CPUs which
> report family == 6 but don't have the long NOP instructions.  We would
> need an exact CPUID criterion for these CPUs in order to be able to
> report it as an error.  An alternative would be to attempt trapping in
> the real-mode code (#UD is one of the *very* few CPU exceptions which
> can be reliably captured in real mode on a BIOS system), but doing so
> would probably mean breaking Loadlin at the very least.
>
> We can't "printk and panic" because we never get that far in the
> kernel proper, for obvious reasons: the code is quite littered with
> these buggers.

This was originally supposed to be handled in the early real mode
head.S code. That is why I put the CPUID checking code in there
to error out early when you can still print to the console
using the BIOS functions.

I suspect this regressed when that code was moved to C, because
now the C compiler generates CMOV early.

How about always building the real mode C code with -march=i386?
It is not performance critical so that is ok.

-Andi

  parent reply	other threads:[~2008-07-26 18:32 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-21 13:14 Bug on 2.6.26 - x86 VIA Nehemiah CentaurHauls processor cannot boot Luis R. Rodriguez
2008-07-21 13:23 ` H. Peter Anvin
2008-07-21 14:01   ` Luis R. Rodriguez
2008-07-21 23:24     ` H. Peter Anvin
2008-07-22  4:47       ` Luis R. Rodriguez
2008-07-22 13:10         ` H. Peter Anvin
2008-07-22 17:10         ` Jeff Garzik
2008-07-22 18:21           ` H. Peter Anvin
2008-07-22 18:33             ` Jeff Garzik
2008-07-22 18:41               ` H. Peter Anvin
2008-07-22 23:28                 ` Jeff Garzik
2008-07-23  0:31                   ` H. Peter Anvin
2008-07-22 13:14       ` Ingo Molnar
2008-07-22 13:24         ` H. Peter Anvin
2008-07-22 13:46           ` Ingo Molnar
2008-07-22 13:54             ` H. Peter Anvin
2008-07-26 18:31           ` Andi Kleen [this message]
2008-07-26 18:35             ` H. Peter Anvin
2008-07-26 18:44               ` 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=87prp07b0y.fsf@basil.nowhere.org \
    --to=andi@firstfloor.org \
    --cc=Seskar@winlab.rutgers.edu \
    --cc=hpa@kernel.org \
    --cc=hpa@zytor.com \
    --cc=jfm3@winlab.rutgers.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.sujith@gmail.com \
    --cc=mcgrof@gmail.com \
    --cc=mingo@elte.hu \
    /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.