rpms/kernel/F-10 linux-2.6-x86-more-general-id-for-phoenix-bios.patch, NONE, 1.1 linux-2.6-xen-dont-reserve-2-pages-of-padding.patch, NONE, 1.1 kernel.spec, 1.1165, 1.1166

Chuck Ebbert cebbert at fedoraproject.org
Thu Nov 27 06:37:33 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20686

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-x86-more-general-id-for-phoenix-bios.patch 
	linux-2.6-xen-dont-reserve-2-pages-of-padding.patch 
Log Message:
Additional fixes for 64K lowmem reservation:
  - More general matching for Phoenix BIOS
  - Fix Xen when low 64K is reserved

linux-2.6-x86-more-general-id-for-phoenix-bios.patch:

--- NEW FILE linux-2.6-x86-more-general-id-for-phoenix-bios.patch ---
From: Philipp Kohlbecher <xt28 at gmx.de>
Date: Sun, 16 Nov 2008 11:11:01 +0000 (+0100)
Subject: x86: more general identifier for Phoenix BIOS
X-Git-Tag: v2.6.28-rc6~10^2~3
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=0af40a4b1050c050e62eb1dc30b82d5ab22bf221

x86: more general identifier for Phoenix BIOS

Impact: widen the reach of the low-memory-protect DMI quirk

Phoenix BIOSes variously identify their vendor as "Phoenix Technologies,
LTD" or "Phoenix Technologies LTD" (without the comma.)

This patch makes the identification string in the bad_bios_dmi_table
more general (following a suggestion by Ingo Molnar), so that both
versions are handled.

Again, the patched file compiles cleanly and the patch has been tested
successfully on my machine.

Signed-off-by: Philipp Kohlbecher <xt28 at gmx.de>
Cc: <stable at kernel.org>
Signed-off-by: Ingo Molnar <mingo at elte.hu>
---

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 0fa6790..9d5674f 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -764,7 +764,7 @@ static struct dmi_system_id __initdata bad_bios_dmi_table[] = {
 		.callback = dmi_low_memory_corruption,
 		.ident = "Phoenix BIOS",
 		.matches = {
-			DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies, LTD"),
+			DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies"),
 		},
 	},
 #endif

linux-2.6-xen-dont-reserve-2-pages-of-padding.patch:

--- NEW FILE linux-2.6-xen-dont-reserve-2-pages-of-padding.patch ---
From: Ian Campbell <Ian.Campbell at citrix.com>
Date: Fri, 10 Oct 2008 10:27:38 +0000 (+0100)
Subject: xen: do not reserve 2 pages of padding between hypervisor and fixmap.
X-Git-Tag: v2.6.28-rc1~699^2^2~2
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=5dc64a3442b98eaa0e3730c35fcf00cf962a93e7

xen: do not reserve 2 pages of padding between hypervisor and fixmap.

When reserving space for the hypervisor the Xen paravirt backend adds
an extra two pages (this was carried forward from the 2.6.18-xen tree
which had them "for safety"). Depending on various CONFIG options this
can cause the boot time fixmaps to span multiple PMDs which is not
supported and triggers a WARN in early_ioremap_init().

This was exposed by 2216d199b1430d1c0affb1498a9ebdbd9c0de439 which
moved the dmi table parsing earlier.
    x86: fix CONFIG_X86_RESERVE_LOW_64K=y

    The bad_bios_dmi_table() quirk never triggered because we do DMI setup
    too late. Move it a bit earlier.

There is no real reason to reserve these two extra pages and the
fixmap already incorporates FIX_HOLE which serves the same
purpose. None of the other callers of reserve_top_address do this.

Signed-off-by: Ian Campbell <ian.campbell at citrix.com>
Signed-off-by: Ingo Molnar <mingo at elte.hu>
---

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 85692c9..977a542 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1370,7 +1370,7 @@ static void __init xen_reserve_top(void)
 	if (HYPERVISOR_xen_version(XENVER_platform_parameters, &pp) == 0)
 		top = pp.virt_start;
 
-	reserve_top_address(-top + 2 * PAGE_SIZE);
+	reserve_top_address(-top);
 #endif	/* CONFIG_X86_32 */
 }
 


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1165
retrieving revision 1.1166
diff -u -r1.1165 -r1.1166
--- kernel.spec	27 Nov 2008 04:46:37 -0000	1.1165
+++ kernel.spec	27 Nov 2008 06:37:02 -0000	1.1166
@@ -588,6 +588,8 @@
 
 Patch30: linux-2.6-x86-mtrr-kill-bogus-warning.patch
 Patch31: linux-2.6-x86-sb600-skip-acpi-irq0-override-if-not-routed-to-int2.patch
+Patch32: linux-2.6-x86-more-general-id-for-phoenix-bios.patch
+Patch33: linux-2.6-xen-dont-reserve-2-pages-of-padding.patch
 
 Patch41: linux-2.6-sysrq-c.patch
 
@@ -1108,6 +1110,9 @@
 ApplyPatch linux-2.6-x86-mtrr-kill-bogus-warning.patch
 # check for more ATI timer bugs
 ApplyPatch linux-2.6-x86-sb600-skip-acpi-irq0-override-if-not-routed-to-int2.patch
+# additional fixes for lowmem 64k reservation (scheduled for -stable)
+ApplyPatch linux-2.6-x86-more-general-id-for-phoenix-bios.patch
+ApplyPatch linux-2.6-xen-dont-reserve-2-pages-of-padding.patch
 
 # enable sysrq-c on all kernels, not only kexec
 ApplyPatch linux-2.6-sysrq-c.patch
@@ -1927,6 +1932,11 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Thu Nov 27 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.7-130
+- Additional fixes for 64K lowmem reservation:
+  - More general matching for Phoenix BIOS
+  - Fix Xen when low 64K is reserved
+
 * Thu Nov 27 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.7-129
 - Update applesmc driver to 2.6.28-rc6-git1
   Adds: iMac 5/6/8, Macbook 4/5, Macbook Pro 5, generic MacPro




More information about the fedora-extras-commits mailing list