Flashrom/0.9.8: Difference between revisions

From flashrom
Jump to navigation Jump to search
(release is imminent)
Line 5: Line 5:
</div>
</div>


Over 500 days and almost 170 commits after the release of flashrom 0.9.7 we have released version 0.9.8 on 2015-02-FIXME. 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 additions of programmers as well as flash chips. General infrastructure changes and cross-platform improvements will make adding new features and the creation of libflashrom easier.
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.
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.
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 and SPARC.
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.
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.


Line 25: Line 25:
** Intel 82599 10 GbE NICs boot PROMs (part of <tt>nicintel_spi</tt>).
** Intel 82599 10 GbE NICs boot PROMs (part of <tt>nicintel_spi</tt>).
** [http://microchip.com/pickit2 Microchip PICkit 2]
** [http://microchip.com/pickit2 Microchip PICkit 2]
** MSTAR I2C ISP protocol (not compiled in by default). Rewrites the firmware of your screen over VGA/DVI(!).
** 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).
** 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).
* Switching betweens chips on boards with GIGABYTE's DualBIOS (using the <tt>dualbiosindex</tt> programmer parameter).
Line 61: Line 61:
= Download =
= Download =


flashrom 0.9.8-rc1 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/0.9.8-rc1
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-rc1.tar.bz2 [http://download.flashrom.org/releases/flashrom-0.9.8-rc1.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.

Revision as of 02:05, 1 March 2015


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.

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.