Firmware Test Suite Features and Improvements for 13.04

Registered by Chris Van Hoof on 2012-09-20

The FWTS Development Team's plans for Ubuntu 13.04

12.10 Blueprint: https://blueprints.launchpad.net/ubuntu/+spec/hardware-q-fwts-improvements

Blueprint information

Status:
Not started
Approver:
Chris Van Hoof
Priority:
High
Drafter:
Canonical Hardware Enablement Team
Direction:
Needs approval
Assignee:
Canonical Hardware Enablement Team
Definition:
Drafting
Series goal:
Accepted for raring
Implementation:
Unknown
Milestone target:
milestone icon ubuntu-13.04-feature-freeze

Related branches

Sprints

Whiteboard

= Initial Ideas =
== vanhoof ==
 * Ensure we expand testing coverage of UEFI
  * Abuse of setting variables beyond capacity
  * See if we can cause non-volatile memory fragmentation bugs with many random var create/deletes.
 * Further refine efi_runtime
 * Integrate UEFI specific tests within their own category within fwts-live or have a UEFI only build
 * Discuss fwts-live and SecureBoot

 * Odds and ends from last cycle:
  * Look into writing a fwts json diff tool
  * Further definition/scope of UEFI tests prior to more core fwts backend changes (tbd)
  * Chat with cjwatson on the potential for actually landing fwts-frontend on the install cd (udeb already built)
  * Do more cr/lf validation of results logs
  * Have a chat with Dave Murphy on results.html and CSS
  * Look at re-enabling the network stack in fwts-live for submission to LP
  * Chat with Ara/Marc on integration into UF
  * Ensure the kernel does not utilize BIOS reserved memory for trusted execution technology
=== Cert Issues ===
  * Kick off a discussion with Brendan (or delegate) on how we can better classify failures for enablement versus certification testing.
  See cking's proposed solution: https://lists.launchpad.net/firmware-testing-team/msg00102.html

== cking ==
  * figure out a way to ensure klog test is in-sync with latest kernel warning/error messages
  * WMI checks against the various machines the kernel supports
  * How about figuring out the WMI MOF blobs?
  * Add PCC checks? https://bugs.launchpad.net/ubuntu/+source/fwts/+bug/863175
  * Is the development process (2 Ack's + Keng-Yu doing the packaging) working OK for everone? (it's working well for cking +1)

== alexhung ==
 * OEM-specific (hotkey) features
    .. what about validating features in drivers such as thinkpad-acpi?
  * Automate bios-interface test (acpi or wmi)
  * Self-automate tests (wait for users to press hotkey)
  * kernel module for hotkey features

== kengyu ==
  * Pushing to other distros (Our close upstream distro Debian can be looked at first)
    - fwts is released as a tarball rather than debs since last dev cycle. This eases the packing pain for other distros.
    - Intel propietary licence for ACPICA core should be reviewed.

  * Polish the maintainer's dev scripts
    - As the source format 3.0(quilt) is used, the current release procedure is to
      - update the debian changelog, make a git tag, push to the public git repo, mktar.sh to generate the tarball and checksum, upload to fwts.ubuntu.com, mkpackage.sh to generate the debian source package. Then we can build.
      - it is good to have a script for locally making the source pacakge locally.
      - Any improvement to the release procedure?

  * -rc release
    - We have the -rc release for looking at the fwts-test failures, is this working well?

Look at ACPI 5.0 features such as UartTSerialBus, I2cSerialBus,
+SpiSerialBus, GpioIo and GpioInt, see: https://lkml.org/lkml/2012/12/7/84

(?)

Work Items

Work items:
[ivan.hu] Expand test coverage for runtime services: DONE
[ivan.hu] Expand test coverage for runtime services through standard kernel interfaces: TODO
[ivan.hu] Add the UEFI secureboot cetification tests: DONE
[ivan.hu] Ensure we're restoring variable: TODO
[ivan.hu] Implement interaction tests for the above: TODO
[vanhoof] json klog diff tool (low priority): TODO
[lexical] chat with cjwatson about FWTS inclusion in cdimages: TODO
[lexical] find out why vanhoof wants a network stack: TODO
[brendan-donegan] talk to vanhoof about UF integration: TODO
[ivan.hu] dig up details about TXT reserved region bug: TODO
[vanhoof] what does certification mean, with regards to potential FWTS warnings?: TODO
[colin-king] https://lkml.org/lkml/2012/12/7/84 - ACPI 5.0 resources: DONE
[colin-king] figure out a way to ensure klog test is in-sync with latest kernel warning/error messages: DONE
[colin-king] sync-up kernel printk messages with klog data (3.7rc4): DONE
[colin-king] sync-up kernel printk messages with klog data (precise, quantal): DONE
[colin-king] sync-up kernel ACPI_EXCEPTION() messages in klog data: DONE
[colin-king] sync-up kernel ACPI_BIOS_ERROR() messages in klog data: DONE
[colin-king] sync-up kernel ACPI_ERROR() messages in klog data (done as much as I deem worthwhile for raring): DONE
[colin-king] add ACPI_ERROR_METHOD checking to kernelscan.c and sync-up kernel ACPI_ERROR_METHOD() messages in klog data: DONE
[colin-king] look at filtering test results for cert: DONE
[colin-king] to investigate how the WMI MOF work (low priority) (figured out the steps required, requires a lot of reverse enginnering effort) : POSTPONED
[colin-king] implement the PCC check, discuss internally with our firmware engineers (low priority): DONE
[colin-king] check out tests to see if they make sense on non-x86 platforms: DONE
[alexhung] explore to test the oem-specific platform/x86 drivers, and if we can automate the test: INPROGRESS
[colin-king] discuss with Legal Services about the Intel license (especially the export clause).: DONE
[colin-king] investigate any dodgy strncpy() calls: DONE
[colin-king] check for kernel stack dumps, such as slowpath warnings: DONE
[colin-king] add smatch checking to find bugs in fwts: DONE
[colin-king] add _CRS dumping utility: DONE
[colin-king] rework WMI test to output more readable WDG blobs: DONE
[colin-king] ensure syntaxcheck test error codes are always in-sync with ACPICA: DONE
[lexical] to explore to improve the -dev scripts.: TODO

Dependency tree

* Blueprints in grey have been implemented.