firmware-testing-team team mailing list archive
-
firmware-testing-team team
-
Mailing list archive
-
Message #00017
Introducing fwts 0.19.1 on the fwts development PPA
Hi there,
I've created a development fwts PPA for all the latest firmware test
suite changes that won't make it into Maverick 10.10 but will land in
Natty 11.04.
To get this goodness, run the following:
sudo add-apt-repository \
ppa:firmware-testing-team/ppa-firmware-test-suite-dev
then:
sudo apt-get update && sudo apt-get upgrade
So what's new in the 0.19.1 development version? The following tests
have been introduced:
cmos CMOS register dump
acpidump Dump out and annotate ACPI tables
romdump Dump out BIOS/firmware ROM images
e820dump Dump out E820 table
crs Check PCI host bridge config using _CRS
apicinstance Check for just once instance of ACPI/MADT table
hdaaudio Check HDA Audio BIOS pin config vs driver pin config
os2gap Check for legacy OS/2 15MB memory region gap
..the acpidump is the most significant change, this dumps out a lot of
detail about each ACPI table and is intended to allow one to debug
individually annotated fields. Needless to say there are a *lot* of
tables and some effort was required to get this written. I will leverage
this to do some deeper semantic checks on the table contents at a later
date.
Other improvements are:
fan test - skip test if fan does not exist rather than fail.
log formatting - improved formatting of wrapped lines.
ebda test - print out the EBDA region size.
e820 region checking - load from /sys/firmware/mmap and fall back on
scanning kernel log if this fails.
I've also created a new "Utilities" classification for tools in fwts
that are not strictly tests. The acpidump, cmosdump, e820dump and
romdump code falls into this classification and are not run as standard
tests since they provide diagnostic dumps of machine tables and data.
New command line options/flags:
-S, --skip-test
using this one can specify which tests you want to skip using a
comma separated list of test names, E.g. --skip-test=s3,s4,crs
or -S s3,s4,crs
-
This null switch will redirect the log output to stdout
-D, --show-progress-dialog
This will dump out progress information that can be pipe'd to
the dialog command, e.g. fwts -D | dialog --gauge "fwts" 20 70
This will make the USB key fwts test image easier to implement
dialog based progress feedback to the user.
I also took the liberty to re-write the ACPI table extraction code. The
initial fwts used acpidump, then moved over to reading tables
from /sys/firmware but this did not extract all the available tables.
I've now re-written the code to either find the root table
from /sys/firmware/efi/systab (for UEFI systems) or scan the BIOS
(non-UEFI) and from this to mmap and read the tables from firmware. The
code now caches these tables making the tests run faster.
The current suite of tests now comprises of:
Batch tests:
acpiinfo General ACPI information check.
apicedge APIC Edge/Level Check.
apicinstance Check for single instance of APIC/MADT table.
bios_info Gather BIOS DMI information.
checksum Check ACPI table checksum.
cpufreq CPU frequency scaling tests (takes ~1-2 mins).
crs Check PCI host bridge configuration using _CRS.
dmesg_common General dmesg common errors check.
dmi_decode Test DMI/SMBIOS tables for errors.
ebda Validate EBDA region is mapped and reserved in E820
table.
fadt FADT SCI_EN enabled check.
fan Simple Fan Tests.
hda_audio Check HDA Audio Pin Configs.
hpet_check HPET configuration test.
klog Scan kernel log for errors and warnings.
maxfreq Check max CPU frequencies against max scaling frequency.
maxreadreq Checks firmware has set PCI Express MaxReadReq to a
higher value on non-motherboard devices.
mcfg MCFG PCI Express* memory mapped config space.
microcode Check if system is using latest microcode.
mtrr MTRR validation.
nx Test if CPU NX is disabled by the BIOS.
os2gap OS/2 memory hole test
osilinux Disassemble DSDT to check for _OSI("Linux").
syntaxcheck Re-assemble DSDT and find syntax errors and warnings.
thermal_trip Test ACPI passive thermal trip points.
version Gather kernel system information.
virt Test CPU Virtualisation Configuration.
wakealarm Test ACPI Wakealarm.
wmi Extract and analyse Windows Management Instrumentation
(WMI).
Interactive tests:
ac_adapter Interactive ac_adapter power test.
battery Battery Tests.
brightness Interactive LCD brightness test.
hotkey Hotkey scan code tests.
lid Interactive lid button test.
power_button Interactive power_button button test.
Batch Experimental tests:
cstates Check processor C state support.
dmar Check sane DMA Remapping (VT-d).
Power States tests:
s3 S3 suspend/resume test.
s4 S4 hibernate/resume test.
Utilities:
acpidump Check ACPI table acpidump.
cmosdump Dump CMOS Memory.
e820dump Dump INT 15 E820 memmap.
romdump Dump ROM data.
So.. please start testing and give me feedback! :-) Please note that
this fwts development PPA is subject to some frequent change and there
is always a possibility of unstable code landing in it.
Thanks,
Colin