282 lines
11 KiB
Text
282 lines
11 KiB
Text
|
NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE!
|
||
|
|
||
|
/dev/bios is obsolete and no longer under development.
|
||
|
Please use the flashrom utility instead: https://www.flashrom.org/
|
||
|
|
||
|
NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE! NOTE!
|
||
|
|
||
|
ChangeLog for /dev/bios
|
||
|
|
||
|
** 2004/03/31 ********************************************************
|
||
|
|
||
|
* Added fix from Alex Beregszaszi to remove global *bios
|
||
|
|
||
|
** 2004/03/05 ********************************************************
|
||
|
|
||
|
* fix compiling for 2.6 kernels.
|
||
|
|
||
|
** 03/06/04 **********************************************************
|
||
|
|
||
|
* add SST49LF080A
|
||
|
* small 2.5 fix.
|
||
|
|
||
|
** 02/06/10 **********************************************************
|
||
|
|
||
|
* some changes to detect pci cards firmware.
|
||
|
* pci cards firmware can be read even if flashing is not possible.
|
||
|
This is a new feature and might cause problems on some systems.
|
||
|
|
||
|
** 02/04/16 **********************************************************
|
||
|
|
||
|
* reorganize Makefile, include .config from kernel.
|
||
|
* platform fixes for clean compilation.
|
||
|
|
||
|
** 02/04/12 **********************************************************
|
||
|
|
||
|
* proprietary x86-64 support.
|
||
|
* change ruffian probe address
|
||
|
|
||
|
** 02/03/28 **********************************************************
|
||
|
|
||
|
* proper implementation of system firmware detection on LX164 Alphas
|
||
|
* partly include jedec command cleanup patch from Pierrick Hascoet
|
||
|
<pierrick.hascoet@hydromel.net>
|
||
|
|
||
|
** 02/03/11 **********************************************************
|
||
|
|
||
|
* only probe 512k on CS5530(A)
|
||
|
* add EON EN29F002 chips.
|
||
|
|
||
|
** 02/02/22 **********************************************************
|
||
|
|
||
|
* rewrite major parts of bridge probing to make driver more generic.
|
||
|
* add Ali chipset support
|
||
|
* Saner iounmap() of flash devices.
|
||
|
|
||
|
** 02/02/18 * 0.3.2 **************************************************
|
||
|
|
||
|
* change cs5530 driver to map high rom range instead of low one
|
||
|
and don't use positive decode.
|
||
|
* remove ruffian flag. Alpha (164LX/UX) almost works with pc code.
|
||
|
* don't rely on register defaults in intel 8xx driver.
|
||
|
* updated pci device list. more entries, join amd and via entry.
|
||
|
* fix error handling in chipset detection.
|
||
|
* add support for Reliance/ServerWorks chipsets
|
||
|
* enable 1M 512k on intel 4x0 chips where it's possible
|
||
|
* cleanup proc file handling
|
||
|
|
||
|
** 02/02/17 **********************************************************
|
||
|
|
||
|
* rewrote chipset initialisation skeleton.
|
||
|
* fix pci bios (un)mapping.
|
||
|
* experimental support for AlphaPC 164UX (Ruffian)
|
||
|
(probes at 0xfffffffffffc0000 instead of 0xfffffc87C0000000
|
||
|
* initial code for FWH mode chips
|
||
|
* Fix Toggle-Until-Ready code.
|
||
|
|
||
|
** 02/02/16 **********************************************************
|
||
|
|
||
|
* iounmapping fixed. no more address space wasted.
|
||
|
* /proc/bios shows physical address now. dmesg shows
|
||
|
physical address and virtual memory area and offset.
|
||
|
|
||
|
** 02/02/13 **********************************************************
|
||
|
|
||
|
* added i820/i830 chipset support
|
||
|
* added AMD 751/760MP(X) support
|
||
|
* added support for Itanium and 84460GX chipset
|
||
|
* added experimental support for some flash chips (ST, Intel,
|
||
|
Winbond)
|
||
|
* use spinlocks instead of hard cli()
|
||
|
|
||
|
** 02/02/11 **********************************************************
|
||
|
|
||
|
* added GPL licence tag
|
||
|
* remove low bios area access tweaking for intel drivers
|
||
|
* speed up SST 39SF020 write
|
||
|
* fix compilation for 2.5 kernels
|
||
|
|
||
|
** 02/02/05 **********************************************************
|
||
|
|
||
|
* added support for cs5530 (nsc/cyrix mediagx) chipset
|
||
|
* reorganized shadow/wp handling
|
||
|
* probe for 2mb high memory area instead of 256k only
|
||
|
|
||
|
** 01/08/01 * 0.3.1 **************************************************
|
||
|
|
||
|
* compiles and works with Linux kernel 2.4
|
||
|
* rewrote flash chip probing
|
||
|
* always use ioremap now
|
||
|
* flash chips above 128k should work transparent
|
||
|
* Support for newer VIA chipsets
|
||
|
|
||
|
** 00/10/15 * 0.3.0pre1 **********************************************
|
||
|
|
||
|
* added patch from Eric Estabrook
|
||
|
* support for 256k flash chips on intel 430/440 chipsets and via vp3
|
||
|
* split up source into several files
|
||
|
* Changes for Ruffian AXP machines. Does not work (yet).
|
||
|
|
||
|
** 99/07/29 * 0.2.101 ************************************************
|
||
|
|
||
|
* Oh well.. 11 months? Impossible. I am a lazy guy. Implemented
|
||
|
some support for VIA Apollo VP3. Don't know whether it works, since
|
||
|
I don't have one.
|
||
|
|
||
|
** 98/09/06 **********************************************************
|
||
|
|
||
|
patches by prumpf@jcsbs.lanobis.de:
|
||
|
* The pointer to bios_release in bios.c was on the flush pointer's
|
||
|
position. This caused Oopses.
|
||
|
* When bios_read was called with a file position after the actual end
|
||
|
of bios, it tried to read non-existant memory positions due to size
|
||
|
being unsigned (it isn't anymore) , causing spontaneous reboots on
|
||
|
my system
|
||
|
|
||
|
** 98/08/22 **********************************************************
|
||
|
|
||
|
* Well,.. The diskless spectacle (0.2.100) was caused by a little bug
|
||
|
in in handling Intel PCI chipsets. Works now.
|
||
|
* Threw out the chipset_backout stuff. the PCI chipset handling should
|
||
|
always leave the machine in the same state it was before. ALWAYS.
|
||
|
|
||
|
** 98/08/18 * 0.2.100 ************************************************
|
||
|
|
||
|
* Threw out the mem_type stuff. There are more important things than
|
||
|
this.
|
||
|
* Argh! After flashing fine on an Intel 28F001BT, the computer kept
|
||
|
hanging in an endless loop and refused writing the emergency boot
|
||
|
block to the end :-( There's some work until 0.3 is ready.
|
||
|
Implemented a timeout so that the system will not hang forever if
|
||
|
the flashchip behaves unexpected.
|
||
|
* Removed x86 probing in a loop. I think it never found anything else
|
||
|
but the system bios and *maybe* the graphics adapter bios. On the
|
||
|
other hand, it reconfigures some networking cards to silence.
|
||
|
Bad thing on diskless Linux boxes :)
|
||
|
|
||
|
** 98/08/15 **********************************************************
|
||
|
|
||
|
* added some changes for intel to compile without warnings..
|
||
|
|
||
|
** 98/08/02 **********************************************************
|
||
|
|
||
|
* What a boring job! Checked some dozen of flash chip entries today
|
||
|
and added a lot of new ones. I bet it gets hard to find anything
|
||
|
this driver does not know.
|
||
|
|
||
|
** 98/07/28 **********************************************************
|
||
|
|
||
|
* Yeah! Atmel Chips finally work.. These Atmel guys are really weird.
|
||
|
* Testing last instead of first written byte now, when polling for the
|
||
|
end of a write access.
|
||
|
|
||
|
** 98/07/28 **********************************************************
|
||
|
|
||
|
* Well, I am definitely spending too much time in IRC, but detecting
|
||
|
PCI cards' bioses works now (at least for me)
|
||
|
* Thrown out some obsolete stuff.
|
||
|
* Declared PCI and Flash reading/writing __inline__. Don't know,
|
||
|
whether this is a good idea. But let's try it for a while.
|
||
|
* Aaaargh! Some major mistakes in handling whether a flash has to
|
||
|
be erased before programming. FIXED!
|
||
|
* Even worse. An endless loop made it into writing in 0.2.99. Sorry!
|
||
|
I had no chance to test writing on an intel board with that release.
|
||
|
At least my warning, not to write, made sense.
|
||
|
* Intel flashchips are supported now!! It's at least tested on my
|
||
|
Alpha AXP LX164 Board (1MByte i28f008 chip) But all Intel flash chips
|
||
|
seem to work in the same way.
|
||
|
* Atmel 64kByte flash chips supported.
|
||
|
|
||
|
** 98/07/27 **********************************************************
|
||
|
|
||
|
* Split up flash_probe in 2 parts to be able to expand probing on
|
||
|
PCI bioses and others correctly.
|
||
|
* Turned around 1st and 2nd probing codes. This is funny, Atmel
|
||
|
Flashroms give some wrong numbers if they are probed with the
|
||
|
0x80/0x60 way. I only hope that no flashchips react on the
|
||
|
0x90 method with wrong values.
|
||
|
|
||
|
** 98/07/19 * V0.2.99 ************************************************
|
||
|
|
||
|
* Reading the flashchip works now on Alpha AXP (at least on my LX164
|
||
|
Board)
|
||
|
Writing ought to work, too, but Intel Flashchips are not supported
|
||
|
yet. This should be done until 0.3.0.
|
||
|
NOTE: I have no idea whether this driver still works on intel
|
||
|
boards or not. There have been too many changes. Please try, but
|
||
|
do not flash with this release of the driver.
|
||
|
* Minor Changes and fixes. Naming scheme changed a bit. This version
|
||
|
might work on James Mastros' machine again ?!?
|
||
|
|
||
|
** 98/07/11 **********************************************************
|
||
|
|
||
|
* Started porting stuff to Alpha AXP architecture to continue testing
|
||
|
the flashing routines. We have a lot of tests next week, so I
|
||
|
won't get much stuff done..
|
||
|
Porting to AXP seems to be much more work than I thought. It may
|
||
|
take some time until the next version is released.
|
||
|
* Moved major number again. This time we have an official major
|
||
|
number for /dev/bios. Thanks to Hans Peter Anvin.
|
||
|
(Well, we have this one since May 1st, sorry for the delay)
|
||
|
|
||
|
** 98/06/26 * V0.2.95 ************************************************
|
||
|
|
||
|
* added all Manufacturer IDs from the JEDEC standards publication.
|
||
|
* sorry for not having released a new version since months, but
|
||
|
my x86 machine died and I have no chance to do any testing right
|
||
|
now. I guess I must get a new Intel box, as Alpha AXP are all
|
||
|
delivered with the same Intel flash chips.
|
||
|
|
||
|
** 98/04/30 * V0.2.9 *************************************************
|
||
|
|
||
|
* removed ioctls. They have been really unneccesary and did not fit
|
||
|
into the new driver layout.
|
||
|
* cleaned up the code. Hey, it should be readable again.
|
||
|
* Moved device minors from 10+ to 0+
|
||
|
* Rewrote most of the documentation
|
||
|
* changed intel shadowing routines. Now original values are saved
|
||
|
and shadowing is turned off for 0xc0000 to 0xdffff, too (This
|
||
|
was needed to support 2MBit system bios flash chips. Thanks again
|
||
|
to Matthew Harrell for intensive testing.
|
||
|
* Removed dirty hacks from bios_read_proc()
|
||
|
* Added some fields to struct flashdevice to support all ROM types,
|
||
|
not only flash roms. Probing for other types still missing.
|
||
|
* Implemented probing for some strange Winbond chips (0x80/0x20).
|
||
|
|
||
|
** 98/04/27 * V0.2.8 *************************************************
|
||
|
|
||
|
*** Attention *** This version has a lot of changes since
|
||
|
0.2.7, so be very careful, when testing. Things may
|
||
|
be broken that used to work.
|
||
|
|
||
|
* Rewrote big parts of the driver to (theoretically) support
|
||
|
multiple flash chips and/or ROM areas.
|
||
|
* Tried to implement support for 2MBit System BIOS chips, but
|
||
|
I have no idea, whether it works. I don't have one.
|
||
|
* added some more OPTi, SiS and VIA PCI chipsets to chipset list.
|
||
|
They have no function yet, though.
|
||
|
* Some weird computers have an ISA bridge, but don't have it declared
|
||
|
as one. Now probing for known ISA bridge IDs. (Thanks to Matthew
|
||
|
Harrell for reporting this.)
|
||
|
* Added some new flashchip IDs and made some old ones work.
|
||
|
|
||
|
** 98/04/24 * V0.2.7 *************************************************
|
||
|
|
||
|
* rewrote shadowing and wp functions to use a pci_functions structure
|
||
|
This makes it very easy to include new PCI chipsets.
|
||
|
* function chipset_init() detects PCI chipset.
|
||
|
* modversions support. Thanks to Matthew Harrell.
|
||
|
* moved PCI bridge detection to chipset_init()
|
||
|
|
||
|
** 98/04/23 * V0.2.6 *************************************************
|
||
|
|
||
|
* repaired flashchip_ready_toggle and flashchip_ready_poll.
|
||
|
* Set WRITE_DELAY to 300 as it should be (works now)
|
||
|
* NOTE: These two changes make the operation of /dev/bios
|
||
|
theoretically correct, and by that quite secure.
|
||
|
|
||
|
**********************************************************************
|
||
|
|
||
|
There was no ChangeLog for versions prior to 0.2.6
|
||
|
|