Log message:
flashrom: Update to 1.2
This release was rushed a bit so that we have a release that includes
numerous build fixes that have been merged since v1.1. Fedora's build
system started to encounter compilation issues that needed to be
addressed for their upcoming release, so that became our canary in the
coal mine this time around.
Other highlights:
- Meson support (hello fwupd!)
- Layout improvements/fixes and many, many code cleanups.
- New chips: MX25U25635F, MX25L51245G, GD25Q256D, M95M02-A125,
N25Q/MT25Q variants, W25Q128JW_DTR, AT25SF321, S25FL512S
- New programmers: National Instruments USB-845x, Tin Can Tools
Flyswatter/Flyswatter 2, STLINK V3, more Intel PCHs (Apollo Lake,
Cannon Lake variants, Ice Lake U)
- Reduced dependency on libusb0
- Syntax: Added --flash-name and --flash-size arguments to print
information about the flash chip
Please report issues, and as always thanks to all who have contributed.
|
Log message:
flashrom: Update to 1.0.1
Tested by flashing and reading an internal Winbond ROM on NetBSD-current.
# flashrom/1.0.1
6b9e934f linux_spi: Reduce maximum read chunksize
Improves compatibility with older Linux kernels that interpreted the \
interface differently.
30c4cecd Makefile: Disable `-Werror=deprecated-declarations` on release branch
Just to be able to compile the 1.0.x branch on newer systems.
5639af64 linux_spi: Hardcode default spispeed of 2MHz
Default speed of kernel drivers isn't always sane (any more).
993e162d dediprog: Fix small, unaligned reads
An actual bug, discovered during experiments with arbitrary layouts.
ec8b8a7f board_enable.c: Fix dmi_match string for ThinkPad X201
Probably just wasn't tested before.
69f96f60 Fix verification with sparse layouts
A regression that sneaked into flashrom-1.0: When verifying the whole flash \
after a partial write with a sparse layout (i.e. a layout whose regions don't \
cover the whole chip), flashrom tried to verify against the wrong data and \
failed.
a3db7ed5 Fix erasing of unaligned regions
This never worked correctly from the beginning. We completely erased every \
block that touched an included layout region. Now, we restore surrounding data \
in case a block expands beyond the region.
# flashrom/1.0
New major user-visible features
Support layouts for read and erase commands
New command line switch --noverify-all (-N) allows flashing of individual \
regions without reading the whole flash chip (particular useful with locked down \
Intel ME firmware)
New command line switch --ifd to read the layout from an Intel Firmware \
Descriptor on flash
We got rid of the delay-loop calibration (if the OS provides an accurate \
timer through clock_gettime())
Reading speed of USB programmers should have increased (reading bigger \
chunks at once, we reduce the overhead)
Support Intel 100 series PCHs (Sunrise Point, coupled with Skylake and Kaby \
Lake) and C620 series PCHs (Lewisburg paired with Workstation/Server versions of \
the former)
New programmers
Intel 100 series / C620 series PCHs
Intel I210 NICs (EEPROM and SPI)
AMD Merlin Falcon (FP4)
New chips
W25Q128.W
# flashrom/0.9.9
New major user-visible features
Allow to link flashrom statically (with make CONFIG_STATIC=yes)
Ease debugging of build problems with libraries
Output way more debug information to build_details.txt
Provide list of set make configuration variables that make builds fail
Allow to easily disable groups of programmers depending on a library \
(make CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no \
CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no)
Ignore 0x00 as a flash chip manufacturer ID in the generic match to avoid \
ambiguous messages
Various improvements for serprog-based programmers
Support arbitrary UART baud rates on Windows
New programmers
Enable the dediprog module by default, add support for Dediprog SF600 and \
the new communication protocol of the SF100 with newer firmware.
WCH CH341A
VIA VT8251
Add support to update the firmware of Promise UltraATA controllers
New chips
ESI ES25P40, ES25P80 and ES25P16
GigaDevice GD25VQ41B, GD25Q128C, GD25VQ21B, GD25VQ40C, GD25VQ80C and \
GD25VQ16C, GD25LQ40, GD25LQ80, GD25LQ16, GD25LQ64(B), GD25LQ128
PMC Pm25LQ020, Pm25LQ040, Pm25LQ080, Pm25LQ016, Pm25LQ032C
Sanyo LE25FU406C/LE25U40CMC
SST SST25WF020A, SST25WF040B, SST25WF080B
Winbond W29C512A/W29EE512
Infrastructural improvements and fixes
Add support for libftdi1 (previous libftdi support still in place for \
backward compatibility but will eventually be removed)
Add infrastructure for libusb1 and use it for new programmers (existing code \
will be migrated from libusb0 continuously in the future)
Many cross-platform and cross-architecture improvements:
Fix compilation on OSX and Solaris-based systems
Add support for GNU Hurd
Add support for musl libc
Use nanosleep() instead of usleep() where available (enables building \
with uclibc)
Support compilation on Android (bionic libc)
Partial architecture support for alpha hppa m68k sh s39
Rigorously check integrity of I/O stream data (e.g. to notice full \
filesystems when writing flash data to a file)
Add make parameters for easier disabling/enabling of various classes of \
programmers: CONFIG_NOTHING=yes CONFIG_EVERYTHING=yes \
CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no \
CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no
# flashrom/0.9.8
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.
|