Cyrix/mtrr fix missing from 2.4.3

Bob_Tracy (rct@gherkin.sa.wlk.com)
Tue, 3 Apr 2001 10:20:12 -0500 (CDT)


The following fix was omitted from 2.4.3. It corrects a problem
where the mtrr code attempts to set up a region twice as large as
the user requested.

The original message appeared in linux-kernel on 14 Mar 2001.

--Bob Tracy

----- Forwarded message from David Wragg -----
>From: David Wragg <dpw@doc.ic.ac.uk>
>Date: 14 Mar 2001 22:57:21 +0000

Oops, it got broken by the MTRR >32-bit support in 2.4.0-testX. The
patch below should fix it.

Joerg, I think this might well fix your Cyrix mtrr problem also.

Let me know how it goes,
Dave Wragg

diff -uar linux-2.4.2/arch/i386/kernel/mtrr.c linux-2.4.2.cyrix/arch/i386/kernel/mtrr.c
--- linux-2.4.2/arch/i386/kernel/mtrr.c Thu Feb 22 15:24:53 2001
+++ linux-2.4.2.cyrix/arch/i386/kernel/mtrr.c Wed Mar 14 22:28:02 2001
@@ -538,7 +538,7 @@
* Note: shift==0xf means 4G, this is unsupported.
*/
if (shift)
- *size = (reg < 7 ? 0x1UL : 0x40UL) << shift;
+ *size = (reg < 7 ? 0x1UL : 0x40UL) << (shift - 1);
else
*size = 0;

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