Flashrom/0.9.8: Difference between revisions

From flashrom
Jump to navigation Jump to search
No edit summary
(link to previous release notes and add link to latest)
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{DISPLAYTITLE:flashrom/0.9.8}}
{{DISPLAYTITLE:flashrom/0.9.8}}
{{Template:Latest_box}}


<div style="margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#ff6666; align:right; border:1px solid #000000;">
Over 500 days and almost 170 commits after the release of flashrom [[flashrom/0.9.7|0.9.7]] we have released version 0.9.8 on 2015-03-01. With the addition of some Macronix mask ROMs and support for accessing EEPROMs attached to Intel 82580 NICs, this is the first flashrom release supporting memory devices that are not based on NOR flash. There have been numerous other additions of programmers as well as flash chips too. Other premiers include the support for the flash chip in an x86-based tablet and the use of the I²C-based DDC to update the firmware of some displays.
'''IMPORTANT:''' This is work in progress. Its purpose is to organize code review and track improvements as they are pushed to our repository. Some of the stuff mentioned below may not get included or even be removed later again.
</div>


Two other important news are not reflected by the source code directly.
We have set up a build bot that is able to build flashrom for a broad range of operating systems and architectures.
This includes a very old CentOS installation (for testing backward support with RHEL), DOS, Windows and various BSD instances, as well as cross-compilations for non-x86 architectures like ARM, MIPS, PowerPC and SPARC.
The second news item refers to a change in the conduct of development that will become effective with the release of 0.9.8 to allow for a more effective handling of patches; see [[Development Guidelines]] for details.


=TODO list for this release=
Below you find a summary of the most important changes in the previous development cycle.
* programmers
** <tt>nicintel_eeprom</tt>
* chips
** MX25U12835F
* chipsets
* Baytrail & Rangeley/Avoton support?
* unknown AMD chipset warning (exclude Bolton)
* boards
* platform/arch/os
* ui
** enum test_state + wiki changes
* infrastructure
** fix mapping (of large chips)
* misc
** tested stuff
 


