Recent development (unreleased)

This document describes the major changes that are expected to be included in the next release of flashrom and which are currently only available by source code checkout (see Building from source). These changes may be further revised before the next release.

CLI updates

Colored errors and warnings

The classic CLI prints error messages in red and warnings in yellow when the output is a terminal. Set the NO_COLOR environment variable to a non-empty value to disable it. The log file written by -o is never colored. Color output is not implemented on Windows.

Platform updates

FreeBSD

The internal programmer now finds the SMBIOS tables on UEFI systems by asking the loader for the entry point, so board matching and laptop detection work there. MSR access uses cpuctl(4) from the base system instead of the retired devcpu port. The internal programmer is offered on non-x86 FreeBSD hosts, matching Linux.

Programmers updates

ft2232_spi: specify device by USB port path

It was previously not possible to specify a device in case of collision in serial/description, for example between multiples of the same device with blank EEPROM. now it is possible to select by USB bus & port path.

Example:

flashrom -p ft2232_spi:type=4232H,usbpath=1-1.4.2 -r -c W25Q80BV/W25Q80DV -r dump.bin

ni845x_spi programmer is deleted

The driver was gated to 32-bit Windows and linked against a proprietary National Instruments library that ships for no other platform, so the hardware has never been usable anywhere else.

It has been disabled by default all the time and was not built or tested by CI scripts.

Removed programmers

The rayer_spi programmer has been removed. It bit-banged SPI over a PC parallel port (RayeR cable, Altera ByteBlasterMV, Atmel STK200/300, Macraigor Wiggler, Xilinx Parallel Cable III, and SPI Tiny Tools hardware). Parallel ports are absent from modern hardware, and the driver required raw x86 I/O port access, restricting it to legacy x86 hosts.

The atapromise programmer has been removed. It reflashed the option ROM on Promise PDC2026x ATA/RAID PCI cards via raw x86 port I/O and was capped at 32 kB by the tested card wiring. The hardware is obsolete and legacy hosts already ship a flashrom that supports it.

The gfxnvidia programmer has been removed. It reflashed the parallel flash on old NVIDIA graphics cards through a memory-mapped PCI BAR. The hardware is obsolete and legacy hosts already ship a flashrom that supports it.

The satasii programmer has been removed. It reflashed the parallel flash on Silicon Image SATA/IDE PCI controllers through a memory-mapped PCI BAR. The hardware is obsolete and legacy hosts already ship a flashrom that supports it.

The nicnatsemi programmer has been removed. It reflashed the socketed parallel boot ROM on National Semiconductor DP838* PCI network cards through raw x86 port I/O. The hardware is obsolete and legacy hosts already ship a flashrom that supports it.

The drkaiser programmer has been removed. It reflashed the parallel flash on Dr. Kaiser PC-Waechter PCI cards through a memory-mapped PCI BAR. The hardware is obsolete and legacy hosts already ship a flashrom that supports it.

The satamv programmer has been removed. It reflashed the parallel flash on Marvell 88SX70xx/88SX60xx SATA PCI controllers through raw x86 port I/O. The hardware is obsolete and legacy hosts already ship a flashrom that supports it.

The atahpt programmer has been removed. It reflashed the option ROM on HighPoint ATA/RAID PCI controllers through raw x86 port I/O. The hardware is obsolete and legacy hosts already ship a flashrom that supports it.

The it8212 programmer has been removed. It reflashed the flash on ITE IT8212F ATA/RAID PCI controllers through a memory-mapped PCI BAR. The hardware is obsolete and legacy hosts already ship a flashrom that supports it.

The developerbox_spi programmer has been removed. It drove the on-board SPI flash of the Socionext SynQuacer DeveloperBox for recovery. The board is end-of-life with a negligible install base, so nothing in current use depends on it.

Platform support

DOS support is removed

flashrom no longer builds for DOS. The DJGPP target needed its own DPMI physical memory mapping, port I/O wrappers and delay loop, none of which was shared with any other platform or covered by CI.