···11-/*22- * Enhanced CPU type detection by Mike Jagdis, Patrick St. Jean33- * and Martin Mares, November 1997.44- *55- * Force Cyrix 6x86(MX) and M II processors to report MTRR capability66- * and Cyrix "coma bug" recognition by77- * Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu> February 1999.88- * 99- * Force Centaur C6 processors to report MTRR capability.1010- * Bart Hartgers <bart@etpmod.phys.tue.nl>, May 1999.1111- *1212- * Intel Mobile Pentium II detection fix. Sean Gilley, June 1999.1313- *1414- * IDT Winchip tweaks, misc clean ups.1515- * Dave Jones <davej@suse.de>, August 19991616- *1717- * Better detection of Centaur/IDT WinChip models.1818- * Bart Hartgers <bart@etpmod.phys.tue.nl>, August 1999.1919- *2020- * Cleaned up cache-detection code2121- * Dave Jones <davej@suse.de>, October 19992222- *2323- * Added proper L2 cache detection for Coppermine2424- * Dragan Stancevic <visitor@valinux.com>, October 19992525- *2626- * Added the original array for capability flags but forgot to credit 2727- * myself :) (~1998) Fixed/cleaned up some cpu_model_info and other stuff2828- * Jauder Ho <jauderho@carumba.com>, January 20002929- *3030- * Detection for Celeron coppermine, identify_cpu() overhauled,3131- * and a few other clean ups.3232- * Dave Jones <davej@suse.de>, April 20003333- *3434- * Pentium III FXSR, SSE support3535- * General FPU state handling cleanups3636- * Gareth Hughes <gareth@valinux.com>, May 20003737- *3838- * Added proper Cascades CPU and L2 cache detection for Cascades3939- * and 8-way type cache happy bunch from Intel:^)4040- * Dragan Stancevic <visitor@valinux.com>, May 2000 4141- *4242- * Forward port AMD Duron errata T13 from 2.2.17pre4343- * Dave Jones <davej@suse.de>, August 20004444- *4545- * Forward port lots of fixes/improvements from 2.2.18pre4646- * Cyrix III, Pentium IV support.4747- * Dave Jones <davej@suse.de>, October 20004848- *4949- * Massive cleanup of CPU detection and bug handling;5050- * Transmeta CPU detection,5151- * H. Peter Anvin <hpa@zytor.com>, November 20005252- *5353- * VIA C3 Support.5454- * Dave Jones <davej@suse.de>, March 20015555- *5656- * AMD Athlon/Duron/Thunderbird bluesmoke support.5757- * Dave Jones <davej@suse.de>, April 2001.5858- *5959- * CacheSize bug workaround updates for AMD, Intel & VIA Cyrix.6060- * Dave Jones <davej@suse.de>, September, October 2001.6161- *6262- */6363-
-229
arch/i386/kernel/cpu/mtrr/changelog
···11- ChangeLog22-33- Prehistory Martin Tischh�user <martin@ikcbarka.fzk.de>44- Initial register-setting code (from proform-1.0).55- 19971216 Richard Gooch <rgooch@atnf.csiro.au>66- Original version for /proc/mtrr interface, SMP-safe.77- v1.088- 19971217 Richard Gooch <rgooch@atnf.csiro.au>99- Bug fix for ioctls()'s.1010- Added sample code in Documentation/mtrr.txt1111- v1.11212- 19971218 Richard Gooch <rgooch@atnf.csiro.au>1313- Disallow overlapping regions.1414- 19971219 Jens Maurer <jmaurer@menuett.rhein-main.de>1515- Register-setting fixups.1616- v1.21717- 19971222 Richard Gooch <rgooch@atnf.csiro.au>1818- Fixups for kernel 2.1.75.1919- v1.32020- 19971229 David Wragg <dpw@doc.ic.ac.uk>2121- Register-setting fixups and conformity with Intel conventions.2222- 19971229 Richard Gooch <rgooch@atnf.csiro.au>2323- Cosmetic changes and wrote this ChangeLog ;-)2424- 19980106 Richard Gooch <rgooch@atnf.csiro.au>2525- Fixups for kernel 2.1.78.2626- v1.42727- 19980119 David Wragg <dpw@doc.ic.ac.uk>2828- Included passive-release enable code (elsewhere in PCI setup).2929- v1.53030- 19980131 Richard Gooch <rgooch@atnf.csiro.au>3131- Replaced global kernel lock with private spinlock.3232- v1.63333- 19980201 Richard Gooch <rgooch@atnf.csiro.au>3434- Added wait for other CPUs to complete changes.3535- v1.73636- 19980202 Richard Gooch <rgooch@atnf.csiro.au>3737- Bug fix in definition of <set_mtrr> for UP.3838- v1.83939- 19980319 Richard Gooch <rgooch@atnf.csiro.au>4040- Fixups for kernel 2.1.90.4141- 19980323 Richard Gooch <rgooch@atnf.csiro.au>4242- Move SMP BIOS fixup before secondary CPUs call <calibrate_delay>4343- v1.94444- 19980325 Richard Gooch <rgooch@atnf.csiro.au>4545- Fixed test for overlapping regions: confused by adjacent regions4646- 19980326 Richard Gooch <rgooch@atnf.csiro.au>4747- Added wbinvd in <set_mtrr_prepare>.4848- 19980401 Richard Gooch <rgooch@atnf.csiro.au>4949- Bug fix for non-SMP compilation.5050- 19980418 David Wragg <dpw@doc.ic.ac.uk>5151- Fixed-MTRR synchronisation for SMP and use atomic operations5252- instead of spinlocks.5353- 19980418 Richard Gooch <rgooch@atnf.csiro.au>5454- Differentiate different MTRR register classes for BIOS fixup.5555- v1.105656- 19980419 David Wragg <dpw@doc.ic.ac.uk>5757- Bug fix in variable MTRR synchronisation.5858- v1.115959- 19980419 Richard Gooch <rgooch@atnf.csiro.au>6060- Fixups for kernel 2.1.97.6161- v1.126262- 19980421 Richard Gooch <rgooch@atnf.csiro.au>6363- Safer synchronisation across CPUs when changing MTRRs.6464- v1.136565- 19980423 Richard Gooch <rgooch@atnf.csiro.au>6666- Bugfix for SMP systems without MTRR support.6767- v1.146868- 19980427 Richard Gooch <rgooch@atnf.csiro.au>6969- Trap calls to <mtrr_add> and <mtrr_del> on non-MTRR machines.7070- v1.157171- 19980427 Richard Gooch <rgooch@atnf.csiro.au>7272- Use atomic bitops for setting SMP change mask.7373- v1.167474- 19980428 Richard Gooch <rgooch@atnf.csiro.au>7575- Removed spurious diagnostic message.7676- v1.177777- 19980429 Richard Gooch <rgooch@atnf.csiro.au>7878- Moved register-setting macros into this file.7979- Moved setup code from init/main.c to i386-specific areas.8080- v1.188181- 19980502 Richard Gooch <rgooch@atnf.csiro.au>8282- Moved MTRR detection outside conditionals in <mtrr_init>.8383- v1.198484- 19980502 Richard Gooch <rgooch@atnf.csiro.au>8585- Documentation improvement: mention Pentium II and AGP.8686- v1.208787- 19980521 Richard Gooch <rgooch@atnf.csiro.au>8888- Only manipulate interrupt enable flag on local CPU.8989- Allow enclosed uncachable regions.9090- v1.219191- 19980611 Richard Gooch <rgooch@atnf.csiro.au>9292- Always define <main_lock>.9393- v1.229494- 19980901 Richard Gooch <rgooch@atnf.csiro.au>9595- Removed module support in order to tidy up code.9696- Added sanity check for <mtrr_add>/<mtrr_del> before <mtrr_init>.9797- Created addition queue for prior to SMP commence.9898- v1.239999- 19980902 Richard Gooch <rgooch@atnf.csiro.au>100100- Ported patch to kernel 2.1.120-pre3.101101- v1.24102102- 19980910 Richard Gooch <rgooch@atnf.csiro.au>103103- Removed sanity checks and addition queue: Linus prefers an OOPS.104104- v1.25105105- 19981001 Richard Gooch <rgooch@atnf.csiro.au>106106- Fixed harmless compiler warning in include/asm-i386/mtrr.h107107- Fixed version numbering and history for v1.23 -> v1.24.108108- v1.26109109- 19990118 Richard Gooch <rgooch@atnf.csiro.au>110110- Added devfs support.111111- v1.27112112- 19990123 Richard Gooch <rgooch@atnf.csiro.au>113113- Changed locking to spin with reschedule.114114- Made use of new <smp_call_function>.115115- v1.28116116- 19990201 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>117117- Extended the driver to be able to use Cyrix style ARRs.118118- 19990204 Richard Gooch <rgooch@atnf.csiro.au>119119- Restructured Cyrix support.120120- v1.29121121- 19990204 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>122122- Refined ARR support: enable MAPEN in set_mtrr_prepare()123123- and disable MAPEN in set_mtrr_done().124124- 19990205 Richard Gooch <rgooch@atnf.csiro.au>125125- Minor cleanups.126126- v1.30127127- 19990208 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>128128- Protect plain 6x86s (and other processors without the129129- Page Global Enable feature) against accessing CR4 in130130- set_mtrr_prepare() and set_mtrr_done().131131- 19990210 Richard Gooch <rgooch@atnf.csiro.au>132132- Turned <set_mtrr_up> and <get_mtrr> into function pointers.133133- v1.31134134- 19990212 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>135135- Major rewrite of cyrix_arr_init(): do not touch ARRs,136136- leave them as the BIOS have set them up.137137- Enable usage of all 8 ARRs.138138- Avoid multiplications by 3 everywhere and other139139- code clean ups/speed ups.140140- 19990213 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>141141- Set up other Cyrix processors identical to the boot cpu.142142- Since Cyrix don't support Intel APIC, this is l'art pour l'art.143143- Weigh ARRs by size:144144- If size <= 32M is given, set up ARR# we were given.145145- If size > 32M is given, set up ARR7 only if it is free,146146- fail otherwise.147147- 19990214 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>148148- Also check for size >= 256K if we are to set up ARR7,149149- mtrr_add() returns the value it gets from set_mtrr()150150- 19990218 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>151151- Remove Cyrix "coma bug" workaround from here.152152- Moved to linux/arch/i386/kernel/setup.c and153153- linux/include/asm-i386/bugs.h154154- 19990228 Richard Gooch <rgooch@atnf.csiro.au>155155- Added MTRRIOC_KILL_ENTRY ioctl(2)156156- Trap for counter underflow in <mtrr_file_del>.157157- Trap for 4 MiB aligned regions for PPro, stepping <= 7.158158- 19990301 Richard Gooch <rgooch@atnf.csiro.au>159159- Created <get_free_region> hook.160160- 19990305 Richard Gooch <rgooch@atnf.csiro.au>161161- Temporarily disable AMD support now MTRR capability flag is set.162162- v1.32163163- 19990308 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>164164- Adjust my changes (19990212-19990218) to Richard Gooch's165165- latest changes. (19990228-19990305)166166- v1.33167167- 19990309 Richard Gooch <rgooch@atnf.csiro.au>168168- Fixed typo in <printk> message.169169- 19990310 Richard Gooch <rgooch@atnf.csiro.au>170170- Support K6-II/III based on Alan Cox's <alan@redhat.com> patches.171171- v1.34172172- 19990511 Bart Hartgers <bart@etpmod.phys.tue.nl>173173- Support Centaur C6 MCR's.174174- 19990512 Richard Gooch <rgooch@atnf.csiro.au>175175- Minor cleanups.176176- v1.35177177- 19990707 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>178178- Check whether ARR3 is protected in cyrix_get_free_region()179179- and mtrr_del(). The code won't attempt to delete or change it180180- from now on if the BIOS protected ARR3. It silently skips ARR3181181- in cyrix_get_free_region() or returns with an error code from182182- mtrr_del().183183- 19990711 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>184184- Reset some bits in the CCRs in cyrix_arr_init() to disable SMM185185- if ARR3 isn't protected. This is needed because if SMM is active186186- and ARR3 isn't protected then deleting and setting ARR3 again187187- may lock up the processor. With SMM entirely disabled, it does188188- not happen.189189- 19990812 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>190190- Rearrange switch() statements so the driver accomodates to191191- the fact that the AMD Athlon handles its MTRRs the same way192192- as Intel does.193193- 19990814 Zolt�n B�sz�rm�nyi <zboszor@mail.externet.hu>194194- Double check for Intel in mtrr_add()'s big switch() because195195- that revision check is only valid for Intel CPUs.196196- 19990819 Alan Cox <alan@redhat.com>197197- Tested Zoltan's changes on a pre production Athlon - 100%198198- success.199199- 19991008 Manfred Spraul <manfreds@colorfullife.com>200200- replaced spin_lock_reschedule() with a normal semaphore.201201- v1.36202202- 20000221 Richard Gooch <rgooch@atnf.csiro.au>203203- Compile fix if procfs and devfs not enabled.204204- Formatting changes.205205- v1.37206206- 20001109 H. Peter Anvin <hpa@zytor.com>207207- Use the new centralized CPU feature detects.208208-209209- v1.38210210- 20010309 Dave Jones <davej@suse.de>211211- Add support for Cyrix III.212212-213213- v1.39214214- 20010312 Dave Jones <davej@suse.de>215215- Ugh, I broke AMD support.216216- Reworked fix by Troels Walsted Hansen <troels@thule.no>217217-218218- v1.40219219- 20010327 Dave Jones <davej@suse.de>220220- Adapted Cyrix III support to include VIA C3.221221-222222- v2.0223223- 20020306 Patrick Mochel <mochel@osdl.org>224224- Split mtrr.c -> mtrr/*.c225225- Converted to Linux Kernel Coding Style226226- Fixed several minor nits in form227227- Moved some SMP-only functions out, so they can be used228228- for power management in the future.229229- TODO: Fix user interface cruft.