Hi all,
I've been thinking about what flashrom 2.0.0 should look like, and I’d like to
start the conversation now so we can work toward a 2.0 release early next year.
My napkin plan:
Between now and the release
- Keep refactoring, improving documentation, and paying down technical debt.
- Prepare the eviction of few programmers that only exist in museums or drive
long-retired technology (rayer_spi is already in review as the first). These
drivers are effectively untested; a refactor may incidentally touch them, but
no one is validating them on real hardware.
- Cut a 1.9.0 before January with any pending bug fixes, so we have a clean,
stable base to branch 2.0 from. (Retired programmers may get fixes as a side
effect of refactoring, but again.. untested.)
Yes i skipped 1.8.0 for 2 reason:
- skipping a version is basically the software equivalent of 'last call before
2.0.'
- 1.9.0 to 2.0.0 is natural .. some software don't use double digit minor
(1.10.0)
** The chip-testing push*
A few months ago I ordered thousands of SKUs from China. The trader spent
nearly three months contacting warehouses to source every SPI flash chip he
could find. Some went out of stock immediately after I ordered them, so I may
have been the last customer for a few of those parts. By the time collection
finished, the same order would cost five figures thanks to the memory price
spike.
Once the packages finish arriving, I'll spend a few weekends testing every
currently-unverified chip.
The goal is that, by the 2.0 release, unknown-chip warnings should primarily be
limited to devices released after flashrom itself.
Manufacturers can also help by testing devices and mailing samples to
maintainers for cross-checking. SPI flash chips are small enough to ship in a
regular envelope.
I see we have Winbond, nvidia and qualcomm and mcst contributors that have
access to to new chips or non consumers facing chips. They can help with the
catalog.
This would make flashrom the largest open-source database of actually tested
SPI flash devices. Plenty of closed-source tools claim 40k+ chips, but most are
untested or hallucinated(the programmer offer a package the manufacturer never
offered)!
I have personally had to swap between 2–3 programmers just to read something
that wasn't garbage.
** libflashrom as the reference layer*
I would like libflashrom to become the de-facto low-level library that other
projects build on, instead of everyone re-deriving the same chip data:
- https://github.com/ArthurHeymans/rflasher
- https://github.com/seuros/flashcat
- https://gitlab.com/DavidGriffith/minipro
None of these projects (flashrom included) has the funding or manpower to do
everything. Sharing a well-tested chip database helps all of us.
** After 2.0*
In 2.0 I’d like the focus to shift from architectural churn toward testing, new
chip support, maintenance and polish.
The one thing that could reopen major development is NAND support, but that's a
whole new infrastructure (ECC, bad-block management, OOB) and deserves its own
discussion. (I willhave the chips)
** Proposed release date:* 2027-01-29 (a Friday), exactly 25 years since Ron
Minnich’s 'Dammit' commit, which is essentially where the project began.
A project only gets one 25th anniversary. Missing that date would be like
launching Voyager after the planetary alignment had passed.
It would be pretty epic if Ron himself did the final version bump.
Thoughts welcome, especially on the eviction list and the 1.9.0 cut.
Already in review
- rayer_spi - parallel-port SPI bit-banging (CB:93706)
Legacy PCI option/boot-ROM flashers (par_master, raw x86 port I/O or PCI BAR)
- nic3com - 3Com PCI NIC boot ROM
- nicrealtek - Realtek/SMC 1211 NIC boot ROM
- nicnatsemi - National Semiconductor DP838* NIC boot ROM
- gfxnvidia - old NVIDIA graphics-card flash
- drkaiser - Dr. Kaiser PC-Waechter PCI card
- satasii - Silicon Image SATA/IDE controller
- satamv - Marvell SATA controller
- atahpt - HighPoint ATA/RAID controller
- atapromise - Promise PDC2026x ATA/RAID controller
- atavia - VIA VT6421A SATA controller
- it8212 - ITE IT8212F ATA/RAID controller
Orphaned / EOL hardware
- developerbox_spi - Socionext SynQuacer DeveloperBox
Thanks,
Abdelkader Boudih
_______________________________________________
flashrom mailing list -- [email protected]
To unsubscribe send an email to [email protected]