40e4420aad
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.
47 lines
1.3 KiB
Makefile
47 lines
1.3 KiB
Makefile
# $NetBSD: Makefile,v 1.10 2019/06/05 07:52:58 nia Exp $
|
|
#
|
|
|
|
DISTNAME= flashrom-v1.0.1
|
|
PKGNAME= ${DISTNAME:S/-v/-/}
|
|
CATEGORIES= sysutils
|
|
MASTER_SITES= https://download.flashrom.org/releases/
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
MAINTAINER= jakllsch@NetBSD.org
|
|
HOMEPAGE= https://www.flashrom.org/
|
|
COMMENT= Universal (coreboot/LinuxBIOS) flash utility
|
|
LICENSE= gnu-gpl-v2
|
|
|
|
USE_TOOLS+= gmake pkg-config
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
|
|
DEPENDS+= dmidecode-[0-9]*:../../sysutils/dmidecode
|
|
.endif
|
|
|
|
SUBST_CLASSES.NetBSD+= pciutils
|
|
SUBST_CLASSES.SunOS+= pciutils
|
|
SUBST_FILES.pciutils= Makefile
|
|
SUBST_FILES.pciutils+= hwaccess.h
|
|
SUBST_MESSAGE.pciutils= adjusting pciutils headers
|
|
SUBST_STAGE.pciutils= pre-configure
|
|
SUBST_SED.pciutils+= -e 's,<pci/pci.h>,<pciutils/pci.h>,g'
|
|
|
|
.if ${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS"
|
|
LDFLAGS+= -lpci
|
|
CPPFLAGS+= -I/${PREFIX}/include
|
|
.endif
|
|
|
|
LDFLAGS.SunOS+= -lsocket -lnsl
|
|
MAKE_ENV.SunOS+= WARNERROR=0
|
|
|
|
INSTALLATION_DIRS= sbin ${PKGMANDIR}/man8
|
|
|
|
do-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/flashrom ${DESTDIR}${PREFIX}/sbin/flashrom
|
|
${INSTALL_MAN} ${WRKSRC}/flashrom.8 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8/flashrom.8
|
|
|
|
.include "../../devel/libftdi1/buildlink3.mk"
|
|
.include "../../sysutils/pciutils/buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|