bits-730 released with these changes:
Add support for saving logs to disk.
- BITS boot media has a preallocated 128k file /boot/bits-log.txt, and BITS can overwrite this file with log data (filling the remainder with newlines for padding).
- Show the BITS version at the start of the BITS log.
- Show the BSP processor signature and detected CPU at the start of the BITS log.
To support this new logging, BITS now has support for writing data to files. As long as the file already has the necessary disk blocks preallocated, BITS can overwrite the existing contents of the file.
Add a fully automated batch mode, and a configuration file /boot/bits-cfg.txt with which to enable it. In batch mode, BITS will automatically run all tests and save the log file without requiring any user interaction.
Add support for C-state residency and USB handoff tests to all Nehalem and newer CPUs.
Drop support for trying to take USB back from the BIOS. It never works on any system, and some systems actually hang when trying.
runppm: Add support for PPM RCM specification 12.3, with new error code for reporting unsupported processors.
When a test throws an exception, print the traceback. Together with logging support, this makes it much easier to debug tests. (If you ever see such an exception in your test logs, please report it.)
Add the Python module ConfigParser.
Bugfixes and cleanups:
- When showing CPU information, handle a missing MADT.
- Read 3-byte PCI class codes via one 4-byte read rather than a 2-byte and 1-byte read.
- Handle systems with <255 PCIe busses, by getting start and end bus numbers from MCFG
- Skip PCI busses where bus:0:0 does not look like a valid device.
- Make MSR blacklists more consistent across CPUs, and add comments on more MSRs.
- Support translating ACPICA objects of ACPI_TYPE_POWER to and from Python
- Improve ACPI output formatting by wrapping lines.
- Drop support for logging to an ACPI table for later retrieval by a booted OS. Saving logs to disk makes this obsolete.