mirror of
				https://gitlab.com/qemu-project/openbios.git
				synced 2024-02-13 08:34:06 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			282 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			282 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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
 | |
| 
 | 
