ChangeLog | |
Prehistory Martin Tischhäuser <martin@ikcbarka.fzk.de> | |
Initial register-setting code (from proform-1.0). | |
19971216 Richard Gooch <rgooch@atnf.csiro.au> | |
Original version for /proc/mtrr interface, SMP-safe. | |
v1.0 | |
19971217 Richard Gooch <rgooch@atnf.csiro.au> | |
Bug fix for ioctls()'s. | |
Added sample code in Documentation/mtrr.txt | |
v1.1 | |
19971218 Richard Gooch <rgooch@atnf.csiro.au> | |
Disallow overlapping regions. | |
19971219 Jens Maurer <jmaurer@menuett.rhein-main.de> | |
Register-setting fixups. | |
v1.2 | |
19971222 Richard Gooch <rgooch@atnf.csiro.au> | |
Fixups for kernel 2.1.75. | |
v1.3 | |
19971229 David Wragg <dpw@doc.ic.ac.uk> | |
Register-setting fixups and conformity with Intel conventions. | |
19971229 Richard Gooch <rgooch@atnf.csiro.au> | |
Cosmetic changes and wrote this ChangeLog ;-) | |
19980106 Richard Gooch <rgooch@atnf.csiro.au> | |
Fixups for kernel 2.1.78. | |
v1.4 | |
19980119 David Wragg <dpw@doc.ic.ac.uk> | |
Included passive-release enable code (elsewhere in PCI setup). | |
v1.5 | |
19980131 Richard Gooch <rgooch@atnf.csiro.au> | |
Replaced global kernel lock with private spinlock. | |
v1.6 | |
19980201 Richard Gooch <rgooch@atnf.csiro.au> | |
Added wait for other CPUs to complete changes. | |
v1.7 | |
19980202 Richard Gooch <rgooch@atnf.csiro.au> | |
Bug fix in definition of <set_mtrr> for UP. | |
v1.8 | |
19980319 Richard Gooch <rgooch@atnf.csiro.au> | |
Fixups for kernel 2.1.90. | |
19980323 Richard Gooch <rgooch@atnf.csiro.au> | |
Move SMP BIOS fixup before secondary CPUs call <calibrate_delay> | |
v1.9 | |
19980325 Richard Gooch <rgooch@atnf.csiro.au> | |
Fixed test for overlapping regions: confused by adjacent regions | |
19980326 Richard Gooch <rgooch@atnf.csiro.au> | |
Added wbinvd in <set_mtrr_prepare>. | |
19980401 Richard Gooch <rgooch@atnf.csiro.au> | |
Bug fix for non-SMP compilation. | |
19980418 David Wragg <dpw@doc.ic.ac.uk> | |
Fixed-MTRR synchronisation for SMP and use atomic operations | |
instead of spinlocks. | |
19980418 Richard Gooch <rgooch@atnf.csiro.au> | |
Differentiate different MTRR register classes for BIOS fixup. | |
v1.10 | |
19980419 David Wragg <dpw@doc.ic.ac.uk> | |
Bug fix in variable MTRR synchronisation. | |
v1.11 | |
19980419 Richard Gooch <rgooch@atnf.csiro.au> | |
Fixups for kernel 2.1.97. | |
v1.12 | |
19980421 Richard Gooch <rgooch@atnf.csiro.au> | |
Safer synchronisation across CPUs when changing MTRRs. | |
v1.13 | |
19980423 Richard Gooch <rgooch@atnf.csiro.au> | |
Bugfix for SMP systems without MTRR support. | |
v1.14 | |
19980427 Richard Gooch <rgooch@atnf.csiro.au> | |
Trap calls to <mtrr_add> and <mtrr_del> on non-MTRR machines. | |
v1.15 | |
19980427 Richard Gooch <rgooch@atnf.csiro.au> | |
Use atomic bitops for setting SMP change mask. | |
v1.16 | |
19980428 Richard Gooch <rgooch@atnf.csiro.au> | |
Removed spurious diagnostic message. | |
v1.17 | |
19980429 Richard Gooch <rgooch@atnf.csiro.au> | |
Moved register-setting macros into this file. | |
Moved setup code from init/main.c to i386-specific areas. | |
v1.18 | |
19980502 Richard Gooch <rgooch@atnf.csiro.au> | |
Moved MTRR detection outside conditionals in <mtrr_init>. | |
v1.19 | |
19980502 Richard Gooch <rgooch@atnf.csiro.au> | |
Documentation improvement: mention Pentium II and AGP. | |
v1.20 | |
19980521 Richard Gooch <rgooch@atnf.csiro.au> | |
Only manipulate interrupt enable flag on local CPU. | |
Allow enclosed uncachable regions. | |
v1.21 | |
19980611 Richard Gooch <rgooch@atnf.csiro.au> | |
Always define <main_lock>. | |
v1.22 | |
19980901 Richard Gooch <rgooch@atnf.csiro.au> | |
Removed module support in order to tidy up code. | |
Added sanity check for <mtrr_add>/<mtrr_del> before <mtrr_init>. | |
Created addition queue for prior to SMP commence. | |
v1.23 | |
19980902 Richard Gooch <rgooch@atnf.csiro.au> | |
Ported patch to kernel 2.1.120-pre3. | |
v1.24 | |
19980910 Richard Gooch <rgooch@atnf.csiro.au> | |
Removed sanity checks and addition queue: Linus prefers an OOPS. | |
v1.25 | |
19981001 Richard Gooch <rgooch@atnf.csiro.au> | |
Fixed harmless compiler warning in include/asm-i386/mtrr.h | |
Fixed version numbering and history for v1.23 -> v1.24. | |
v1.26 | |
19990118 Richard Gooch <rgooch@atnf.csiro.au> | |
Added devfs support. | |
v1.27 | |
19990123 Richard Gooch <rgooch@atnf.csiro.au> | |
Changed locking to spin with reschedule. | |
Made use of new <smp_call_function>. | |
v1.28 | |
19990201 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Extended the driver to be able to use Cyrix style ARRs. | |
19990204 Richard Gooch <rgooch@atnf.csiro.au> | |
Restructured Cyrix support. | |
v1.29 | |
19990204 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Refined ARR support: enable MAPEN in set_mtrr_prepare() | |
and disable MAPEN in set_mtrr_done(). | |
19990205 Richard Gooch <rgooch@atnf.csiro.au> | |
Minor cleanups. | |
v1.30 | |
19990208 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Protect plain 6x86s (and other processors without the | |
Page Global Enable feature) against accessing CR4 in | |
set_mtrr_prepare() and set_mtrr_done(). | |
19990210 Richard Gooch <rgooch@atnf.csiro.au> | |
Turned <set_mtrr_up> and <get_mtrr> into function pointers. | |
v1.31 | |
19990212 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Major rewrite of cyrix_arr_init(): do not touch ARRs, | |
leave them as the BIOS have set them up. | |
Enable usage of all 8 ARRs. | |
Avoid multiplications by 3 everywhere and other | |
code clean ups/speed ups. | |
19990213 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Set up other Cyrix processors identical to the boot cpu. | |
Since Cyrix don't support Intel APIC, this is l'art pour l'art. | |
Weigh ARRs by size: | |
If size <= 32M is given, set up ARR# we were given. | |
If size > 32M is given, set up ARR7 only if it is free, | |
fail otherwise. | |
19990214 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Also check for size >= 256K if we are to set up ARR7, | |
mtrr_add() returns the value it gets from set_mtrr() | |
19990218 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Remove Cyrix "coma bug" workaround from here. | |
Moved to linux/arch/i386/kernel/setup.c and | |
linux/include/asm-i386/bugs.h | |
19990228 Richard Gooch <rgooch@atnf.csiro.au> | |
Added MTRRIOC_KILL_ENTRY ioctl(2) | |
Trap for counter underflow in <mtrr_file_del>. | |
Trap for 4 MiB aligned regions for PPro, stepping <= 7. | |
19990301 Richard Gooch <rgooch@atnf.csiro.au> | |
Created <get_free_region> hook. | |
19990305 Richard Gooch <rgooch@atnf.csiro.au> | |
Temporarily disable AMD support now MTRR capability flag is set. | |
v1.32 | |
19990308 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Adjust my changes (19990212-19990218) to Richard Gooch's | |
latest changes. (19990228-19990305) | |
v1.33 | |
19990309 Richard Gooch <rgooch@atnf.csiro.au> | |
Fixed typo in <printk> message. | |
19990310 Richard Gooch <rgooch@atnf.csiro.au> | |
Support K6-II/III based on Alan Cox's <alan@redhat.com> patches. | |
v1.34 | |
19990511 Bart Hartgers <bart@etpmod.phys.tue.nl> | |
Support Centaur C6 MCR's. | |
19990512 Richard Gooch <rgooch@atnf.csiro.au> | |
Minor cleanups. | |
v1.35 | |
19990707 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Check whether ARR3 is protected in cyrix_get_free_region() | |
and mtrr_del(). The code won't attempt to delete or change it | |
from now on if the BIOS protected ARR3. It silently skips ARR3 | |
in cyrix_get_free_region() or returns with an error code from | |
mtrr_del(). | |
19990711 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Reset some bits in the CCRs in cyrix_arr_init() to disable SMM | |
if ARR3 isn't protected. This is needed because if SMM is active | |
and ARR3 isn't protected then deleting and setting ARR3 again | |
may lock up the processor. With SMM entirely disabled, it does | |
not happen. | |
19990812 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Rearrange switch() statements so the driver accomodates to | |
the fact that the AMD Athlon handles its MTRRs the same way | |
as Intel does. | |
19990814 Zoltán Böszörményi <zboszor@mail.externet.hu> | |
Double check for Intel in mtrr_add()'s big switch() because | |
that revision check is only valid for Intel CPUs. | |
19990819 Alan Cox <alan@redhat.com> | |
Tested Zoltan's changes on a pre production Athlon - 100% | |
success. | |
19991008 Manfred Spraul <manfreds@colorfullife.com> | |
replaced spin_lock_reschedule() with a normal semaphore. | |
v1.36 | |
20000221 Richard Gooch <rgooch@atnf.csiro.au> | |
Compile fix if procfs and devfs not enabled. | |
Formatting changes. | |
v1.37 | |
20001109 H. Peter Anvin <hpa@zytor.com> | |
Use the new centralized CPU feature detects. | |
v1.38 | |
20010309 Dave Jones <davej@suse.de> | |
Add support for Cyrix III. | |
v1.39 | |
20010312 Dave Jones <davej@suse.de> | |
Ugh, I broke AMD support. | |
Reworked fix by Troels Walsted Hansen <troels@thule.no> | |
v1.40 | |
20010327 Dave Jones <davej@suse.de> | |
Adapted Cyrix III support to include VIA C3. | |
v2.0 | |
20020306 Patrick Mochel <mochel@osdl.org> | |
Split mtrr.c -> mtrr/*.c | |
Converted to Linux Kernel Coding Style | |
Fixed several minor nits in form | |
Moved some SMP-only functions out, so they can be used | |
for power management in the future. | |
TODO: Fix user interface cruft. |