From: Chris Wright Date: Wed, 9 Nov 2005 02:27:05 +0000 (-0800) Subject: Revert "Add fix for early stepping EM64T which advertise 40bit yet have only 36bit" X-Git-Tag: v2.6.14.2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d4a8ddb7448b3396eee195965ecf953cd9f04fde;p=thirdparty%2Fkernel%2Fstable-queue.git Revert "Add fix for early stepping EM64T which advertise 40bit yet have only 36bit" This reverts 2b96a7498e4ec40becf0856ccbf39ce446220c3f commit. Not upstream yet, Andi asked to wait. --- diff --git a/queue/4GB-memory-intel-dual-core.patch b/queue/4GB-memory-intel-dual-core.patch deleted file mode 100644 index 109665387c4..00000000000 --- a/queue/4GB-memory-intel-dual-core.patch +++ /dev/null @@ -1,66 +0,0 @@ -From stable-bounces@linux.kernel.org Sat Oct 29 23:50:10 2005 -Date: Sun, 30 Oct 2005 01:49:38 -0500 -From: Dave Jones -To: Marcel Holtmann -Cc: discuss@x86-64.org, linux-kernel@vger.kernel.org, - Lukas Hejtmanek , torvalds@osdl.org, - Shaohua Li , stable@kernel.org, ak@suse.de -Subject: [PATCH] x86_64/i386: Compute correct MTRR mask on early Noconas - -From: Andi Kleen - -Force correct address space size for MTRR on some 64bit Intel Xeons - -They report 40bit, but only have 36bits of physical address space. -This caused problems with setting up the correct masks for MTRR, -resulting in incorrect MTRRs. - -CPUID workaround for steppings 0F33h(supporting x86) and 0F34h(supporting x86 -and EM64T). Detail info can be found at: -http://download.intel.com/design/Xeon/specupdt/30240216.pdf -http://download.intel.com/design/Pentium4/specupdt/30235221.pdf - -Signed-off-by: Shaohua Li -Signed-off-by: Andi Kleen -Signed-off-by: Chris Wright ---- - - arch/i386/kernel/cpu/mtrr/main.c | 8 ++++++++ - arch/x86_64/kernel/setup.c | 5 +++++ - 2 files changed, 13 insertions(+) - -Index: linux-2.6.14.y/arch/i386/kernel/cpu/mtrr/main.c -=================================================================== ---- linux-2.6.14.y.orig/arch/i386/kernel/cpu/mtrr/main.c -+++ linux-2.6.14.y/arch/i386/kernel/cpu/mtrr/main.c -@@ -626,6 +626,14 @@ void __init mtrr_bp_init(void) - if (cpuid_eax(0x80000000) >= 0x80000008) { - u32 phys_addr; - phys_addr = cpuid_eax(0x80000008) & 0xff; -+ /* CPUID workaround for Intel 0F33/0F34 CPU */ -+ if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL && -+ boot_cpu_data.x86 == 0xF && -+ boot_cpu_data.x86_model == 0x3 && -+ (boot_cpu_data.x86_mask == 0x3 || -+ boot_cpu_data.x86_mask == 0x4)) -+ phys_addr = 36; -+ - size_or_mask = ~((1 << (phys_addr - PAGE_SHIFT)) - 1); - size_and_mask = ~size_or_mask & 0xfff00000; - } else if (boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR && -Index: linux-2.6.14.y/arch/x86_64/kernel/setup.c -=================================================================== ---- linux-2.6.14.y.orig/arch/x86_64/kernel/setup.c -+++ linux-2.6.14.y/arch/x86_64/kernel/setup.c -@@ -993,6 +993,11 @@ static void __cpuinit init_intel(struct - unsigned eax = cpuid_eax(0x80000008); - c->x86_virt_bits = (eax >> 8) & 0xff; - c->x86_phys_bits = eax & 0xff; -+ /* CPUID workaround for Intel 0F34 CPU */ -+ if (c->x86_vendor == X86_VENDOR_INTEL && -+ c->x86 == 0xF && c->x86_model == 0x3 && -+ c->x86_mask == 0x4) -+ c->x86_phys_bits = 36; - } - - if (c->x86 == 15) diff --git a/queue/series b/queue/series index 7026756d767..5af260a5755 100644 --- a/queue/series +++ b/queue/series @@ -1,6 +1,5 @@ prism54_frame_size.patch xfs-modular-quota-build-fix.patch -4GB-memory-intel-dual-core.patch cfq-io-sched-fix.patch usb-interface-modalias-fix.patch tcp-bic-max-increment-too-large.patch