Re: 2.6.25-rc1 xen pvops regression

From: Ian Campbell
Date: Tue Feb 19 2008 - 17:00:02 EST



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?

>From 23e4ec12b95064320f83fca1cc1ad5c7b2eb3386 Mon Sep 17 00:00:00 2001
From: Ian Campbell <ijc@xxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxx>
---
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
--
1.5.4.2

--
Ian Campbell

After the game the king and the pawn go in the same box.
-- Italian proverb

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/