************************************ LINUX-READY FIRMWARE DEVELOPER KIT RELEASE 3 October 2nd , 2007 ************************************ The Linux-ready Firmware Developer Kit team is pleased to announce the release R3 of the kit. The project is fairly stable at this point, but there are still many new, exciting additions to the kit such as Linux PowerTop 1.8, a tool to monitor power usage, c-states and p-states. See http://www.linuxpowertop.org/ for more info. The default kernels that are tested by the kit are also updated to now include: kernel.org 2.6.22-9, FC6, Ubuntu 7.04 and Mandriva 2007.1. There are also changes to make it as simple as possible to build your own customized firmwarekit to include the kernels _you_ care about. Corresponding documentation is, of course, included. See 'HOWTO_CustomizeISO.txt' for easy instructions. The Linux-ready Firmware Developer Kit is a tool to test how well Linux works together with the firmware (BIOS or EFI) of your machine, and is designed for use by both firmware development teams and Linux kernel hackers to prevent and diagnose firmware bugs. Summary ======= Enhancements * Added Ubuntu 7.04 kernel and Mandriva 2007.1 kernel as part of the kernels to test * Added error log for the plugins' stderr outputs (lfdk.err.log) * Root 'make' now just strictly compiles the plugins, leaving the downloading and other tasks to 'make iso'. * Re-org of extracting acpi tables in a more logical, efficient way (thanks to Thomas Reninger) * Updated mircocode .dat file * Versioning is now soft-coded with get_lfdk_ver() instead of hard-coded * Removed all hard-coded instances of system commands, and instead created get_relative_command() * Results now strictly in .txt format, removed .xml. * Bug-fixes and maintenance * More & updated documentation including: - HOWTO_CustomizeISO - add your own kernels to the kit for testing - HOWTO_WritePluginTest - easy steps in how to write your own plugin tests - Implementaiton seciton of README (finally) - overview of the implementation of the kit New Tests ========= * Virtualization tests for svm and vmx submitted by Lijo Lazar * (experimental) DMAR to test the health of the acpi DMAR tables (original patch by Shaohua Li from Intel) * Linux PowerTop 1.8 * Added test in pci resource plugin for failure to allocate memory resources (refer to Linus' comment in http://bugzilla.kernel.org/show_bug.cgi?id=7917) You can download this latest release of the kit from http://www.linuxfirmwarekit.org The Linux-ready Firmware Developer Kit team Jacob Pan Rolla Selbak Arjan van de Ven ************************************ LINUX-READY FIRMWARE DEVELOPER KIT RELEASE 2 April 11th, 2007 ************************************ The Linux-ready Firmware Developer Kit team is pleased to announce the release R2 of the kit. This release is mostly very heavy with bug-fixes, infrastructure re-org. to make it easier for outside developers to write & contribute plugins, and of course, tons of documentation. A few new tests and features have been added, including things you've asked for such as ssh-upload and a text-based version of the results. The Linux-ready Firmware Developer Kit is a tool to test how well Linux works together with the firmware (BIOS or EFI) of your machine, and is designed for use by both firmware development teams and Linux kernel hackers to prevent and diagnose firmware bugs. Summary ======= Enhancements * ssh upload of results * globalized DSDT & SSDT lists for standalone and .so plugins * better logically implemented dmesg and e820 functions * text-based results * documentation of each plugin and the meaning if its results (Documentation/TestsInfo) * bug-fixes New Tests ========= * ia64 error injection tool * fan test (now functional) * SUN test (now functional) * ebda test * cpufreq: added test for Ingo's _PSS bug * dmesg: added detection for buzilla.kernel.org bug 6859 You can download this latest release of the kit from http://www.linuxfirmwarekit.org The Linux-ready Firmware Developer Kit team Jacob Pan Rolla Selbak Arjan van de Ven New tests --------- * ia64 error injection tool * fan test (now functional) * SUN test (now functional) * ebda test IA64 error injection tool IPF Machine Check (MC) error inject tool is used to inject MC errors from Linux. The tool is a test bed for IPF MC work flow including hardware correctable error handling, OS recoverable error handling, MC event logging, etc. fan test (now functional) This test reports how many fans there are in the system. It also checks for the current status of the fan(s). SUN test (now functional) This makes sure that each SUN (Slot Unique Number) that is called in the DSDT through the Name() method is unique, no duplicates should be found. ebda test This test validates if the EBDA region is mapped and reserved in the E820 table. ************************************ LINUX-READY FIRMWARE DEVELOPER KIT RELEASE 1 December 7th, 2006 ************************************ Changes in R1 of the Linux-ready Firmware Developer Kit ------------------------------------------------------- Features -------- Linux distribution kernels Several people have asked us to make it easy to also test vendor kernels with the BIOS, and not just the vanilla kernel.org kernel. The standard ISO image contains 3 such kernels now, and the build system allows adding your own very easily. General improvements -------------------- Infrastructure The mini-OS on the CD has been upgraded to the Fedora Core 6 rpms. This allows us to leverage the suspend/resume infrastructure in FC6. Kernel The kernel on the CD image has been updated to version 2.6.19 Serial console Thomas Renninger from Novell/SuSE contributed code that detects the selected serial console speed automatically, rather than using a fixed speed as R0 did. Prototype IA64 support The firmware kit runs on IA64 now; however no ISO image is available yet. Automatic mode The firmware kit can now run in "auto pilot" mode, where the entire kit is non-interactive and just saves the results before exiting. Build system The build process has been changed to link against the libraries that will be on the final CD image, rather than the ones on the system. This should make the build process a lot more portable than it was in R0. New tests --------- Suspend-Resume This manual test allows you to test if Suspend (to ram), and more importantly, Resume works on the machine basic HPET test This test verifies if the kernel detects the HPET component of the chipset properly. Firmware writers are strongly encouraged to default-enable HPET to allow Linux to do fast and accurate timekeeping. P-state coordination Current dual core processors have a behavior that the effective frequency of both cores in a package is the maximum of the set frequencies of the cores. This is called "Hardware coordination". However some firmware does not get this right and uses "software coordination" where both cores run at the speed that was programmed into either of the cores. Thermal Trip Points Frank Seidel from Novell/SuSE has contributed a test for the thermal trip points in a system. 32/64 FADT test The FADT ACPI table is sometimes available in a 32 bit and a 64 bit version. This test verifies that the common fields in these tables are identical; they need to be since they describe the same properties. SSDT AML test In addition to the DSDT, some firmware has SSDT tables which are supplemental AML tables to the DSDT. The firmware kit now performs the same checks on the SSDT tables as it does on the DSDT. Microcode version test Intel CPUs have a feature called "microcode update", which makes it possible to field update some non-performance critical behaviors of the processor. The firmware is responsible to load a recent enough version of this microcode into the processor; this test checks if a more recent version exists. DMI table test The DMI table is used by Linux in several places, for example for model specific workarounds. This test checks the DMI table against a set of common mistakes, such as out-of-range values and reference values that are copied but not adjusted from a reference implementation. VMX enabled test Some firmware disables the VMX Virtualization extensions entirely; this is unfortunate since Xen and KVM cannot use these extensions on the machine. This test checks for this. OS/2 gap test For old versions of the OS/2* operating system, the firmware needed to leave a gap in memory between 15Mb and 16Mb. However this gap breaks various bootloaders that are used by Linux distributions, and should never be enabled by default. APIC edge/level test When using apics, the legacy interrupts on a system should be edge-triggered, while non-legacy interrupts should be level-triggered. If this is not done correctly, interrupts get either lost or cause an interrupt storm, both can hang the Linux kernel. PCI Express maxreadreq test PCI Express cards have a tunable buffer size with a default size of 128. The firmware is responsible for programming this buffer size to a higher value during POST for optimal performance. This test verifies that all PCI Express cards in a system have a higher tuned setting. This test was suggested by Roland Dreier from Cisco after a major Infiniband performance issue was diagnosed to be a non-tuned maxreadreq. _SUN test PCI slots may have numbers (this is needed to tell the user "the card in slot 4 can now be hot-unplugged safely). Some firmware has assigned duplicate numbers to some slots, and this prevents PCI/PCI-E hotplug from working reliably.