public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Ian Campbell <ijc@hellion.org.uk>
Cc: Joel Becker <Joel.Becker@oracle.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Jody Belka <lists-lkml@pimb.org>,
	linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
	Thomas Gleixner <tglx@linutronix.de>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Andi Kleen <andi@firstfloor.org>,
	Mika Penttila <mika.penttila@kolumbus.fi>
Subject: Re: 2.6.25-rc1 xen pvops regression
Date: Tue, 19 Feb 2008 23:43:28 -0800	[thread overview]
Message-ID: <47BBDA20.8030105@zytor.com> (raw)
In-Reply-To: <1203458366.26910.15.camel@cthulhu.hellion.org.uk>

Ian Campbell wrote:
> On Mon, 2008-02-18 at 02:40 -0800, Joel Becker wrote:
>> On Sun, Feb 17, 2008 at 06:49:21PM +0000, Ian Campbell wrote:
> 
>>> x86/xen: Do not scan for DMI unless the DMI region is reserved by e820.
> 
>> 	This fixed it.  I'm now booting successfully.  Thank you!
> 
> Excellent. Jeremy, are you happy for this to go in?
> 

NAK!

It's pretty standard for 0xf0000...0x100000 to be marked RESERVED in 
E820 on real hardware (including the system I'm typing on right now.) 
It is so marked to indicate that hardware cannot be mapped into that 
space.  However, you can't rely on this fact -- heck, you can't rely on 
E820 even existing on a real machine.  I have specimens of real-life 
machines that go both ways.

This patch WILL break real hardware.

What's particularly damning is that it's titled "x86/xen: Do not scan 
for DMI unless the DMI region is reserved by e820." whereas in fact it 
changes (breaks) generic code.

	-hpa

>>From 23e4ec12b95064320f83fca1cc1ad5c7b2eb3386 Mon Sep 17 00:00:00 2001
> From: Ian Campbell <ijc@hellion.org.uk>
> Date: Tue, 19 Feb 2008 21:57:45 +0000
> Subject: [PATCH] x86/xen: Do not scan for DMI unless the DMI region is reserved by e820.
> 
> Under Xen the memory at 0xf0000 is regular RAM and so can potentially contain a
> page table and hence cannot be mapped. The e820 map given to guest reflects
> this.
> 
> Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
> ---
>  drivers/firmware/dmi_scan.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
> index 653265a..7d29403 100644
> --- a/drivers/firmware/dmi_scan.c
> +++ b/drivers/firmware/dmi_scan.c
> @@ -7,6 +7,7 @@
>  #include <linux/bootmem.h>
>  #include <linux/slab.h>
>  #include <asm/dmi.h>
> +#include <asm/e820.h>
>  
>  static char dmi_empty_string[] = "        ";
>  
> @@ -371,6 +372,9 @@ void __init dmi_scan_machine(void)
>  		}
>  	}
>  	else {
> +		if (!e820_all_mapped(0xF0000, 0xF0000+0x10000, E820_RESERVED))
> +			goto out;
> +
>  		/*
>  		 * no iounmap() for that ioremap(); it would be a no-op, but
>  		 * it's so early in setup that sucker gets confused into doing

  reply	other threads:[~2008-02-20  7:48 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-12 23:54 2.6.25-rc1 xen pvops regression Jody Belka
2008-02-13 11:59 ` Jeremy Fitzhardinge
2008-02-13 12:13   ` Jody Belka
2008-02-13 12:23   ` Ingo Molnar
2008-02-14  2:27   ` Joel Becker
2008-02-14  7:50     ` Jeremy Fitzhardinge
2008-02-15 20:23       ` Joel Becker
2008-02-16  2:44         ` Jeremy Fitzhardinge
2008-02-16  8:54           ` Joel Becker
2008-02-16 11:46             ` Jeremy Fitzhardinge
2008-02-17  6:29               ` Joel Becker
2008-02-17 12:09                 ` Jeremy Fitzhardinge
2008-02-17  6:39               ` Joel Becker
2008-02-17 18:49         ` Ian Campbell
2008-02-18 10:40           ` Joel Becker
2008-02-19 21:50             ` Ian Campbell
2008-02-19 21:59             ` Ian Campbell
2008-02-20  7:43               ` H. Peter Anvin [this message]
2008-02-20  8:51                 ` Ian Campbell
2008-02-20 21:42                   ` Joel Becker
2008-02-20 22:30                     ` Ian Campbell
2008-02-20 21:58                   ` Jeremy Fitzhardinge
2008-02-20 22:29                     ` Ian Campbell
2008-02-21 21:16                       ` Jeremy Fitzhardinge
2008-02-21 21:21                         ` H. Peter Anvin
2008-02-21 21:37                           ` Jeremy Fitzhardinge
2008-02-21 21:44                             ` H. Peter Anvin
2008-02-21 22:12                             ` Ian Campbell
2008-02-21 22:23                               ` H. Peter Anvin
2008-02-21 22:49                                 ` Jeremy Fitzhardinge
2008-02-21 22:58                                   ` H. Peter Anvin
2008-02-22  7:25                                     ` Ian Campbell
2008-02-22  9:28                                       ` Alan Cox
2008-02-22  9:55                                         ` Andi Kleen
2008-02-22 10:00                                           ` Alan Cox
2008-02-22 10:15                                             ` Andi Kleen
2008-02-22 16:27                                               ` H. Peter Anvin
2008-02-22 19:25                                               ` Pavel Machek
2008-02-26 17:06                                       ` Mark McLoughlin
2008-02-26 20:05                                         ` Jeremy Fitzhardinge
2008-02-21 22:58                               ` Joel Becker
2008-02-21 22:04                           ` Eric W. Biederman
2008-02-21 23:14                             ` Jeremy Fitzhardinge
2008-02-21 23:26                               ` H. Peter Anvin
2008-02-21 23:46                                 ` Jeremy Fitzhardinge
2008-02-21 23:57                                   ` H. Peter Anvin

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=47BBDA20.8030105@zytor.com \
    --to=hpa@zytor.com \
    --cc=Joel.Becker@oracle.com \
    --cc=andi@firstfloor.org \
    --cc=ebiederm@xmission.com \
    --cc=ijc@hellion.org.uk \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lists-lkml@pimb.org \
    --cc=mika.penttila@kolumbus.fi \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox