Messages in this thread Patches in this message |  | | Date | Fri, 22 Sep 2000 20:12:22 -0400 (EDT) | From | Vince Weaver <> | Subject | [PATCH] K6-2+ MTRR fix |
| |
Hello
This patch enables the MTRR support for K6-2+ processors. Thanks to Bennett Feitell for alerting me to this problem.
Also, it has the fix that enabled memory write-allocate in the cache, a patch I posted a month or so back but Linus still hasn't merged in [despite repeated e-mails].
Before the patch /proc/mtrr wouldn't even exist, and mtrr was not listed in /proc/cpuinfo.
Now, while running X, I get a normal:
hal:/usr/src/linux$ cat /proc/mtrr reg00: base=0xe2000000 (3616MB), size= 32MB: write-combining, count=2
The patch is against kernel 2.4.0-test8 but it applies against most recent kernels as setup.c hasn't changed much recently.
Vince
____________ \ /\ /\ / Vince Weaver \/__\/__\/ weave@eng.umd.edu http://www.glue.umd.edu/~weave
--- ./arch/i386/kernel/setup.c.old Fri Sep 22 20:03:37 2000 +++ ./arch/i386/kernel/setup.c Fri Sep 22 19:55:03 2000 @@ -875,7 +875,8 @@ * Set MTRR capability flag if appropriate */ if(boot_cpu_data.x86 == 5) { - if((boot_cpu_data.x86_model == 9) || + if((boot_cpu_data.x86_model == 13) || + (boot_cpu_data.x86_model == 9) || ((boot_cpu_data.x86_model == 8) && (boot_cpu_data.x86_mask >= 8))) c->x86_capability |= X86_FEATURE_MTRR; @@ -916,7 +917,7 @@ } break; } - if (c->x86_model == 8 || c->x86_model == 9) + if (c->x86_model == 8 || c->x86_model == 9 || c->x86_model == 13) { /* The more serious chips .. */ --- ./arch/i386/kernel/setup.c.old Fri Sep 22 20:03:37 2000 +++ ./arch/i386/kernel/setup.c Fri Sep 22 19:55:03 2000 @@ -875,7 +875,8 @@ * Set MTRR capability flag if appropriate */ if(boot_cpu_data.x86 == 5) { - if((boot_cpu_data.x86_model == 9) || + if((boot_cpu_data.x86_model == 13) || + (boot_cpu_data.x86_model == 9) || ((boot_cpu_data.x86_model == 8) && (boot_cpu_data.x86_mask >= 8))) c->x86_capability |= X86_FEATURE_MTRR; @@ -916,7 +917,7 @@ } break; } - if (c->x86_model == 8 || c->x86_model == 9) + if (c->x86_model == 8 || c->x86_model == 9 || c->x86_model == 13) { /* The more serious chips .. */ |  |