Weeeeeee, we got the release out.
You can read more about what changes are included in the release notes. As explained in my previous blog post the complete AMD patches (support for Yangtze) did not make it into the release but will be merged soon. After the release I was busy rebasing all of my 50 branches and started to merge some of the old, mostly unreviewed and undiscussed, but hopefully useful and solid patches, interleaved with new and completely unreviewed, but hopefully useful and not completely broken patches. Some of them were bitrotting for years and/or with no hope of ever getting the needed attention of a proper review, so I just merged them. That includes a quite generic script named getrevision.sh that can retrieve all kinds of SCM information as described in my last post and might even be useful outside of flashrom. In flashrom we currently use it for two things only: to generate the version string which was previously generated by an awful svn-specific line in the makefile; and to display the modification date of the manpage in itself.
Another long existing proposed change was to add a way to choose between the flash chip in GIGABYTE’s DualBIOS configurations, which I refined and merged. There were a number of infrastructure changes (not exactly what my GSoC proposal was about, but we are getting there :P). For example we support automatically unmapping of memory-mapped I/O ranges, and we round them to page boundaries if requested too. And I have added a number of partially quite complicated flash chips (AT45DB, the incest family of flash chips: all awkward, some retarded with some very odd similarities with each other) and compiling with libpayload was improved too, as well as support for it added to the buildbot. The latter got a few new tricks too: a symlink to the latest build, private builds, a dry-run mode, an easier to remember compiler selection implemented by associative arrays (yay bash 4) that store alias names for the compiler commands (e.g. “
-c libpayload" instead of “
-c "CC=/home/flashrom-buildbot/coreboot/util/crossgcc/xgcc/bin/i386-elf-gcc /home/flashrom-buildbot/coreboot/payloads/libpayload/bin/lpgcc")
- Internal DMI decoder
- AMD patches
- RayerSPI patches
- layout patches
Still plenty of time to attack those small GSoC goals afterwards…? I like challenges 😉