Linux 3.18 To Add Support For Firmware Core Dumps To User-Space
Besides Greg KH sending in the USB changes for Linux 3.18 he also sent in the driver core changes for the 3.18 merge window. With the driver core patches this time around is a notable change for benefiting developers to ultimately better debug wireless and GPU driver issues.
Added to the driver core interface is a new device coredump class. This new generic kernel interface can be used for dumping firmware "core dumps" to user-space over sysfs. This is primarily intended for wireless and graphics drivers (among other potential drivers of hardware that deal a lot with firmware blobs) to implement so they can dump their hardware firmware state to assist in debugging complicated issues where it could be within the firmware code.
Johannes Berg of Intel who worked on the device coredump class wrote in his kernel patch series:
Now for the Linux kernel hardware drivers to make use of this new interface... The driver core pull request for Linux 3.18 can be found on the kernel mailing list.
Added to the driver core interface is a new device coredump class. This new generic kernel interface can be used for dumping firmware "core dumps" to user-space over sysfs. This is primarily intended for wireless and graphics drivers (among other potential drivers of hardware that deal a lot with firmware blobs) to implement so they can dump their hardware firmware state to assist in debugging complicated issues where it could be within the firmware code.
Johannes Berg of Intel who worked on the device coredump class wrote in his kernel patch series:
Many devices run firmware and/or complex hardware, and most of that can have bugs. When it misbehaves, however, it is often much harder to debug than software running on the host.
Introduce a "device coredump" mechanism to allow dumping internal device/firmware state through a generalized mechanism. As devices are different and information needed can vary accordingly, this doesn't prescribe a file format - it just provides mechanism to get data to be able to capture it in a generalized way (e.g. in distributions.)
Note that generalized capturing of such data may result in privacy issues, so users generally need to be involved. In order to allow certain users/system integrators/... to disable the feature at all, introduce a Kconfig option to override the drivers that would like to have the feature.
Now for the Linux kernel hardware drivers to make use of this new interface... The driver core pull request for Linux 3.18 can be found on the kernel mailing list.
Add A Comment