==New major user-visible features==
==New major user-visible features==
* A bunch of newly supported architectures: ARM 64bit, big-endian ARM, PowerPC 64bit, SPARC.
* Better support for AMD chipsets in general (speed selection, more conservative defaults etc.).
* Better support for AMD chipsets in general (speed selection, more conservative defaults etc.).
* Support for AMD Yangtze's SPI controller (found in Kabini and Tamesh). Bolton FCHs (A78, A88X, A77E) are not supported yet.
* Add new programmer support:
* Support for VIA VT6421A LPC programmer as <tt>atavia</tt> (found on PCI SATA controllers).
** AMD Yangtze's SPI controller (found in Kabini and Tamesh) as well as the one in Bolton FCHs (A78, A88X, A77E).
* Support for switching betweens chips on boards with GIGABYTE's DualBIOS (using the <tt>dualbiosindex</tt> programmer parameter).
** Intel Silvermont chipsets (Bay Trail, Rangeley and Avoton) and Wildcat Point (for Broadwell).
* Enable fwh_idsel parameter for C-ICH and ICH2/3/4/5 chipsets.
** ITE IT8212F parallel programmer as <tt>it8212</tt> (found on PCI SATA RAID controllers).
* Extension of the <tt>rayer_spi</tt> module to supported various similar devices (Altera ByteBlasterMV, Atmel STK200/300, Wiggler LPT).
** VIA VT6421A LPC programmer as <tt>atavia</tt> (found on PCI SATA controllers).
* Finer-grained display of support status (new states: configuration-dependent, not applicable).
** EEPROMs on Intel network cards based on the 82580 NIC (<tt>nicintel_eeprom</tt>).
** Intel 82599 10 GbE NICs boot PROMs (part of <tt>nicintel_spi</tt>).
** [http://microchip.com/pickit2 Microchip PICkit 2]
** MSTAR I²C ISP protocol (not compiled in by default). Rewrites the firmware of your screen over VGA/DVI(!).
** Extension of the <tt>rayer_spi</tt> module to supported various similar devices (Altera ByteBlasterMV, Atmel STK200/300, Wiggler LPT).
* Switching betweens chips on boards with GIGABYTE's DualBIOS (using the <tt>dualbiosindex</tt> programmer parameter).
* Enable <tt>fwh_idsel</tt> parameter for C-ICH and ICH2/3/4/5 chipsets.
* Finer-grained display of support status used for flash chip operations, chipsets, mainboards and programmers (new states: configuration-dependent, not applicable).




===New chips===
===New chips===
* 29GL series of chip families (EON EN29GL, ISSI (PMC) IS29GL, Macronix MX29GL (+MX68GL1G0F), Winbond W29GL)
* Atmel (now Adesto) AT45DB family + AT45CS1282, as well as AT25DL081 and AT25DL161.
* Atmel (now Adesto) AT45DB family + AT45CS1282, as well as AT25DL081 and AT25DL161.
* Atmel AT49LH004 and AT49LH00B4
* Eon EN25P family
* Eon EN29LV040 and EN29LV040A
* ESMT F25L32PA
* ESMT F25L32PA
* Fujitsu MBM29LV160BE/TE
* Fujitsu MBM29LV160BE/TE
* Macronix MX23L3254 (the first supported mask ROM)
* Macronix MX23L1654, MX23L3254, MX23L6454, MX23L12854 (the first supported mask ROMs)
* Sanyo LE25FW406A and LE25FU406B
* Macronix MX25L6495F
* Spansion S25FL132K and S25FL164K
* Macronix MX25U12835F
* Macronix MX29F022(N)B and MX29F022(N)T
* Sanyo LE25FW106, LE25FW406A and LE25FU406B
* Spansion S25FL127S, S25FL128P, S25FL129P, S25FL132K and S25FL164K
* SST25LF020A, SST25WF080, SST25VF512A, SST25VF020 and SST25VF020B
* SST25LF020A, SST25WF080, SST25VF512A, SST25VF020 and SST25VF020B
* ST M50LPW080
* ST M50LPW080
* Winbond W25Q40.V


==Infrastructural improvements and fixes==
==Infrastructural improvements and fixes==
Line 48: Line 51:
* Using an internal DMI decoder instead of relying on dmidecode.
* Using an internal DMI decoder instead of relying on dmidecode.
* Addition of getrevision.sh to retrieve various data from SCM systems.
* Addition of getrevision.sh to retrieve various data from SCM systems.
* Removal of yet another bunch of <tt>exit()</tt> calls and other code interfering with the creation of libflashrom.
* Removal of yet another bunch of <tt>exit()</tt> calls and other code that interferes with the creation of libflashrom.
* First huge step to refactor Intel Chipset Enables.
* First huge step to refactor Intel Chipset Enables.
* Various cross-platform improvements (e.g. a more unified operating system and CPU architecture detection).
* By setting CONFIG_EVERYTHING=yes at compile time all modules that are disabled by default will be compiled in.


= Download =
= Download =
Line 55: Line 60:
flashrom 0.9.8 can be downloaded in various ways:
flashrom 0.9.8 can be downloaded in various ways:


Anonymous checkout from the subversion repository at svn://flashrom.org/flashrom/tags/flashrom-0.9.8
Anonymous checkout from the subversion repository at svn://flashrom.org/flashrom/tags/0.9.8
 
A tarball is available for download at


http://download.flashrom.org/releases/flashrom-0.9.8.tar.bz2 [http://download.flashrom.org/releases/flashrom-0.9.8.tar.bz2.asc (GPG signature)].
A tarball is available for download at http://download.flashrom.org/releases/flashrom-0.9.8.tar.bz2 [http://download.flashrom.org/releases/flashrom-0.9.8.tar.bz2.asc (GPG signature)].


= Supported hardware =
= Supported hardware =


Please see the [[Flashrom/0.9.8/Supported_Hardware|archived status page]] for the hardware supported by this release.
Please see the [[Flashrom/0.9.8/Supported_Hardware|archived status page]] for the hardware supported by this release.

Latest revision as of 14:00, 12 March 2016

This is an archived release notes page. For the release notes of the latest stable release please see here.

Over 500 days and almost 170 commits after the release of flashrom 0.9.7 we have released version 0.9.8 on 2015-03-01. With the addition of some Macronix mask ROMs and support for accessing EEPROMs attached to Intel 82580 NICs, this is the first flashrom release supporting memory devices that are not based on NOR flash. There have been numerous other additions of programmers as well as flash chips too. Other premiers include the support for the flash chip in an x86-based tablet and the use of the I²C-based DDC to update the firmware of some displays.

Two other important news are not reflected by the source code directly. We have set up a build bot that is able to build flashrom for a broad range of operating systems and architectures. This includes a very old CentOS installation (for testing backward support with RHEL), DOS, Windows and various BSD instances, as well as cross-compilations for non-x86 architectures like ARM, MIPS, PowerPC and SPARC. The second news item refers to a change in the conduct of development that will become effective with the release of 0.9.8 to allow for a more effective handling of patches; see Development Guidelines for details.

Below you find a summary of the most important changes in the previous development cycle.

New major user-visible features

  • A bunch of newly supported architectures: ARM 64bit, big-endian ARM, PowerPC 64bit, SPARC.
  • Better support for AMD chipsets in general (speed selection, more conservative defaults etc.).
  • Add new programmer support:
    • AMD Yangtze's SPI controller (found in Kabini and Tamesh) as well as the one in Bolton FCHs (A78, A88X, A77E).
    • Intel Silvermont chipsets (Bay Trail, Rangeley and Avoton) and Wildcat Point (for Broadwell).
    • ITE IT8212F parallel programmer as it8212 (found on PCI SATA RAID controllers).
    • VIA VT6421A LPC programmer as atavia (found on PCI SATA controllers).
    • EEPROMs on Intel network cards based on the 82580 NIC (nicintel_eeprom).
    • Intel 82599 10 GbE NICs boot PROMs (part of nicintel_spi).
    • Microchip PICkit 2
    • MSTAR I²C ISP protocol (not compiled in by default). Rewrites the firmware of your screen over VGA/DVI(!).
    • Extension of the rayer_spi module to supported various similar devices (Altera ByteBlasterMV, Atmel STK200/300, Wiggler LPT).
  • Switching betweens chips on boards with GIGABYTE's DualBIOS (using the dualbiosindex programmer parameter).
  • Enable fwh_idsel parameter for C-ICH and ICH2/3/4/5 chipsets.
  • Finer-grained display of support status used for flash chip operations, chipsets, mainboards and programmers (new states: configuration-dependent, not applicable).


New chips

  • 29GL series of chip families (EON EN29GL, ISSI (PMC) IS29GL, Macronix MX29GL (+MX68GL1G0F), Winbond W29GL)
  • Atmel (now Adesto) AT45DB family + AT45CS1282, as well as AT25DL081 and AT25DL161.
  • Atmel AT49LH004 and AT49LH00B4
  • Eon EN25P family
  • Eon EN29LV040 and EN29LV040A
  • ESMT F25L32PA
  • Fujitsu MBM29LV160BE/TE
  • Macronix MX23L1654, MX23L3254, MX23L6454, MX23L12854 (the first supported mask ROMs)
  • Macronix MX25L6495F
  • Macronix MX25U12835F
  • Macronix MX29F022(N)B and MX29F022(N)T
  • Sanyo LE25FW106, LE25FW406A and LE25FU406B
  • Spansion S25FL127S, S25FL128P, S25FL129P, S25FL132K and S25FL164K
  • SST25LF020A, SST25WF080, SST25VF512A, SST25VF020 and SST25VF020B
  • ST M50LPW080
  • Winbond W25Q40.V

Infrastructural improvements and fixes

  • Automatic unmapping and rounding of memory maps.
  • Using an internal DMI decoder instead of relying on dmidecode.
  • Addition of getrevision.sh to retrieve various data from SCM systems.
  • Removal of yet another bunch of exit() calls and other code that interferes with the creation of libflashrom.
  • First huge step to refactor Intel Chipset Enables.
  • Various cross-platform improvements (e.g. a more unified operating system and CPU architecture detection).
  • By setting CONFIG_EVERYTHING=yes at compile time all modules that are disabled by default will be compiled in.

Download

flashrom 0.9.8 can be downloaded in various ways:

Anonymous checkout from the subversion repository at svn://flashrom.org/flashrom/tags/0.9.8

A tarball is available for download at http://download.flashrom.org/releases/flashrom-0.9.8.tar.bz2 (GPG signature).

Supported hardware

Please see the archived status page for the hardware supported by this release.