Testing and fixing BIOS/platform issues
Session information has not yet been published for this event.
One Line Summary
The kernel often has to cope with misconfiguration and bugs in BIOS and ACPI, working around them when possible and reporting them otherwise. These bugs rarely managed to get fixed upstream, and nothing prevents them from recurring on new systems with new BIOSes. We'd like to change that.
The kernel often has to cope with misconfiguration and bugs in BIOS and ACPI, working around them when possible and reporting them otherwise. These bugs rarely managed to get fixed upstream, and nothing prevents them from recurring on new systems with new BIOSes. We’d like to change that.
BITS, the BIOS Implementation Test Suite (biosbits.org), provides support for testing and diagnosing these types of issues in a pre-OS environment, including full support for Python scripting in ring 0 with access to hardware and ACPI. We’ve had great success getting BIOS vendors to fix issues tested by BITS, and we’d love to add a pile of new tests to address real issues that kernel developers encounter. We’d like to kick off a discussion on platform issues that Linux currently works around, with the goal of developing tests for those issues and eliminating them in all future BIOSes.
In addition, we’d like to find better ways to use the reference code provided to BIOS vendors within Linux, to override faulty BIOS configuration with the known-good configuration the BIOS should have used. While this code could simply serve as inspiration for entirely-rewritten Linux drivers, we’d like to find a way to share the upstream reference code between BIOSes and Linux without requiring such rewrites, and without creating unwelcome abstraction layers.
kernel, BIOS, ACPI, testing, platform, bugs, Python, BITS
Josh Triplett is a PhD student at Portland State University and a Free and Open Source Software hacker. Josh researches relativistic programming, advanced synchronization techniques for highly parallel systems. Currently, Josh wants to make it easier to assemble software and systems from individual components, with versioning and reproducibility, by building Apters. In his “free time”, Josh builds and launches Linux-powered rockets with the Portland State Aerospace Society, and hacks on numerous other projects . Lately, Josh does a lot of his hacking in Haskell.