← Back to team overview

firmware-testing-team team mailing list archive

Firmware Test Suite (Development Version) V0.19.26 - new tests!

 

Hi one and all,

I've just pushed out V0.19.26 in the fwts development PPA
(https://launchpad.net/~firmware-testing-team/+archive/ppa-firmware-test-suite-dev)
and it includes a major milestone - semantic testing of ACPI AML
methods.

The new code includes an ACPI execution engine that now tests nearly 70
ACPI methods found in the DSDT table.  Each method instance is executed
(where possible with different sets of inputs) and fwts checks to see if
methods return the correct return types (integers, packages, buffers,
etc).  This should catch bugs in poorly implemented AML byte code.

It is important to point out that the tests do not test complete run
time behaviour, as we do not have the luxury of being able to fully test
interactions between the AML byte code and real hardware (e.g. I/O
ports, embedded controller, doing SMIs into the BIOS) etc.  

However, because we can instrument the ACPI execution engine, we can do
some extra level of testing.  In this first version, I have added
semaphore checking, to keep track of mutex acquires and releases to
ensure ACPI methods are locking and unlocking protected resources
correctly.

To get this goodness, use the development PPA of fwts and run with:

sudo fwts method 


Alternatively, one can load in the ACPI tables dumped from another
machine (dumped out using sudo fwts --dump) with the following:

fwts --dumpfile=acpidump.log method 


This new method test also does some quick sanity checks on all Method
+Object names to see if they conform to the ACPI specification.

For completeness sake, the following Methods/Objects are being sanity
checked:

_ALC Ambient Light Colour Chromaticity.
_ALI Ambient Light Illuminance.
_ALT Ambient Light Temperature.
_ALP Ambient Light Polling. 
_LID Lid Status Method.
_STP Set Expired Timer Wake Policy Method.
_STV Set Timer Value Method.
_TIP Expired Timer Wake Policy Method.
_TIV Timer Values Method.
_SBS Smart Battery Subsystem Method.
_BIF Battery Information Method.
_BIX Battery Information Extended Method.
_BMA Battery Measurement Averaging Method.
_BMS Battery Measurement Sampling Time Method.
_BST Battery Status Method.
_BTP Battery Trip Point Method.
_PCL Power Consumer List Method.
_BTM Battery Time Method.
_BMD Battery Maintenance Data Method.
_BMC Battery Maintenance Control Method.
_PSR Power Source Method.
_PIF Power Source Information Object.
_FIF Fan Information Method.
_FSL Fan Set Level Method.
_FST Fan Status Method.
_ACx Active Cooling.
_CRT Critical Trip Point Method.
_DTI Device Temperature Indication.
_HOT Hot Temperature Method.
_NTT Notification Temp Threshold Method.
_PSV Passive Temp Method.
_RTV Relative Temp Values Method.
_SCP Set Cooling Policy Method.
_TMP Thermal Zone Current Temp Method.
_TC1 Thermal Constant 1 Object.
_TC2 Thermal Constant 2 Object.
_TPT Trip Point Temperature Method.
_TSP Thermal Sampling Period Object.
_TST Temperature Sensor Threshold Object.
_TZP Thermal Zone Polling Object.
_DCK Dock Method.
_BDN BIOS Dock Name Method.
_BBN Base Bus Number Method.
_BFS Back from Sleep Method.
_PTS Prepare to Sleep Method.
_GTS Going to Sleep Method.
_TTS Transition to State Method.
_S0  System S0 State Object.
_S1  System S1 State Object.
_S2  System S2 State Object.
_S3  System S3 State Object.
_S4  System S4 State Object.
_S5  System S5 State Object.
_WAK System Wake Method.
_DOS Enable/Disable Output Switching Method.
_DOD Enumerate All Devices Attached to Display Adapter Method.
_ROM Get ROM Data Object.
_GPD Get POST Device Method.
_SPD Set POST Device Method.
_VPO Video POST Options Method.
_ADR Return Unique ID for Device Method.
_BCL Query List of Brightness Control Levels Supported Method.
_BCM Set Brightness Level Method.
_BQC Brightness Query Current Level Method.
_DDC Return the EDID for this Device Method.
_DCS Return the Status of Output Device Method.
_DGS Query Graphics State Method.
_DSS Device Set State Method.

Please try this out and keep me informed if any issues you see or
improvements you require.

Colin