<html><body><p>Hi Colin,<br><br>The static log files (which are the two sources which are deleted below) are already a maintenance item which must be updated with each new test which is added.<br><br>The burden is only moved from updating the 2 static log files which are then compared to the real output from the show and show all command.<br><br>Maybe I am not following the reply, can you elaborate ?<br><br>This patch allows the conditional compilation of what goes in the two log files below.<br><br><br>>  delete mode 100644 fwts-test/arg-show-tests-0001/arg-show-tests-0001.log<br>>  delete mode 100644 fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log<br>=====================================<br>Deb McLemore<br>IBM OpenPower - IBM Systems<br>(512) 286 9980<br><br>debmc@us.ibm.com<br>debmc@linux.vnet.ibm.com - (plain text)<br>=====================================<br><br><img width="16" height="16" src="cid:4__=09BBF574DFF8C9438f9e8a93df938690918c09B@" border="0" alt="Inactive hide details for Colin Ian King ---07/05/2016 02:16:40 PM---On 05/07/16 20:05, Deb McLemore wrote: > We added the capa"><font color="#424282">Colin Ian King ---07/05/2016 02:16:40 PM---On 05/07/16 20:05, Deb McLemore wrote: > We added the capability to dynamically create (based on tes</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">Colin Ian King <colin.king@canonical.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">Deb McLemore <debmc@linux.vnet.ibm.com>, fwts-devel@lists.ubuntu.com</font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">07/05/2016 02:16 PM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">Re: [PATCH] show/show_logs: Add dynamic creation of fwts-test logs</font><br><font size="2" color="#5F5F5F">Sent by:        </font><font size="2">fwts-devel-bounces@lists.ubuntu.com</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><tt>On 05/07/16 20:05, Deb McLemore wrote:<br>> We added the capability to dynamically create (based on test)<br>> the content of the log files used to validate the show commands.<br>> This allows customization of the Makefile.am to optionally<br>> include objects to be linked.<br>> <br>> Signed-off-by: Deb McLemore <debmc@linux.vnet.ibm.com><br>> ---<br>>  configure.ac                                       |    2 +<br>>  .../arg-show-tests-0001/arg-show-tests-0001.log    |  187 ---<br>>  fwts-test/arg-show-tests-0001/test-0001.sh         |   20 +-<br>>  fwts-test/arg-show-tests-0001/test-0002.sh         |   26 +-<br>>  .../arg-show-tests-full-0001.log                   |  930 ------------<br>>  fwts-test/arg-show-tests-full-0001/test-0001.sh    |   19 +-<br>>  src/Makefile.am                                    |    1 +<br>>  src/show/show_logs.c                               | 1480 ++++++++++++++++++++<br>>  8 files changed, 1519 insertions(+), 1146 deletions(-)<br>>  delete mode 100644 fwts-test/arg-show-tests-0001/arg-show-tests-0001.log<br>>  delete mode 100644 fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log<br>>  create mode 100644 src/show/show_logs.c<br>> <br>> diff --git a/configure.ac b/configure.ac<br>> index e3e7512..0f15540 100644<br>> --- a/configure.ac<br>> +++ b/configure.ac<br>> @@ -71,6 +71,8 @@<br>>                     ])<br>>                     AM_CONDITIONAL([HAVE_LIBFDT],<br>>                                      [test "x$ac_cv_search_fdt_check_header" != "xno"])<br>> +                   fwts_srcdir=`readlink -f $srcdir`<br>> +                   AC_DEFINE_UNQUOTED([FWTS_SRCDIR],["$fwts_srcdir"], [FWTS absolute src path])<br>>                     AC_FUNC_MALLOC<br>>                     AC_FUNC_FORK<br>>                     AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK<br>> diff --git a/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log b/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log<br>> deleted file mode 100644<br>> index 1a76b9d..0000000<br>> --- a/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log<br>> +++ /dev/null<br>> @@ -1,187 +0,0 @@<br>> -ACPI tests:<br>> - acpiinfo        General ACPI information test.<br>> - acpitables      ACPI table headers sanity tests.<br>> - apicinstance    Test for single instance of APIC/MADT table.<br>> - asf             ASF! Alert Standard Format Table test.<br>> - aspt            ASPT Table test.<br>> - bert            BERT Boot Error Record Table test.<br>> - bgrt            BGRT Boot Graphics Resource Table test.<br>> - boot            BOOT Table test.<br>> - checksum        ACPI table checksum test.<br>> - cpep            CPEP Corrected Platform Error Polling Table test.<br>> - csrt            CSRT Core System Resource Table test.<br>> - cstates         Processor C state support test.<br>> - dbg2            DBG2 (Debug Port Table 2) test.<br>> - dbgp            DBGP (Debug Port) Table test.<br>> - dmar            DMA Remapping (VT-d) test.<br>> - ecdt            ECDT Embedded Controller Boot Resources Table test.<br>> - einj            EINJ Error Injection Table test.<br>> - erst            ERST Error Record Serialization Table test.<br>> - facs            FACS Firmware ACPI Control Structure test.<br>> - fadt            FADT Fixed ACPI Description Table tests.<br>> - fpdt            FPDT Firmware Performance Data Table test.<br>> - gtdt            GTDT Generic Timer Description Table test.<br>> - hest            HEST Hardware Error Source Table test.<br>> - hpet            HPET IA-PC High Precision Event Timer Table tests.<br>> - iort            IORT IO Remapping Table test.<br>> - lpit            LPIT Low Power Idle Table test.<br>> - madt            MADT Multiple APIC Description Table (spec compliant).<br>> - mcfg            MCFG PCI Express* memory mapped config space test.<br>> - mchi            MCHI Management Controller Host Interface Table test.<br>> - method          ACPI DSDT Method Semantic tests.<br>> - msct            MSCT Maximum System Characteristics Table test.<br>> - msdm            MSDM Microsoft Data Management Table test.<br>> - pcc             Processor Clocking Control (PCC) test.<br>> - rsdp            RSDP Root System Description Pointer test.<br>> - rsdt            RSDT Root System Description Table test.<br>> - sbst            SBST Smart Battery Specification Table test.<br>> - slic            SLIC Software Licensing Description Table test.<br>> - slit            SLIT System Locality Distance Information test.<br>> - spcr            SPCR Serial Port Console Redirection Table test.<br>> - spmi            SPMI Service Processor Management Interface Description Table test.<br>> - srat            SRAT System Resource Affinity Table test.<br>> - stao            STAO Status Override Table test.<br>> - tcpa            TCPA Trusted Computing Platform Alliance Capabilities Table test.<br>> - tpm2            TPM2 Trusted Platform Module 2 test.<br>> - uefi            UEFI Data Table test.<br>> - waet            WAET Windows ACPI Emulated Devices Table test.<br>> - wdat            WDAT Microsoft Hardware Watchdog Action Table test.<br>> - wmi             Extract and analyse Windows Management Instrumentation (WMI).<br>> - xenv            XENV Xen Environment Table tests.<br>> - xsdt            XSDT Extended System Description Table test.<br>> -<br>> -Batch tests:<br>> - acpiinfo        General ACPI information test.<br>> - acpitables      ACPI table headers sanity tests.<br>> - apicedge        APIC edge/level test.<br>> - apicinstance    Test for single instance of APIC/MADT table.<br>> - asf             ASF! Alert Standard Format Table test.<br>> - aspm            PCIe ASPM test.<br>> - aspt            ASPT Table test.<br>> - autobrightness  Automated LCD brightness test.<br>> - bert            BERT Boot Error Record Table test.<br>> - bgrt            BGRT Boot Graphics Resource Table test.<br>> - bios32          BIOS32 Service Directory test.<br>> - bios_info       Gather BIOS DMI information.<br>> - bmc_info        BMC Info<br>> - boot            BOOT Table test.<br>> - checksum        ACPI table checksum test.<br>> - cpep            CPEP Corrected Platform Error Polling Table test.<br>> - cpufreq         CPU frequency scaling tests.<br>> - crs             Test PCI host bridge configuration using _CRS.<br>> - csm             UEFI Compatibility Support Module test.<br>> - csrt            CSRT Core System Resource Table test.<br>> - cstates         Processor C state support test.<br>> - dbg2            DBG2 (Debug Port Table 2) test.<br>> - dbgp            DBGP (Debug Port) Table test.<br>> - dmar            DMA Remapping (VT-d) test.<br>> - dmicheck        DMI/SMBIOS table tests.<br>> - dt_base         Base device tree validity check<br>> - dt_sysinfo      Device tree system information test<br>> - ebda            Test EBDA region is mapped and reserved in memory map table.<br>> - ecdt            ECDT Embedded Controller Boot Resources Table test.<br>> - einj            EINJ Error Injection Table test.<br>> - erst            ERST Error Record Serialization Table test.<br>> - facs            FACS Firmware ACPI Control Structure test.<br>> - fadt            FADT Fixed ACPI Description Table tests.<br>> - fan             Simple fan tests.<br>> - fpdt            FPDT Firmware Performance Data Table test.<br>> - gtdt            GTDT Generic Timer Description Table test.<br>> - hda_audio       HDA Audio Pin Configuration test.<br>> - hest            HEST Hardware Error Source Table test.<br>> - hpet            HPET IA-PC High Precision Event Timer Table tests.<br>> - iort            IORT IO Remapping Table test.<br>> - klog            Scan kernel log for errors and warnings.<br>> - lpit            LPIT Low Power Idle Table test.<br>> - madt            MADT Multiple APIC Description Table (spec compliant).<br>> - maxfreq         Test max CPU frequencies against max scaling frequency.<br>> - maxreadreq      Test firmware has set PCI Express MaxReadReq to a higher value on non-motherboard devices.<br>> - mcfg            MCFG PCI Express* memory mapped config space test.<br>> - mchi            MCHI Management Controller Host Interface Table test.<br>> - method          ACPI DSDT Method Semantic tests.<br>> - microcode       Test if system is using latest microcode.<br>> - mpcheck         MultiProcessor Tables tests.<br>> - msct            MSCT Maximum System Characteristics Table test.<br>> - msdm            MSDM Microsoft Data Management Table test.<br>> - msr             MSR register tests.<br>> - mtrr            MTRR tests.<br>> - nx              Test if CPU NX is disabled by the BIOS.<br>> - olog            Run OLOG scan and analysis checks.<br>> - oops            Scan kernel log for Oopses.<br>> - osilinux        Disassemble DSDT to check for _OSI("Linux").<br>> - pcc             Processor Clocking Control (PCC) test.<br>> - pciirq          PCI IRQ Routing Table test.<br>> - pnp             BIOS Support Installation structure test.<br>> - prd_info        OPAL Processor Recovery Diagnostics Info<br>> - rsdp            RSDP Root System Description Pointer test.<br>> - rsdt            RSDT Root System Description Table test.<br>> - sbst            SBST Smart Battery Specification Table test.<br>> - securebootcert  UEFI secure boot test.<br>> - slic            SLIC Software Licensing Description Table test.<br>> - slit            SLIT System Locality Distance Information test.<br>> - spcr            SPCR Serial Port Console Redirection Table test.<br>> - spmi            SPMI Service Processor Management Interface Description Table test.<br>> - srat            SRAT System Resource Affinity Table test.<br>> - stao            STAO Status Override Table test.<br>> - syntaxcheck     Re-assemble DSDT and SSDTs to find syntax errors and warnings.<br>> - tcpa            TCPA Trusted Computing Platform Alliance Capabilities Table test.<br>> - tpm2            TPM2 Trusted Platform Module 2 test.<br>> - uefi            UEFI Data Table test.<br>> - uefibootpath    Sanity check for UEFI Boot Path Boot####.<br>> - version         Gather kernel system information.<br>> - virt            CPU Virtualisation Configuration test.<br>> - waet            WAET Windows ACPI Emulated Devices Table test.<br>> - wakealarm       ACPI Wakealarm tests.<br>> - wdat            WDAT Microsoft Hardware Watchdog Action Table test.<br>> - wmi             Extract and analyse Windows Management Instrumentation (WMI).<br>> - xenv            XENV Xen Environment Table tests.<br>> - xsdt            XSDT Extended System Description Table test.<br>> -<br>> -Interactive tests:<br>> - ac_adapter      Interactive ac_adapter power test.<br>> - battery         Battery tests.<br>> - brightness      Interactive LCD brightness test.<br>> - hotkey          Hotkey scan code tests.<br>> - lid             Interactive lid button test.<br>> - power_button    Interactive power_button button test.<br>> -<br>> -Power States tests:<br>> - s3              S3 suspend/resume test.<br>> - s3power         S3 power loss during suspend test (takes minimum of 10 minutes to run).<br>> - s4              S4 hibernate/resume test.<br>> -<br>> -Utilities:<br>> - acpidump        Dump ACPI tables.<br>> - cmosdump        Dump CMOS Memory.<br>> - crsdump         Dump ACPI _CRS resources.<br>> - ebdadump        Dump EBDA region.<br>> - esrtdump        Dump ESRT table.<br>> - gpedump         Dump GPEs.<br>> - memmapdump      Dump system memory map.<br>> - mpdump          Dump MultiProcessor Data.<br>> - plddump         Dump ACPI _PLD (Physical Device Location).<br>> - prsdump         Dump ACPI _PRS resources.<br>> - romdump         Dump ROM data.<br>> - uefidump        Dump UEFI variables.<br>> - uefivarinfo     UEFI variable info query.<br>> -<br>> -Unsafe tests:<br>> - uefirtauthvar   Authenticated variable tests.<br>> - uefirtmisc      UEFI miscellaneous runtime service interface tests.<br>> - uefirttime      UEFI Runtime service time interface tests.<br>> - uefirtvariable  UEFI Runtime service variable interface tests.<br>> -<br>> -UEFI tests:<br>> - csm             UEFI Compatibility Support Module test.<br>> - esrt            Sanity check UEFI ESRT Table.<br>> - securebootcert  UEFI secure boot test.<br>> - uefibootpath    Sanity check for UEFI Boot Path Boot####.<br>> - uefirtauthvar   Authenticated variable tests.<br>> - uefirtmisc      UEFI miscellaneous runtime service interface tests.<br>> - uefirttime      UEFI Runtime service time interface tests.<br>> - uefirtvariable  UEFI Runtime service variable interface tests.<br>> -<br>> -ACPI Spec Compliance tests:<br>> - fadt            FADT Fixed ACPI Description Table tests.<br>> - madt            MADT Multiple APIC Description Table (spec compliant).<br>> - rsdp            RSDP Root System Description Pointer test.<br>> diff --git a/fwts-test/arg-show-tests-0001/test-0001.sh b/fwts-test/arg-show-tests-0001/test-0001.sh<br>> index a62071c..ade98a3 100755<br>> --- a/fwts-test/arg-show-tests-0001/test-0001.sh<br>> +++ b/fwts-test/arg-show-tests-0001/test-0001.sh<br>> @@ -3,23 +3,21 @@<br>>  TEST="Test -s option"<br>>  NAME=test-0001.sh<br>>  TMPLOG=$TMP/arg-show-tests.log.$$<br>> +export FWTS_SHOW_LOGS="BASE"<br>>  <br>> -#<br>> -#  Non-x86 tests don't have WMI so skip this test<br>> -#<br>> -$FWTS --show-tests | grep wmi > /dev/null<br>> -if [ $? -eq 1 ]; then<br>> +# Dynamically create the log template per test<br>> +$FWTS show_logs &> /dev/null<br>> +if [ $? -ne 0 ]; then<br>>                   echo SKIP: $TEST, $NAME<br>>                   exit 77<br>>  fi<br>>  <br>> -cols=$(stty -a | tr ';' '\n' | grep "columns" | cut -d' ' -f3) 2> /dev/null<br>>  #<br>>  #  If we can't set the tty then we can't test<br>>  #<br>> -stty cols 80 2> /dev/null<br>> -if [ $? -eq 1 ]; then<br>> -        tset 2> /dev/null<br>> +stty cols 80 &> /dev/null<br>> +if [ $? -ne 0 ]; then<br>> +        tset &> /dev/null<br>>          echo SKIP: $TEST, $NAME<br>>          exit 77<br>>  fi<br>> @@ -32,8 +30,8 @@ else<br>>                   echo FAILED: $TEST, $NAME<br>>  fi<br>>  <br>> -stty cols 80 2> /dev/null<br>> -tset 2> /dev/null<br>> +stty cols 80 &> /dev/null<br>> +tset &> /dev/null<br>>  <br>>  rm $TMPLOG<br>>  exit $ret<br>> diff --git a/fwts-test/arg-show-tests-0001/test-0002.sh b/fwts-test/arg-show-tests-0001/test-0002.sh<br>> index f92fd8f..078f3e7 100755<br>> --- a/fwts-test/arg-show-tests-0001/test-0002.sh<br>> +++ b/fwts-test/arg-show-tests-0001/test-0002.sh<br>> @@ -3,27 +3,25 @@<br>>  TEST="Test --show-tests option"<br>>  NAME=test-0002.sh<br>>  TMPLOG=$TMP/arg-show-tests.log.$$<br>> +export FWTS_SHOW_LOGS="BASE"<br>>  <br>> -#<br>> -#  Non-x86 tests don't have WMI so skip this test<br>> -#<br>> -$FWTS --show-tests | grep wmi > /dev/null<br>> -if [ $? -eq 1 ]; then<br>> +# Dynamically create the log template per test<br>> +$FWTS show_logs &> /dev/null<br>> +if [ $? -ne 0 ]; then<br>>                   echo SKIP: $TEST, $NAME<br>>                   exit 77<br>>  fi<br>>  <br>> -cols=$(stty -a | tr ';' '\n' | grep "columns" | cut -d' ' -f3) 2> /dev/null<br>>  #<br>>  #  If we can't set the tty then we can't test<br>>  #<br>> -stty cols 80 2> /dev/null<br>> -if [ $? -eq 1 ]; then<br>> -        tset 2> /dev/null<br>> -        echo SKIP: $TEST, $NAME<br>> -        exit 77<br>> +stty cols 80 &> /dev/null<br>> +if [ $? -ne 0 ]; then<br>> +                 tset &> /dev/null<br>> +                 echo SKIP: $TEST, $NAME<br>> +                 exit 77<br>>  fi<br>> -$FWTS -s > $TMPLOG<br>> +$FWTS --show-tests > $TMPLOG<br>>  diff $TMPLOG $FWTSTESTDIR/arg-show-tests-0001/arg-show-tests-0001.log >> $FAILURE_LOG<br>>  ret=$?<br>>  if [ $ret -eq 0 ]; then <br>> @@ -32,8 +30,8 @@ else<br>>                   echo FAILED: $TEST, $NAME<br>>  fi<br>>  <br>> -stty cols 80 2> /dev/null<br>> -tset 2> /dev/null<br>> +stty cols 80 &> /dev/null<br>> +tset &> /dev/null<br>>  <br>>  rm $TMPLOG<br>>  exit $ret<br>> diff --git a/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log b/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log<br>> deleted file mode 100644<br>> index 3eb5e3e..0000000<br>> --- a/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log<br>> +++ /dev/null<br>> @@ -1,930 +0,0 @@<br>> -ACPI tests:<br>> - acpiinfo        (3 tests):<br>> -  Determine Kernel ACPI version.<br>> -  Determine machine's ACPI version.<br>> -  Determine AML compiler.<br>> - acpitables      (1 test):<br>> -  Test ACPI headers.<br>> - apicinstance    (1 test):<br>> -  Test for single instance of APIC/MADT table.<br>> - asf             (1 test):<br>> -  ASF! Alert Standard Format Table test.<br>> - aspt            (1 test):<br>> -  ASPT Table test.<br>> - bert            (1 test):<br>> -  BERT Boot Error Record Table test.<br>> - bgrt            (1 test):<br>> -  BGRT Boot Graphics Resource Table test.<br>> - boot            (1 test):<br>> -  BOOT Table test.<br>> - checksum        (1 test):<br>> -  ACPI table checksum test.<br>> - cpep            (1 test):<br>> -  CPEP Corrected Platform Error Polling Table test.<br>> - csrt            (1 test):<br>> -  CSRT Core System Resource Table test.<br>> - cstates         (1 test):<br>> -  Test all CPUs C-states.<br>> - dbg2            (1 test):<br>> -  DBG2 (Debug Port Table 2) test.<br>> - dbgp            (1 test):<br>> -  DBGP (Debug Port) Table test.<br>> - dmar            (1 test):<br>> -  DMA Remapping test.<br>> - ecdt            (1 test):<br>> -  ECDT Embedded Controller Boot Resources Table test.<br>> - einj            (1 test):<br>> -  EINJ Error Injection Table test.<br>> - erst            (1 test):<br>> -  ERST Error Record Serialization Table test.<br>> - facs            (1 test):<br>> -  FACS Firmware ACPI Control Structure test.<br>> - fadt            (6 tests):<br>> -  ACPI FADT Description Table flag info.<br>> -  FADT checksum test.<br>> -  FADT revision test.<br>> -  ACPI FADT Description Table tests.<br>> -  Test FADT SCI_EN bit is enabled.<br>> -  Test FADT reset register.<br>> - fpdt            (1 test):<br>> -  FPDT Firmware Performance Data Table test.<br>> - gtdt            (1 test):<br>> -  GTDT Generic Timer Description Table test.<br>> - hest            (1 test):<br>> -  HEST Hardware Error Source Table test.<br>> - hpet            (4 tests):<br>> -  Test HPET base in kernel log.<br>> -  Test HPET base in HPET table.<br>> -  Test HPET base in DSDT and/or SSDT.<br>> -  Test HPET configuration.<br>> - iort            (1 test):<br>> -  IORT IO Remapping Table test.<br>> - lpit            (1 test):<br>> -  LPIT Low Power Idle Table test.<br>> - madt            (5 tests):<br>> -  MADT checksum test.<br>> -  MADT revision test.<br>> -  MADT architecture minimum revision test.<br>> -  MADT flags field reserved bits test.<br>> -  MADT subtable tests.<br>> - mcfg            (2 tests):<br>> -  Validate MCFG table.<br>> -  Validate MCFG PCI config space.<br>> - mchi            (1 test):<br>> -  MCHI Management Controller Host Interface Table test.<br>> - method          (191 tests):<br>> -  Test Method Names.<br>> -  Test _AEI.<br>> -  Test _EVT (Event Method).<br>> -  Test _DLM (Device Lock Mutex).<br>> -  Test _PIC (Inform AML of Interrupt Model).<br>> -  Test _CID (Compatible ID).<br>> -  Test _DDN (DOS Device Name).<br>> -  Test _HID (Hardware ID).<br>> -  Test _HRV (Hardware Revision Number).<br>> -  Test _MLS (Multiple Language String).<br>> -  Test _PLD (Physical Device Location).<br>> -  Test _SUB (Subsystem ID).<br>> -  Test _SUN (Slot User Number).<br>> -  Test _STR (String).<br>> -  Test _UID (Unique ID).<br>> -  Test _CDM (Clock Domain).<br>> -  Test _CRS (Current Resource Settings).<br>> -  Test _DSD (Device Specific Data).<br>> -  Test _DIS (Disable).<br>> -  Test _DMA (Direct Memory Access).<br>> -  Test _FIX (Fixed Register Resource Provider).<br>> -  Test _GSB (Global System Interrupt Base).<br>> -  Test _HPP (Hot Plug Parameters).<br>> -  Test _PRS (Possible Resource Settings).<br>> -  Test _PRT (PCI Routing Table).<br>> -  Test _PXM (Proximity).<br>> -  Test _CCA (Cache Coherency Attribute).<br>> -  Test _EDL (Eject Device List).<br>> -  Test _EJD (Ejection Dependent Device).<br>> -  Test _EJ0 (Eject).<br>> -  Test _EJ1 (Eject).<br>> -  Test _EJ2 (Eject).<br>> -  Test _EJ3 (Eject).<br>> -  Test _EJ4 (Eject).<br>> -  Test _LCK (Lock).<br>> -  Test _RMV (Remove).<br>> -  Test _STA (Status).<br>> -  Test _DEP (Operational Region Dependencies).<br>> -  Test _BDN (BIOS Dock Name).<br>> -  Test _BBN (Base Bus Number).<br>> -  Test _DCK (Dock).<br>> -  Test _INI (Initialize).<br>> -  Test _GLK (Global Lock).<br>> -  Test _SEG (Segment).<br>> -  Test _OFF (Set resource off).<br>> -  Test _ON_ (Set resource on).<br>> -  Test _DSW (Device Sleep Wake).<br>> -  Test _IRC (In Rush Current).<br>> -  Test _PRE (Power Resources for Enumeration).<br>> -  Test _PR0 (Power Resources for D0).<br>> -  Test _PR1 (Power Resources for D1).<br>> -  Test _PR2 (Power Resources for D2).<br>> -  Test _PR3 (Power Resources for D3).<br>> -  Test _PRW (Power Resources for Wake).<br>> -  Test _PS0 (Power State 0).<br>> -  Test _PS1 (Power State 1).<br>> -  Test _PS2 (Power State 2).<br>> -  Test _PS3 (Power State 3).<br>> -  Test _PSC (Power State Current).<br>> -  Test _PSE (Power State for Enumeration).<br>> -  Test _PSW (Power State Wake).<br>> -  Test _S1D (S1 Device State).<br>> -  Test _S2D (S2 Device State).<br>> -  Test _S3D (S3 Device State).<br>> -  Test _S4D (S4 Device State).<br>> -  Test _S0W (S0 Device Wake State).<br>> -  Test _S1W (S1 Device Wake State).<br>> -  Test _S2W (S2 Device Wake State).<br>> -  Test _S3W (S3 Device Wake State).<br>> -  Test _S4W (S4 Device Wake State).<br>> -  Test _RST (Device Reset).<br>> -  Test _PRR (Power Resource for Reset).<br>> -  Test _S0_ (S0 System State).<br>> -  Test _S1_ (S1 System State).<br>> -  Test _S2_ (S2 System State).<br>> -  Test _S3_ (S3 System State).<br>> -  Test _S4_ (S4 System State).<br>> -  Test _S5_ (S5 System State).<br>> -  Test _SWS (System Wake Source).<br>> -  Test _PSS (Performance Supported States).<br>> -  Test _CPC (Continuous Performance Control).<br>> -  Test _CSD (C State Dependencies).<br>> -  Test _CST (C States).<br>> -  Test _PCT (Performance Control).<br>> -  Test _PDL (P-State Depth Limit).<br>> -  Test _PPC (Performance Present Capabilities).<br>> -  Test _PPE (Polling for Platform Error).<br>> -  Test _PSD (Power State Dependencies).<br>> -  Test _PTC (Processor Throttling Control).<br>> -  Test _TDL (T-State Depth Limit).<br>> -  Test _TPC (Throttling Present Capabilities).<br>> -  Test _TSD (Throttling State Dependencies).<br>> -  Test _TSS (Throttling Supported States).<br>> -  Test _LPI (Low Power Idle States).<br>> -  Test _RDI (Resource Dependencies for Idle).<br>> -  Test _PUR (Processor Utilization Request).<br>> -  Test _MSG (Message).<br>> -  Test _SST (System Status).<br>> -  Test _ALC (Ambient Light Colour Chromaticity).<br>> -  Test _ALI (Ambient Light Illuminance).<br>> -  Test _ALT (Ambient Light Temperature).<br>> -  Test _ALP (Ambient Light Polling).<br>> -  Test _ALR (Ambient Light Response).<br>> -  Test _LID (Lid Status).<br>> -  Test _GTF (Get Task File).<br>> -  Test _GTM (Get Timing Mode).<br>> -  Test _MBM (Memory Bandwidth Monitoring Data).<br>> -  Test _UPC (USB Port Capabilities).<br>> -  Test _UPD (User Presence Detect).<br>> -  Test _UPP (User Presence Polling).<br>> -  Test _GCP (Get Capabilities).<br>> -  Test _GRT (Get Real Time).<br>> -  Test _GWS (Get Wake Status).<br>> -  Test _CWS (Clear Wake Status).<br>> -  Test _STP (Set Expired Timer Wake Policy).<br>> -  Test _STV (Set Timer Value).<br>> -  Test _TIP (Expired Timer Wake Policy).<br>> -  Test _TIV (Timer Values).<br>> -  Test _SBS (Smart Battery Subsystem).<br>> -  Test _BCT (Battery Charge Time).<br>> -  Test _BIF (Battery Information).<br>> -  Test _BIX (Battery Information Extended).<br>> -  Test _BMA (Battery Measurement Averaging).<br>> -  Test _BMC (Battery Maintenance Control).<br>> -  Test _BMD (Battery Maintenance Data).<br>> -  Test _BMS (Battery Measurement Sampling Time).<br>> -  Test _BST (Battery Status).<br>> -  Test _BTP (Battery Trip Point).<br>> -  Test _BTH (Battery Throttle Limit).<br>> -  Test _BTM (Battery Time).<br>> -  Test _PCL (Power Consumer List).<br>> -  Test _PIF (Power Source Information).<br>> -  Test _PRL (Power Source Redundancy List).<br>> -  Test _PSR (Power Source).<br>> -  Test _GAI (Get Averaging Level).<br>> -  Test _GHL (Get Harware Limit).<br>> -  Test _PMC (Power Meter Capabilities).<br>> -  Test _PMD (Power Meter Devices).<br>> -  Test _PMM (Power Meter Measurement).<br>> -  Test _WPC (Wireless Power Calibration).<br>> -  Test _WPP (Wireless Power Polling).<br>> -  Test _FIF (Fan Information).<br>> -  Test _FPS (Fan Performance States).<br>> -  Test _FSL (Fan Set Level).<br>> -  Test _FST (Fan Status).<br>> -  Test _ACx (Active Cooling).<br>> -  Test _ART (Active Cooling Relationship Table).<br>> -  Test _CRT (Critical Trip Point).<br>> -  Test _CR3 (Warm/Standby Temperature).<br>> -  Test _DTI (Device Temperature Indication).<br>> -  Test _HOT (Hot Temperature).<br>> -  Test _MTL (Minimum Throttle Limit).<br>> -  Test _NTT (Notification Temp Threshold).<br>> -  Test _PSL (Passive List).<br>> -  Test _PSV (Passive Temp).<br>> -  Test _RTV (Relative Temp Values).<br>> -  Test _SCP (Set Cooling Policy).<br>> -  Test _TC1 (Thermal Constant 1).<br>> -  Test _TC2 (Thermal Constant 2).<br>> -  Test _TFP (Thermal fast Sampling Period).<br>> -  Test _TMP (Thermal Zone Current Temp).<br>> -  Test _TPT (Trip Point Temperature).<br>> -  Test _TRT (Thermal Relationship Table).<br>> -  Test _TSN (Thermal Sensor Device).<br>> -  Test _TSP (Thermal Sampling Period).<br>> -  Test _TST (Temperature Sensor Threshold).<br>> -  Test _TZD (Thermal Zone Devices).<br>> -  Test _TZM (Thermal Zone member).<br>> -  Test _TZP (Thermal Zone Polling).<br>> -  Test _GPE (General Purpose Events).<br>> -  Test _EC_ (EC Offset Query).<br>> -  Test _PTS (Prepare to Sleep).<br>> -  Test _TTS (Transition to State).<br>> -  Test _WAK (System Wake).<br>> -  Test _ADR (Return Unique ID for Device).<br>> -  Test _BCL (Query List of Brightness Control Levels Supported).<br>> -  Test _BCM (Set Brightness Level).<br>> -  Test _BQC (Brightness Query Current Level).<br>> -  Test _DCS (Return the Status of Output Device).<br>> -  Test _DDC (Return the EDID for this Device).<br>> -  Test _DSS (Device Set State).<br>> -  Test _DGS (Query Graphics State).<br>> -  Test _DOD (Enumerate All Devices Attached to Display Adapter).<br>> -  Test _DOS (Enable/Disable Output Switching).<br>> -  Test _GPD (Get POST Device).<br>> -  Test _ROM (Get ROM Data).<br>> -  Test _SPD (Set POST Device).<br>> -  Test _VPO (Video POST Options).<br>> -  Test _CBA (Configuration Base Address).<br>> -  Test _IFT (IPMI Interface Type).<br>> -  Test _SRV (IPMI Interface Revision).<br>> - msct            (1 test):<br>> -  MSCT Maximum System Characteristics Table test.</tt><br><tt>> - msdm            (1 test):<br>> -  MSDM Microsoft Data Management Table test.<br>> - pcc             (1 test):<br>> -  Processor Clocking Control (PCC) test.<br>> - rsdp            (1 test):<br>> -  RSDP Root System Description Pointer test.<br>> - rsdt            (1 test):<br>> -  RSDT Root System Description Table test.<br>> - sbst            (1 test):<br>> -  SBST Smart Battery Specificiation Table test.<br>> - slic            (1 test):<br>> -  SLIC Software Licensing Description Table test.<br>> - slit            (1 test):<br>> -  SLIT System Locality Distance Information test.<br>> - spcr            (1 test):<br>> -  SPCR Serial Port Console Redirection Table test.<br>> - spmi            (1 test):<br>> -  SPMI Service Processor Management Interface Description Table test.<br>> - srat            (1 test):<br>> -  SRAT System Resource Affinity Table test.<br>> - stao            (1 test):<br>> -  STAO Status Override Table test.<br>> - tcpa            (1 test):<br>> -  Validate TCPA table.<br>> - tpm2            (1 test):<br>> -  Validate TPM2 table.<br>> - uefi            (1 test):<br>> -  UEFI Data Table test.<br>> - waet            (1 test):<br>> -  Windows ACPI Emulated Devices Table test.<br>> - wdat            (1 test):<br>> -  WDAT Microsoft Hardware Watchdog Action Table test.<br>> - wmi             (1 test):<br>> -  Windows Management Instrumentation test.<br>> - xenv            (1 test):<br>> -  Validate XENV table.<br>> - xsdt            (1 test):<br>> -  XSDT Extended System Description Table test.<br>> -<br>> -Batch tests:<br>> - acpiinfo        (3 tests):<br>> -  Determine Kernel ACPI version.<br>> -  Determine machine's ACPI version.<br>> -  Determine AML compiler.<br>> - acpitables      (1 test):<br>> -  Test ACPI headers.<br>> - apicedge        (1 test):<br>> -  Legacy and PCI Interrupt Edge/Level trigger tests.<br>> - apicinstance    (1 test):<br>> -  Test for single instance of APIC/MADT table.<br>> - asf             (1 test):<br>> -  ASF! Alert Standard Format Table test.<br>> - aspm            (2 tests):<br>> -  PCIe ASPM ACPI test.<br>> -  PCIe ASPM registers test.<br>> - aspt            (1 test):<br>> -  ASPT Table test.<br>> - autobrightness  (2 tests):<br>> -  Test for maximum and actual brightness.<br>> -  Change actual brightness.<br>> - bert            (1 test):<br>> -  BERT Boot Error Record Table test.<br>> - bgrt            (1 test):<br>> -  BGRT Boot Graphics Resource Table test.<br>> - bios32          (1 test):<br>> -  BIOS32 Service Directory test.<br>> - bios_info       (1 test):<br>> -  Gather BIOS DMI information<br>> - bmc_info        (1 test):<br>> -  BMC Info<br>> - boot            (1 test):<br>> -  BOOT Table test.<br>> - checksum        (1 test):<br>> -  ACPI table checksum test.<br>> - cpep            (1 test):<br>> -  CPEP Corrected Platfor
m Error Polling Table test.<br>> - cpufreq         (7 tests):<br>> -  CPU frequency table consistency<br>> -  CPU frequency table duplicates<br>> -  CPU frequency firmware limits<br>> -  CPU frequency claimed maximum<br>> -  CPU frequency SW_ANY control<br>> -  CPU frequency SW_ALL control<br>> -  CPU frequency performance tests.<br>> - crs             (1 test):<br>> -  Test PCI host bridge configuration using _CRS.<br>> - csm             (1 test):<br>> -  UEFI Compatibility Support Module test.<br>> - csrt            (1 test):<br>> -  CSRT Core System Resource Table test.<br>> - cstates         (1 test):<br>> -  Test all CPUs C-states.<br>> - dbg2            (1 test):<br>> -  DBG2 (Debug Port Table 2) test.<br>> - dbgp            (1 test):<br>> -  DBGP (Debug Port) Table test.<br>> - dmar            (1 test):<br>> -  DMA Remapping test.<br>> - dmicheck        (3 tests):<br>> -  Find and test SMBIOS Table Entry Points.<br>> -  Test DMI/SMBIOS tables for errors.<br>> -  Test DMI/SMBIOS3 tables for errors.<br>> - dt_base         (3 tests):<br>> -  Check device tree presence<br>> -  Check device tree baseline validity<br>> -  Check device tree warnings<br>> - dt_sysinfo      (3 tests):<br>> -  Check model property<br>> -  Check system-id property<br>> -  Check OpenPOWER Reference compatible<br>> - ebda            (1 test):<br>> -  Test EBDA is reserved in E820 table.<br>> - ecdt            (1 test):<br>> -  ECDT Embedded Controller Boot Resources Table test.<br>> - einj            (1 test):<br>> -  EINJ Error Injection Table test.<br>> - erst            (1 test):<br>> -  ERST Error Record Serialization Table test.<br>> - facs            (1 test):<br>> -  FACS Firmware ACPI Control Structure test.<br>> - fadt            (6 tests):<br>> -  ACPI FADT Description Table flag info.<br>> -  FADT checksum test.<br>> -  FADT revision test.<br>> -  ACPI FADT Description Table tests.<br>> -  Test FADT SCI_EN bit is enabled.<br>> -  Test FADT reset register.<br>> - fan             (2 tests):<br>> -  Test fan status.<br>> -  Load system, check CPU fan status.<br>> - fpdt            (1 test):<br>> -  FPDT Firmware Performance Data Table test.<br>> - gtdt            (1 test):<br>> -  GTDT Generic Timer Description Table test.<br>> - hda_audio       (1 test):<br>> -  HDA Audio Pin Configuration test.<br>> - hest            (1 test):<br>> -  HEST Hardware Error Source Table test.<br>> - hpet            (4 tests):<br>> -  Test HPET base in kernel log.<br>> -  Test HPET base in HPET table.<br>> -  Test HPET base in DSDT and/or SSDT.<br>> -  Test HPET configuration.<br>> - iort            (1 test):<br>> -  IORT IO Remapping Table test.<br>> - klog            (1 test):<br>> -  Kernel log error check.<br>> - lpit            (1 test):<br>> -  LPIT Low Power Idle Table test.<br>> - madt            (5 tests):<br>> -  MADT checksum test.<br>> -  MADT revision test.<br>> -  MADT architecture minimum revision test.<br>> -  MADT flags field reserved bits test.<br>> -  MADT subtable tests.<br>> - maxfreq         (1 test):<br>> -  Maximum CPU frequency test.<br>> - maxreadreq      (1 test):<br>> -  Test firmware settings MaxReadReq for PCI Express devices.<br>> - mcfg            (2 tests):<br>> -  Validate MCFG table.<br>> -  Validate MCFG PCI config space.<br>> - mchi            (1 test):<br>> -  MCHI Management Controller Host Interface Table test.<br>> - method          (191 tests):<br>> -  Test Method Names.<br>> -  Test _AEI.<br>> -  Test _EVT (Event Method).<br>> -  Test _DLM (Device Lock Mutex).<br>> -  Test _PIC (Inform AML of Interrupt Model).<br>> -  Test _CID (Compatible ID).<br>> -  Test _DDN (DOS Device Name).<br>> -  Test _HID (Hardware ID).<br>> -  Test _HRV (Hardware Revision Number).<br>> -  Test _MLS (Multiple Language String).<br>> -  Test _PLD (Physical Device Location).<br>> -  Test _SUB (Subsystem ID).<br>> -  Test _SUN (Slot User Number).<br>> -  Test _STR (String).<br>> -  Test _UID (Unique ID).<br>> -  Test _CDM (Clock Domain).<br>> -  Test _CRS (Current Resource Settings).<br>> -  Test _DSD (Device Specific Data).<br>> -  Test _DIS (Disable).<br>> -  Test _DMA (Direct Memory Access).<br>> -  Test _FIX (Fixed Register Resource Provider).<br>> -  Test _GSB (Global System Interrupt Base).<br>> -  Test _HPP (Hot Plug Parameters).<br>> -  Test _PRS (Possible Resource Settings).<br>> -  Test _PRT (PCI Routing Table).<br>> -  Test _PXM (Proximity).<br>> -  Test _CCA (Cache Coherency Attribute).<br>> -  Test _EDL (Eject Device List).<br>> -  Test _EJD (Ejection Dependent Device).<br>> -  Test _EJ0 (Eject).<br>> -  Test _EJ1 (Eject).<br>> -  Test _EJ2 (Eject).<br>> -  Test _EJ3 (Eject).<br>> -  Test _EJ4 (Eject).<br>> -  Test _LCK (Lock).<br>> -  Test _RMV (Remove).<br>> -  Test _STA (Status).<br>> -  Test _DEP (Operational Region Dependencies).<br>> -  Test _BDN (BIOS Dock Name).<br>> -  Test _BBN (Base Bus Number).<br>> -  Test _DCK (Dock).<br>> -  Test _INI (Initialize).<br>> -  Test _GLK (Global Lock).<br>> -  Test _SEG (Segment).<br>> -  Test _OFF (Set resource off).<br>> -  Test _ON_ (Set resource on).<br>> -  Test _DSW (Device Sleep Wake).<br>> -  Test _IRC (In Rush Current).<br>> -  Test _PRE (Power Resources for Enumeration).<br>> -  Test _PR0 (Power Resources for D0).<br>> -  Test _PR1 (Power Resources for D1).<br>> -  Test _PR2 (Power Resources for D2).<br>> -  Test _PR3 (Power Resources for D3).<br>> -  Test _PRW (Power Resources for Wake).<br>> -  Test _PS0 (Power State 0).<br>> -  Test _PS1 (Power State 1).<br>> -  Test _PS2 (Power State 2).<br>> -  Test _PS3 (Power State 3).<br>> -  Test _PSC (Power State Current).<br>> -  Test _PSE (Power State for Enumeration).<br>> -  Test _PSW (Power State Wake).<br>> -  Test _S1D (S1 Device State).<br>> -  Test _S2D (S2 Device State).<br>> -  Test _S3D (S3 Device State).<br>> -  Test _S4D (S4 Device State).<br>> -  Test _S0W (S0 Device Wake State).<br>> -  Test _S1W (S1 Device Wake State).<br>> -  Test _S2W (S2 Device Wake State).<br>> -  Test _S3W (S3 Device Wake State).<br>> -  Test _S4W (S4 Device Wake State).<br>> -  Test _RST (Device Reset).<br>> -  Test _PRR (Power Resource for Reset).<br>> -  Test _S0_ (S0 System State).<br>> -  Test _S1_ (S1 System State).<br>> -  Test _S2_ (S2 System State).<br>> -  Test _S3_ (S3 System State).<br>> -  Test _S4_ (S4 System State).<br>> -  Test _S5_ (S5 System State).<br>> -  Test _SWS (System Wake Source).<br>> -  Test _PSS (Performance Supported States).<br>> -  Test _CPC (Continuous Performance Control).<br>> -  Test _CSD (C State Dependencies).<br>> -  Test _CST (C States).<br>> -  Test _PCT (Performance Control).<br>> -  Test _PDL (P-State Depth Limit).<br>> -  Test _PPC (Performance Present Capabilities).<br>> -  Test _PPE (Polling for Platform Error).<br>> -  Test _PSD (Power State Dependencies).<br>> -  Test _PTC (Processor Throttling Control).<br>> -  Test _TDL (T-State Depth Limit).<br>> -  Test _TPC (Throttling Present Capabilities).<br>> -  Test _TSD (Throttling State Dependencies).<br>> -  Test _TSS (Throttling Supported States).<br>> -  Test _LPI (Low Power Idle States).<br>> -  Test _RDI (Resource Dependencies for Idle).<br>> -  Test _PUR (Processor Utilization Request).<br>> -  Test _MSG (Message).<br>> -  Test _SST (System Status).<br>> -  Test _ALC (Ambient Light Colour Chromaticity).<br>> -  Test _ALI (Ambient Light Illuminance).<br>> -  Test _ALT (Ambient Light Temperature).<br>> -  Test _ALP (Ambient Light Polling).<br>> -  Test _ALR (Ambient Light Response).<br>> -  Test _LID (Lid Status).<br>> -  Test _GTF (Get Task File).<br>> -  Test _GTM (Get Timing Mode).<br>> -  Test _MBM (Memory Bandwidth Monitoring Data).<br>> -  Test _UPC (USB Port Capabilities).<br>> -  Test _UPD (User Presence Detect).<br>> -  Test _UPP (User Presence Polling).<br>> -  Test _GCP (Get Capabilities).<br>> -  Test _GRT (Get Real Time).<br>> -  Test _GWS (Get Wake Status).<br>> -  Test _CWS (Clear Wake Status).<br>> -  Test _STP (Set Expired Timer Wake Policy).<br>> -  Test _STV (Set Timer Value).<br>> -  Test _TIP (Expired Timer Wake Policy).<br>> -  Test _TIV (Timer Values).<br>> -  Test _SBS (Smart Battery Subsystem).<br>> -  Test _BCT (Battery Charge Time).<br>> -  Test _BIF (Battery Information).<br>> -  Test _BIX (Battery Information Extended).<br>> -  Test _BMA (Battery Measurement Averaging).<br>> -  Test _BMC (Battery Maintenance Control).<br>> -  Test _BMD (Battery Maintenance Data).<br>> -  Test _BMS (Battery Measurement Sampling Time).<br>> -  Test _BST (Battery Status).<br>> -  Test _BTP (Battery Trip Point).<br>> -  Test _BTH (Battery Throttle Limit).<br>> -  Test _BTM (Battery Time).<br>> -  Test _PCL (Power Consumer List).<br>> -  Test _PIF (Power Source Information).<br>> -  Test _PRL (Power Source Redundancy List).<br>> -  Test _PSR (Power Source).<br>> -  Test _GAI (Get Averaging Level).<br>> -  Test _GHL (Get Harware Limit).<br>> -  Test _PMC (Power Meter Capabilities).<br>> -  Test _PMD (Power Meter Devices).<br>> -  Test _PMM (Power Meter Measurement).<br>> -  Test _WPC (Wireless Power Calibration).<br>> -  Test _WPP (Wireless Power Polling).<br>> -  Test _FIF (Fan Information).<br>> -  Test _FPS (Fan Performance States).<br>> -  Test _FSL (Fan Set Level).<br>> -  Test _FST (Fan Status).<br>> -  Test _ACx (Active Cooling).<br>> -  Test _ART (Active Cooling Relationship Table).<br>> -  Test _CRT (Critical Trip Point).<br>> -  Test _CR3 (Warm/Standby Temperature).<br>> -  Test _DTI (Device Temperature Indication).<br>> -  Test _HOT (Hot Temperature).<br>> -  Test _MTL (Minimum Throttle Limit).<br>> -  Test _NTT (Notification Temp Threshold).<br>> -  Test _PSL (Passive List).<br>> -  Test _PSV (Passive Temp).<br>> -  Test _RTV (Relative Temp Values).<br>> -  Test _SCP (Set Cooling Policy).<br>> -  Test _TC1 (Thermal Constant 1).<br>> -  Test _TC2 (Thermal Constant 2).<br>> -  Test _TFP (Thermal fast Sampling Period).<br>> -  Test _TMP (Thermal Zone Current Temp).<br>> -  Test _TPT (Trip Point Temperature).<br>> -  Test _TRT (Thermal Relationship Table).<br>> -  Test _TSN (Thermal Sensor Device).<br>> -  Test _TSP (Thermal Sampling Period).<br>> -  Test _TST (Temperature Sensor Threshold).<br>> -  Test _TZD (Thermal Zone Devices).<br>> -  Test _TZM (Thermal Zone member).<br>> -  Test _TZP (Thermal Zone Polling).<br>> -  Test _GPE (General Purpose Events).<br>> -  Test _EC_ (EC Offset Query).<br>> -  Test _PTS (Prepare to Sleep).<br>> -  Test _TTS (Transition to State).<br>> -  Test _WAK (System Wake).<br>> -  Test _ADR (Return Unique ID for Device).<br>> -  Test _BCL (Query List of Brightness Control Levels Supported).<br>> -  Test _BCM (Set Brightness Level).<br>> -  Test _BQC (Brightness Query Current Level).<br>> -  Test _DCS (Return the Status of Output Device).<br>> -  Test _DDC (Return the EDID for this Device).<br>> -  Test _DSS (Device Set State).<br>> -  Test _DGS (Query Graphics State).<br>> -  Test _DOD (Enumerate All Devices Attached to Display Adapter).<br>> -  Test _DOS (Enable/Disable Output Switching).<br>> -  Test _GPD (Get POST Device).<br>> -  Test _ROM (Get ROM Data).<br>> -  Test _SPD (Set POST Device).<br>> -  Test _VPO (Video POST Options).<br>> -  Test _CBA (Configuration Base Address).<br>> -  Test _IFT (IPMI Interface Type).<br>> -  Test _SRV (IPMI Interface Revision).<br>> - microcode       (1 test):<br>> -  Test for most recent microcode being loaded.<br>> - mpcheck         (9 tests):<br>> -  Test MP header.<br>> -  Test MP CPU entries.<br>> -  Test MP Bus entries.<br>> -  Test MP IO APIC entries.<br>> -  Test MP IO Interrupt entries.<br>> -  Test MP Local Interrupt entries.<br>> -  Test MP System Address entries.<br>> -  Test MP Bus Hierarchy entries.<br>> -  Test MP Compatible Bus Address Space entries.<br>> - msct            (1 test):<br>> -  MSCT Maximum System Characteristics Table test.<br>> - msdm            (1 test):<br>> -  MSDM Microsoft Data Management Table test.<br>> - msr             (5 tests):<br>> -  Test CPU generic MSRs.<br>> -  Test CPU specific model MSRs.<br>> -  Test all P State Ratios.<br>> -  Test C1 and C3 autodemotion.<br>> -  Test SMRR MSR registers.<br>> - mtrr            (3 tests):<br>> -  Validate the kernel MTRR IOMEM setup.<br>> -  Validate the MTRR setup across all processors.<br>> -  Test for AMD MtrrFixDramModEn being cleared by the BIOS.<br>> - nx              (3 tests):<br>> -  Test CPU NX capability.<br>> -  Test all CPUs have same BIOS set NX flag.<br>> -  Test all CPUs have same msr setting in MSR 0x1a0.<br>> - olog            (1 test):<br>> -  OLOG scan and analysis checks results.<br>> - oops            (1 test):<br>> -  Kernel log oops check.<br>> - osilinux        (1 test):<br>> -  Disassemble DSDT to check for _OSI("Linux").<br>> - pcc             (1 test):<br>> -  Processor Clocking Control (PCC) test.<br>> - pciirq          (1 test):<br>> -  PCI IRQ Routing Table test.<br>> - pnp             (1 test):<br>> -  PnP BIOS Support Installation structure test.<br>> - prd_info        (1 test):<br>> -  OPAL Processor Recovery Diagnostics Info<br>> - rsdp            (1 test):<br>> -  RSDP Root System Description Pointer test.<br>> - rsdt            (1 test):<br>> -  RSDT Root System Description Table test.<br>> - sbst            (1 test):<br>> -  SBST Smart Battery Specificiation Table test.<br>> - securebootcert  (1 test):<br>> -  UEFI secure boot test.<br>> - slic            (1 test):<br>> -  SLIC Software Licensing Description Table test.<br>> - slit            (1 test):<br>> -  SLIT System Locality Distance Information test.<br>> - spcr            (1 test):<br>> -  SPCR Serial Port Console Redirection Table test.<br>> - spmi            (1 test):<br>> -  SPMI Service Processor Management Interface Description Table test.<br>> - srat            (1 test):<br>> -  SRAT System Resource Affinity Table test.<br>> - stao            (1 test):<br>> -  STAO Status Override Table test.<br>> - syntaxcheck     (1 test):<br>> -  Disassemble and reassemble DSDT and SSDTs.<br>> - tcpa            (1 test):<br>> -  Validate TCPA table.<br>> - tpm2            (1 test):<br>> -  Validate TPM2 table.<br>> - uefi            (1 test):<br>> -  UEFI Data Table test.<br>> - uefibootpath    (1 test):<br>> -  Test UEFI Boot Path Boot####.<br>> - version         (4 tests):<br>> -  Gather kernel signature.<br>> -  Gather kernel system information.<br>> -  Gather kernel boot command line.<br>> -  Gather ACPI driver version.<br>> - virt            (1 test):<br>> -  CPU Virtualisation Configuration test.<br>> - waet            (1 test):<br>> -  Windows ACPI Emulated Devices Table test.<br>> - wakealarm       (5 tests):<br>> -  Test existence of RTC with alarm interface.<br>> -  Trigger wakealarm for 1 seconds in the future.<br>> -  Test if wakealarm is fired.<br>> -  Multiple wakealarm firing tests.<br>> -  Reset wakealarm time.<br>> - wdat            (1 test):<br>> -  WDAT Microsoft Hardware Watchdog Action Table test.<br>> - wmi             (1 test):<br>> -  Windows Management Instrumentation test.<br>> - xenv            (1 test):<br>> -  Validate XENV table.<br>> - xsdt            (1 test):<br>> -  XSDT Extended System Description Table test.<br>> -<br>> -Interactive tests:<br>> - ac_adapter      (3 tests):<br>> -  Test ACPI ac_adapter state.<br>> -  Test ac_adapter initial on-line state.<br>> -  Test ac_adapter state changes.<br>> - battery         (1 test):<br>> -  Battery test.<br>> - brightness      (3 tests):<br>> -  Observe all brightness changes.<br>> -  Observe min, max brightness changes.<br>> -  Test brightness hotkeys.<br>> - hotkey          (1 test):<br>> -  Hotkey keypress checks.<br>> - lid             (3 tests):<br>> -  Test LID buttons report open correctly.<br>> -  Test LID buttons on a single open/close.<br>> -  Test LID buttons on multiple open/close events.<br>> - power_button    (1 test):<br>> -  Test press of power button and ACPI event.<br>> -<br>> -Power States tests:<br>> - s3              (1 test):<br>> -  S3 suspend/resume test.<br>> - s3power         (1 test):<br>> -  S3 power loss during suspend test.<br>> - s4              (1 test):<br>> -  S4 hibernate/resume test.<br>> -<br>> -Utilities:<br>> - acpidump        (1 test):<br>> -  Dump ACPI tables.<br>> - cmosdump        (1 test):<br>> -  Dump CMOS Memory.<br>> - crsdump         (1 test):<br>> -  Dump ACPI _CRS (Current Resource Settings).<br>> - ebdadump        (1 test):<br>> -  Dump EBDA region.<br>> - esrtdump        (1 test):<br>> -  Dump ESRT Table.<br>> - gpedump         (1 test):<br>> -  Dump GPEs.<br>> - memmapdump      (1 test):<br>> -  Dump system memory map.<br>> - mpdump          (1 test):<br>> -  Dump Multi Processor Data.<br>> - plddump         (1 test):<br>> -  Dump ACPI _PLD (Physical Device Location).<br>> - prsdump         (1 test):<br>> -  Dump ACPI _PRS (Possible Resource Settings).<br>> - romdump         (1 test):<br>> -  Dump ROM data.<br>> - uefidump        (1 test):<br>> -  Dump UEFI Variables.<br>> - uefivarinfo     (1 test):<br>> -  UEFI variable info query.<br>> -<br>> -Unsafe tests:<br>> - uefirtauthvar   (12 tests):<br>> -  Create authenticated variable test.<br>> -  Authenticated variable test with the same authenticated variable.<br>> -  Authenticated variable test with another valid authenticated variable.<br>> -  Append authenticated variable test.<br>> -  Update authenticated variable test.<br>> -  Authenticated variable test with old authenticated variable.<br>> -  Delete authenticated variable test.<br>> -  Authenticated variable test with invalid modified data.<br>> -  Authenticated variable test with invalid modified timestamp.<br>> -  Authenticated variable test with different guid.<br>> -  Authenticated variable test with invalid attributes.<br>> -  Set and delete authenticated variable created by different key test.<br>> - uefirtmisc      (3 tests):<br>> -  Test for UEFI miscellaneous runtime service interfaces.<br>> -  Stress test for UEFI miscellaneous runtime service interfaces.<br>> -  Test GetNextHighMonotonicCount with invalid NULL parameter.<br>> - uefirttime      (35 tests):<br>> -  Test UEFI RT service get time interface.<br>> -  Test UEFI RT service get time interface, NULL time parameter.<br>> -  Test UEFI RT service get time interface, NULL time and NULL capabilties parameters.<br>> -  Test UEFI RT service set time interface.<br>> -  Test UEFI RT service set time interface, invalid year 1899.<br>> -  Test UEFI RT service set time interface, invalid year 10000.<br>> -  Test UEFI RT service set time interface, invalid month 0.<br>> -  Test UEFI RT service set time interface, invalid month 13.<br>> -  Test UEFI RT service set time interface, invalid day 0.<br>> -  Test UEFI RT service set time interface, invalid day 32.<br>> -  Test UEFI RT service set time interface, invalid hour 24.<br>> -  Test UEFI RT service set time interface, invalid minute 60.<br>> -  Test UEFI RT service set time interface, invalid second 60.<br>> -  Test UEFI RT service set time interface, invalid nanosecond 1000000000.<br>> -  Test UEFI RT service set time interface, invalid timezone -1441.<br>> -  Test UEFI RT service set time interface, invalid timezone 1441.<br>> -  Test UEFI RT service get wakeup time interface.<br>> -  Test UEFI RT service get wakeup time interface, NULL enabled parameter.<br>> -  Test UEFI RT service get wakeup time interface, NULL pending parameter.<br>> -  Test UEFI RT service get wakeup time interface, NULL time parameter.<br>> -  Test UEFI RT service get wakeup time interface, NULL enabled, pending and time parameters.<br>> -  Test UEFI RT service set wakeup time interface.<br>> -  Test UEFI RT service set wakeup time interface, NULL time parameter.<br>> -  Test UEFI RT service set wakeup time interface, invalid year 1899.<br>> -  Test UEFI RT service set wakeup time interface, invalid year 10000.<br>> -  Test UEFI RT service set wakeup time interface, invalid month 0.<br>> -  Test UEFI RT service set wakeup time interface, invalid month 13.<br>> -  Test UEFI RT service set wakeup time interface, invalid day 0.<br>> -  Test UEFI RT service set wakeup time interface, invalid day 32.<br>> -  Test UEFI RT service set wakeup time interface, invalid hour 24.<br>> -  Test UEFI RT service set wakeup time interface, invalid minute 60.<br>> -  Test UEFI RT service set wakeup time interface, invalid second 60.<br>> -  Test UEFI RT service set wakeup time interface, invalid nanosecond 1000000000.<br>> -  Test UEFI RT service set wakeup time interface, invalid timezone -1441.<br>> -  Test UEFI RT service set wakeup time interface, invalid timezone 1441.<br>> - uefirtvariable  (8 tests):<br>> -  Test UEFI RT service get variable interface.<br>> -  Test UEFI RT service get next variable name interface.<br>> -  Test UEFI RT service set variable interface.<br>> -  Test UEFI RT service query variable info interface.<br>> -  Test UEFI RT service variable interface stress test.<br>> -  Test UEFI RT service set variable interface stress test.<br>> -  Test UEFI RT service query variable info interface stress test.<br>> -  Test UEFI RT service get variable interface, invalid parameters.<br>> -<br>> -UEFI tests:<br>> - csm             (1 test):<br>> -  UEFI Compatibility Support Module test.<br>> - esrt            (1 test):<br>> -  Sanity check UEFI ESRT Table.<br>> - securebootcert  (1 test):<br>> -  UEFI secure boot test.<br>> - uefibootpath    (1 test):<br>> -  Test UEFI Boot Path Boot####.<br>> - uefirtauthvar   (12 tests):<br>> -  Create authenticated variable test.<br>> -  Authenticated variable test with the same authenticated variable.<br>> -  Authenticated variable test with another valid authenticated variable.<br>> -  Append authenticated variable test.<br>> -  Update authenticated variable test.<br>> -  Authenticated variable test with old authenticated variable.<br>> -  Delete authenticated variable test.<br>> -  Authenticated variable test with invalid modified data.<br>> -  Authenticated variable test with invalid modified timestamp.<br>> -  Authenticated variable test with different guid.<br>> -  Authenticated variable test with invalid attributes.<br>> -  Set and delete authenticated variable created by different key test.<br>> - uefirtmisc      (3 tests):<br>> -  Test for UEFI miscellaneous runtime service interfaces.<br>> -  Stress test for UEFI miscellaneous runtime service interfaces.<br>> -  Test GetNextHighMonotonicCount with invalid NULL parameter.</tt><br><tt>> - uefirttime      (35 tests):<br>> -  Test UEFI RT service get time interface.<br>> -  Test UEFI RT service get time interface, NULL time parameter.<br>> -  Test UEFI RT service get time interface, NULL time and NULL capabilties parameters.<br>> -  Test UEFI RT service set time interface.<br>> -  Test UEFI RT service set time interface, invalid year 1899.<br>> -  Test UEFI RT service set time interface, invalid year 10000.<br>> -  Test UEFI RT service set time interface, invalid month 0.<br>> -  Test UEFI RT service set time interface, invalid month 13.<br>> -  Test UEFI RT service set time interface, invalid day 0.<br>> -  Test UEFI RT service set time interface, invalid day 32.<br>> -  Test UEFI RT service set time interface, invalid hour 24.<br>> -  Test UEFI RT service set time interface, invalid minute 60.<br>> -  Test UEFI RT service set time interface, invalid second 60.<br>> -  Test UEFI RT service set time interface, invalid nanosecond 1000000000.<br>> -  Test UEFI RT service set time interface, invalid timezone -1441.<br>> -  Test UEFI RT service set time interface, invalid timezone 1441.<br>> -  Test UEFI RT service get wakeup time interface.<br>> -  Test UEFI RT service get wakeup time interface, NULL enabled parameter.<br>> -  Test UEFI RT service get wakeup time interface, NULL pending parameter.<br>> -  Test UEFI RT service get wakeup time interface, NULL time parameter.<br>> -  Test UEFI RT service get wakeup time interface, NULL enabled, pending and time parameters.<br>> -  Test UEFI RT service set wakeup time interface.<br>> -  Test UEFI RT service set wakeup time interface, NULL time parameter.<br>> -  Test UEFI RT service set wakeup time interface, invalid year 1899.<br>> -  Test UEFI RT service set wakeup time interface, invalid year 10000.<br>> -  Test UEFI RT service set wakeup time interface, invalid month 0.<br>> -  Test UEFI RT service set wakeup time interface, invalid month 13.<br>> -  Test UEFI RT service set wakeup time interface, invalid day 0.<br>> -  Test UEFI RT service set wakeup time interface, invalid day 32.<br>> -  Test UEFI RT service set wakeup time interface, invalid hour 24.<br>> -  Test UEFI RT service set wakeup time interface, invalid minute 60.<br>> -  Test UEFI RT service set wakeup time interface, invalid second 60.<br>> -  Test UEFI RT service set wakeup time interface, invalid nanosecond 1000000000.<br>> -  Test UEFI RT service set wakeup time interface, invalid timezone -1441.<br>> -  Test UEFI RT service set wakeup time interface, invalid timezone 1441.<br>> - uefirtvariable  (8 tests):<br>> -  Test UEFI RT service get variable interface.<br>> -  Test UEFI RT service get next variable name interface.<br>> -  Test UEFI RT service set variable interface.<br>> -  Test UEFI RT service query variable info interface.<br>> -  Test UEFI RT service variable interface stress test.<br>> -  Test UEFI RT service set variable interface stress test.<br>> -  Test UEFI RT service query variable info interface stress test.<br>> -  Test UEFI RT service get variable interface, invalid parameters.<br>> -<br>> -ACPI Spec Compliance tests:<br>> - fadt            (6 tests):<br>> -  ACPI FADT Description Table flag info.<br>> -  FADT checksum test.<br>> -  FADT revision test.<br>> -  ACPI FADT Description Table tests.<br>> -  Test FADT SCI_EN bit is enabled.<br>> -  Test FADT reset register.<br>> - madt            (5 tests):<br>> -  MADT checksum test.<br>> -  MADT revision test.<br>> -  MADT architecture minimum revision test.<br>> -  MADT flags field reserved bits test.<br>> -  MADT subtable tests.<br>> - rsdp            (1 test):<br>> -  RSDP Root System Description Pointer test.<br>> diff --git a/fwts-test/arg-show-tests-full-0001/test-0001.sh b/fwts-test/arg-show-tests-full-0001/test-0001.sh<br>> index b4e74f7..1302bd3 100755<br>> --- a/fwts-test/arg-show-tests-full-0001/test-0001.sh<br>> +++ b/fwts-test/arg-show-tests-full-0001/test-0001.sh<br>> @@ -3,17 +3,25 @@<br>>  TEST="Test --show-tests-full option"<br>>  NAME=test-0001.sh<br>>  TMPLOG=$TMP/arg-show-tests-full.log.$$<br>> +export FWTS_SHOW_LOGS="FULL"<br>> +<br>> +# Dynamically create the log template per test<br>> +$FWTS show_logs &> /dev/null<br>> +if [ $? -ne 0 ]; then<br>> +                 echo SKIP: $TEST, $NAME<br>> +                 exit 77<br>> +fi<br>>  <br>>  #<br>> -#  Non-x86 tests don't have WMI so skip this test<br>> +#  If we can't set the tty then we can't test<br>>  #<br>> -$FWTS --show-tests | grep wmi > /dev/null<br>> -if [ $? -eq 1 ]; then<br>> +stty cols 80 &> /dev/null<br>> +if [ $? -ne 0 ]; then<br>> +                 tset &> /dev/null<br>>                   echo SKIP: $TEST, $NAME<br>>                   exit 77<br>>  fi<br>>  <br>> -stty cols 80<br>>  $FWTS --show-tests-full > $TMPLOG<br>>  diff $TMPLOG $FWTSTESTDIR/arg-show-tests-full-0001/arg-show-tests-full-0001.log >> $FAILURE_LOG<br>>  ret=$?<br>> @@ -23,5 +31,8 @@ else<br>>                   echo FAILED: $TEST, $NAME<br>>  fi<br>>  <br>> +stty cols 80 &> /dev/null<br>> +tset &> /dev/null<br>> +<br>>  rm $TMPLOG<br>>  exit $ret<br>> diff --git a/src/Makefile.am b/src/Makefile.am<br>> index 100eaa3..8ac67b4 100644<br>> --- a/src/Makefile.am<br>> +++ b/src/Makefile.am<br>> @@ -132,6 +132,7 @@ fwts_SOURCES = main.c                                                                     \<br>>                   pci/aspm/aspm.c                                                    \<br>>                   pci/crs/crs.c                                                                     \<br>>                   pci/maxreadreq/maxreadreq.c                                   \<br>> +                 show/show_logs.c                                                   \<br>>                   uefi/csm/csm.c                                                                     \<br>>                   uefi/uefidump/uefidump.c                                   \<br>>                   uefi/uefirttime/uefirttime.c                                  \<br>> diff --git a/src/show/show_logs.c b/src/show/show_logs.c<br>> new file mode 100644<br>> index 0000000..7b958ff<br>> --- /dev/null<br>> +++ b/src/show/show_logs.c<br>> @@ -0,0 +1,1480 @@<br>> +/*<br>> + * Copyright (C) 2010-2016 Canonical<br>> + * Some of this work - Copyright (C) 2016 IBM<br>> + *<br>> + * This program is free software; you can redistribute it and/or<br>> + * modify it under the terms of the GNU General Public License<br>> + * as published by the Free Software Foundation; either version 2<br>> + * of the License, or (at your option) any later version.<br>> + *<br>> + * This program is distributed in the hope that it will be useful,<br>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br>> + * GNU General Public License for more details.<br>> + *<br>> + * You should have received a copy of the GNU General Public License<br>> + * along with this program; if not, write to the Free Software<br>> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.<br>> + *<br>> + */<br>> +<br>> +<br>> +#include "fwts.h"<br>> +<br>> +static char *fwts_show[] = {<br>> +"ACPI tests:",<br>> +" acpiinfo        General ACPI information test.",<br>> +" acpitables      ACPI table headers sanity tests.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" apicinstance    Test for single instance of APIC/MADT table.",<br>> +#endif<br>> +" asf             ASF! Alert Standard Format Table test.",<br>> +" aspt            ASPT Table test.",<br>> +" bert            BERT Boot Error Record Table test.",<br>> +" bgrt            BGRT Boot Graphics Resource Table test.",<br>> +" boot            BOOT Table test.",<br>> +" checksum        ACPI table checksum test.",<br>> +" cpep            CPEP Corrected Platform Error Polling Table test.",<br>> +" csrt            CSRT Core System Resource Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" cstates         Processor C state support test.",<br>> +#endif<br>> +" dbg2            DBG2 (Debug Port Table 2) test.",<br>> +" dbgp            DBGP (Debug Port) Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" dmar            DMA Remapping (VT-d) test.",<br>> +#endif<br>> +" ecdt            ECDT Embedded Controller Boot Resources Table test.",<br>> +" einj            EINJ Error Injection Table test.",<br>> +" erst            ERST Error Record Serialization Table test.",<br>> +" facs            FACS Firmware ACPI Control Structure test.",<br>> +" fadt            FADT Fixed ACPI Description Table tests.",<br>> +" fpdt            FPDT Firmware Performance Data Table test.",<br>> +" gtdt            GTDT Generic Timer Description Table test.",<br>> +" hest            HEST Hardware Error Source Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" hpet            HPET IA-PC High Precision Event Timer Table tests.",<br>> +#endif<br>> +" iort            IORT IO Remapping Table test.",<br>> +" lpit            LPIT Low Power Idle Table test.",<br>> +" madt            MADT Multiple APIC Description Table "<br>> +                 "(spec compliant).",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" mcfg            MCFG PCI Express* memory mapped config space test.",<br>> +#endif<br>> +" mchi            MCHI Management Controller Host Interface"<br>> +                                  " Table test.",<br>> +" method          ACPI DSDT Method Semantic tests.",<br>> +" msct            MSCT Maximum System Characteristics Table test.",<br>> +" msdm            MSDM Microsoft Data Management Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" pcc             Processor Clocking Control (PCC) test.",<br>> +#endif<br>> +" rsdp            RSDP Root System Description Pointer test.",<br>> +" rsdt            RSDT Root System Description Table test.",<br>> +" sbst            SBST Smart Battery Specification Table test.",<br>> +" slic            SLIC Software Licensing Description Table test.",<br>> +" slit            SLIT System Locality Distance Information test.",<br>> +" spcr            SPCR Serial Port Console Redirection Table test.",<br>> +" spmi            SPMI Service Processor Management Interface"<br>> +                                  " Description Table test.",<br>> +" srat            SRAT System Resource Affinity Table test.",<br>> +" stao            STAO Status Override Table test.",<br>> +" tcpa            TCPA Trusted Computing Platform Alliance"<br>> +                                  " Capabilities Table test.",<br>> +" tpm2            TPM2 Trusted Platform Module 2 test.",<br>> +" uefi            UEFI Data Table test.",<br>> +" waet            WAET Windows ACPI Emulated Devices Table test.",<br>> +" wdat            WDAT Microsoft Hardware Watchdog Action Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" wmi             Extract and analyse Windows Management"<br>> +                                  " Instrumentation (WMI).",<br>> +#endif<br>> +" xenv            XENV Xen Environment Table tests.",<br>> +" xsdt            XSDT Extended System Description Table test.",<br>> +"
",<br>> +"Batch tests:",<br>> +" acpiinfo        General ACPI information test.",<br>> +" acpitables      ACPI table headers sanity tests.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" apicedge        APIC edge/level test.",<br>> +" apicinstance    Test for single instance of APIC/MADT table.",<br>> +#endif<br>> +" asf             ASF! Alert Standard Format Table test.",<br>> +" aspm            PCIe ASPM test.",<br>> +" aspt            ASPT Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" autobrightness  Automated LCD brightness test.",<br>> +#endif<br>> +" bert            BERT Boot Error Record Table test.",<br>> +" bgrt            BGRT Boot Graphics Resource Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" bios32          BIOS32 Service Directory test.",<br>> +" bios_info       Gather BIOS DMI information.",<br>> +#endif<br>> +" bmc_info        BMC Info",<br>> +" boot            BOOT Table test.",<br>> +" checksum        ACPI table checksum test.",<br>> +" cpep            CPEP Corrected Platform Error Polling Table test.",<br>> +" cpufreq         CPU frequency scaling tests.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" crs             Test PCI host bridge configuration using _CRS.",<br>> +" csm             UEFI Compatibility Support Module test.",<br>> +#endif<br>> +" csrt            CSRT Core System Resource Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" cstates         Processor C state support test.",<br>> +#endif<br>> +" dbg2            DBG2 (Debug Port Table 2) test.",<br>> +" dbgp            DBGP (Debug Port) Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" dmar            DMA Remapping (VT-d) test.",<br>> +" dmicheck        DMI/SMBIOS table tests.",<br>> +#endif<br>> +#ifdef HAVE_LIBFDT<br>> +" dt_base         Base device tree validity check",<br>> +" dt_sysinfo      Device tree system information test",<br>> +#endif<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" ebda            Test EBDA region is mapped and reserved in memory"<br>> +                                  " map table.",<br>> +#endif<br>> +" ecdt            ECDT Embedded Controller Boot Resources Table test.",<br>> +" einj            EINJ Error Injection Table test.",<br>> +" erst            ERST Error Record Serialization Table test.",<br>> +" facs            FACS Firmware ACPI Control Structure test.",<br>> +" fadt            FADT Fixed ACPI Description Table tests.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" fan             Simple fan tests.",<br>> +#endif<br>> +" fpdt            FPDT Firmware Performance Data Table test.",<br>> +" gtdt            GTDT Generic Timer Description Table test.",<br>> +" hda_audio       HDA Audio Pin Configuration test.",<br>> +" hest            HEST Hardware Error Source Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" hpet            HPET IA-PC High Precision Event Timer Table tests.",<br>> +#endif<br>> +" iort            IORT IO Remapping Table test.",<br>> +" klog            Scan kernel log for errors and warnings.",<br>> +" lpit            LPIT Low Power Idle Table test.",<br>> +" madt            MADT Multiple APIC Description Table"<br>> +                 " (spec compliant).",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" maxfreq         Test max CPU frequencies against max scaling"<br>> +                                  " frequency.",<br>> +#endif<br>> +" maxreadreq      Test firmware has set PCI Express MaxReadReq to a"<br>> +                                  " higher value on non-motherboard devices.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" mcfg            MCFG PCI Express* memory mapped config space test.",<br>> +#endif<br>> +" mchi            MCHI Management Controller Host Interface Table test.",<br>> +" method          ACPI DSDT Method Semantic tests.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" microcode       Test if system is using latest microcode.",<br>> +" mpcheck         MultiProcessor Tables tests.",<br>> +#endif<br>> +" msct            MSCT Maximum System Characteristics Table test.",<br>> +" msdm            MSDM Microsoft Data Management Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" msr             MSR register tests.",<br>> +" mtrr            MTRR tests.",<br>> +#endif<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" nx              Test if CPU NX is disabled by the BIOS.",<br>> +#endif<br>> +" olog            Run OLOG scan and analysis checks.",<br>> +" oops            Scan kernel log for Oopses.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" osilinux        Disassemble DSDT to check for _OSI(\"Linux\").",<br>> +" pcc             Processor Clocking Control (PCC) test.",<br>> +" pciirq          PCI IRQ Routing Table test.",<br>> +" pnp             BIOS Support Installation structure test.",<br>> +#endif<br>> +" prd_info        OPAL Processor Recovery Diagnostics Info",<br>> +" rsdp            RSDP Root System Description Pointer test.",<br>> +" rsdt            RSDT Root System Description Table test.",<br>> +" sbst            SBST Smart Battery Specification Table test.",<br>> +" securebootcert  UEFI secure boot test.",<br>> +" show_logs       Show Tests Log Files",<br>> +" slic            SLIC Software Licensing Description Table test.",<br>> +" slit            SLIT System Locality Distance Information test.",<br>> +" spcr            SPCR Serial Port Console Redirection Table test.",<br>> +" spmi            SPMI Service Processor Management Interface"<br>> +                                  " Description Table test.",<br>> +" srat            SRAT System Resource Affinity Table test.",<br>> +" stao            STAO Status Override Table test.",<br>> +" syntaxcheck     Re-assemble DSDT and SSDTs to find syntax errors"<br>> +                                  " and warnings.",<br>> +" tcpa            TCPA Trusted Computing Platform Alliance"<br>> +                                  " Capabilities Table test.",<br>> +" tpm2            TPM2 Trusted Platform Module 2 test.",<br>> +" uefi            UEFI Data Table test.",<br>> +" uefibootpath    Sanity check for UEFI Boot Path Boot####.",<br>> +" version         Gather kernel system information.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" virt            CPU Virtualisation Configuration test.",<br>> +#endif<br>> +" waet            WAET Windows ACPI Emulated Devices Table test.",<br>> +" wakealarm       ACPI Wakealarm tests.",<br>> +" wdat            WDAT Microsoft Hardware Watchdog Action Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" wmi             Extract and analyse Windows Management"<br>> +                                  " Instrumentation (WMI).",<br>> +#endif<br>> +" xenv            XENV Xen Environment Table tests.",<br>> +" xsdt            XSDT Extended System Description Table test.",<br>> +"",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +"Interactive tests:",<br>> +" ac_adapter      Interactive ac_adapter power test.",<br>> +" battery         Battery tests.",<br>> +" brightness      Interactive LCD brightness test.",<br>> +" hotkey          Hotkey scan code tests.",<br>> +" lid             Interactive lid button test.",<br>> +" power_button    Interactive power_button button test.",<br>> +"",<br>> +"Power States tests:",<br>> +" s3              S3 suspend/resume test.",<br>> +" s3power         S3 power loss during suspend test (takes minimum"<br>> +                                  " of 10 minutes to run).",<br>> +" s4              S4 hibernate/resume test.",<br>> +"",<br>> +#endif<br>> +"Utilities:",<br>> +" acpidump        Dump ACPI tables.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" cmosdump        Dump CMOS Memory.",<br>> +#endif<br>> +" crsdump         Dump ACPI _CRS resources.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" ebdadump        Dump EBDA region.",<br>> +#endif<br>> +" esrtdump        Dump ESRT table.",<br>> +" gpedump         Dump GPEs.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" memmapdump      Dump system memory map.",<br>> +" mpdump          Dump MultiProcessor Data.",<br>> +#endif<br>> +" plddump         Dump ACPI _PLD (Physical Device Location).",<br>> +" prsdump         Dump ACPI _PRS resources.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" romdump         Dump ROM data.",<br>> +#endif<br>> +" uefidump        Dump UEFI variables.",<br>> +" uefivarinfo     UEFI variable info query.",<br>> +"",<br>> +"Unsafe tests:",<br>> +" uefirtauthvar   Authenticated variable tests.",<br>> +" uefirtmisc      UEFI miscellaneous runtime service interface tests.",<br>> +" uefirttime      UEFI Runtime service time interface tests.",<br>> +" uefirtvariable  UEFI Runtime service variable interface tests.",<br>> +"",<br>> +"UEFI tests:",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" csm             UEFI Compatibility Support Module test.",<br>> +#endif<br>> +" esrt            Sanity check UEFI ESRT Table.",<br>> +" securebootcert  UEFI secure boot test.",<br>> +" uefibootpath    Sanity check for UEFI Boot Path Boot####.",<br>> +" uefirtauthvar   Authenticated variable tests.",<br>> +" uefirtmisc      UEFI miscellaneous runtime service interface tests.",<br>> +" uefirttime      UEFI Runtime service time interface tests.",<br>> +" uefirtvariable  UEFI Runtime service variable interface tests.",<br>> +"",<br>> +"ACPI Spec Compliance tests:",<br>> +" fadt            FADT Fixed ACPI Description Table tests.",<br>> +" madt            MADT Multiple APIC Description Table"<br>> +                                  " (spec compliant).",<br>> +" rsdp            RSDP Root System Description Pointer test.",<br>> +};<br>> +<br>> +static char *fwts_show_all[] = {<br>> +"ACPI tests:",<br>> +" acpiinfo        (3 tests):",<br>> +"  Determine Kernel ACPI version.",<br>> +"  Determine machine's ACPI version.",<br>> +"  Determine AML compiler.",<br>> +" acpitables      (1 test):",<br>> +"  Test ACPI headers.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" apicinstance    (1 test):",<br>> +"  Test for single instance of APIC/MADT table.",<br>> +#endif<br>> +" asf             (1 test):",<br>> +"  ASF! Alert Standard Format Table test.",<br>> +" aspt            (1 test):",<br>> +"  ASPT Table test.",<br>> +" bert            (1 test):",<br>> +"  BERT Boot Error Record Table test.",<br>> +" bgrt            (1 test):",<br>> +"  BGRT Boot Graphics Resource Table test.",<br>> +" boot            (1 test):",<br>> +"  BOOT Table test.",<br>> +" checksum        (1 test):",<br>> +"  ACPI table checksum test.",<br>> +" cpep            (1 test):",<br>> +"  CPEP Corrected Platform Error Polling Table test.",<br>> +" csrt            (1 test):",<br>> +"  CSRT Core System Resource Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" cstates         (1 test):",<br>> +"  Test all CPUs C-states.",<br>> +#endif<br>> +" dbg2            (1 test):",<br>> +"  DBG2 (Debug Port Table 2) test.",<br>> +" dbgp            (1 test):",<br>> +"  DBGP (Debug Port) Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" dmar            (1 test):",<br>> +"  DMA Remapping test.",<br>> +#endif<br>> +" ecdt            (1 test):",<br>> +"  ECDT Embedded Controller Boot Resources Table test.",<br>> +" einj            (1 test):",<br>> +"  EINJ Error Injection Table test.",<br>> +" erst            (1 test):",<br>> +"  ERST Error Record Serialization Table test.",<br>> +" facs            (1 test):",<br>> +"  FACS Firmware ACPI Control Structure test.",<br>> +" fadt            (6 tests):",<br>> +"  ACPI FADT Description Table flag info.",<br>> +"  FADT checksum test.",<br>> +"  FADT revision test.",<br>> +"  ACPI FADT Description Table tests.",<br>> +"  Test FADT SCI_EN bit is enabled.",<br>> +"  Test FADT reset register.",<br>> +" fpdt            (1 test):",<br>> +"  FPDT Firmware Performance Data Table test.",<br>> +" gtdt            (1 test):",<br>> +"  GTDT Generic Timer Description Table test.",<br>> +" hest            (1 test):",<br>> +"  HEST Hardware Error Source Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" hpet            (4 tests):",<br>> +"  Test HPET base in kernel log.",<br>> +"  Test HPET base in HPET table.",<br>> +"  Test HPET base in DSDT and/or SSDT.",<br>> +"  Test HPET configuration.",<br>> +#endif<br>> +" iort            (1 test):",<br>> +"  IORT IO Remapping Table test.",<br>> +" lpit            (1 test):",<br>> +"  LPIT Low Power Idle Table test.",<br>> +" madt            (5 tests):",<br>> +"  MADT checksum test.",<br>> +"  MADT revision test.",<br>> +"  MADT architecture minimum revision test.",<br>> +"  MADT flags field reserved bits test.",<br>> +"  MADT subtable tests.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" mcfg            (2 tests):",<br>> +"  Validate MCFG table.",<br>> +"  Validate MCFG PCI config space.",<br>> +#endif<br>> +" mchi            (1 test):",<br>> +"  MCHI Management Controller Host Interface Table test.",<br>> +" method          (191 tests):",<br>> +"  Test Method Names.",<br>> +"  Test _AEI.",<br>> +"  Test _EVT (Event Method).",<br>> +"  Test _DLM (Device Lock Mutex).",<br>> +"  Test _PIC (Inform AML of Interrupt Model).",<br>> +"  Test _CID (Compatible ID).",<br>> +"  Test _DDN (DOS Device Name).",<br>> +"  Test _HID (Hardware ID).",<br>> +"  Test _HRV (Hardware Revision Number).",<br>> +"  Test _MLS (Multiple Language String).",<br>> +"  Test _PLD (Physical Device Location).",<br>> +"  Test _SUB (Subsystem ID).",<br>> +"  Test _SUN (Slot User Number).",<br>> +"  Test _STR (String).",<br>> +"  Test _UID (Unique ID).",<br>> +"  Test _CDM (Clock Domain).",<br>> +"  Test _CRS (Current Resource Settings).",<br>> +"  Test _DSD (Device Specific Data).",<br>> +"  Test _DIS (Disable).",<br>> +"  Test _DMA (Direct Memory Access).",<br>> +"  Test _FIX (Fixed Register Resource Provider).",<br>> +"  Test _GSB (Global System Interrupt Base).",<br>> +"  Test _HPP (Hot Plug Parameters).",<br>> +"  Test _PRS (Possible Resource Settings).",<br>> +"  Test _PRT (PCI Routing Table).",<br>> +"  Test _PXM (Proximity).",<br>> +"  Test _CCA (Cache Coherency Attribute).",<br>> +"  Test _EDL (Eject Device List).",<br>> +"  Test _EJD (Ejection Dependent Device).",<br>> +"  Test _EJ0 (Eject).",<br>> +"  Test _EJ1 (Eject).",<br>> +"  Test _EJ2 (Eject).",<br>> +"  Test _EJ3 (Eject).",<br>> +"  Test _EJ4 (Eject).",<br>> +"  Test _LCK (Lock).",<br>> +"  Test _RMV (Remove).",<br>> +"  Test _STA (Status).",<br>> +"  Test _DEP (Operational Region Dependencies).",<br>> +"  Test _BDN (BIOS Dock Name).",<br>> +"  Test _BBN (Base Bus Number).",<br>> +"  Test _DCK (Dock).",<br>> +"  Test _INI (Initialize).",<br>> +"  Test _GLK (Global Lock).",<br>> +"  Test _SEG (Segment).",<br>> +"  Test _OFF (Set resource off).",<br>> +"  Test _ON_ (Set resource on).",<br>> +"  Test _DSW (Device Sleep Wake).",<br>> +"  Test _IRC (In Rush Current).",<br>> +"  Test _PRE (Power Resources for Enumeration).",<br>> +"  Test _PR0 (Power Resources for D0).",<br>> +"  Test _PR1 (Power Resources for D1).",<br>> +"  Test _PR2 (Power Resources for D2).",<br>> +"  Test _PR3 (Power Resources for D3).",<br>> +"  Test _PRW (Power Resources for Wake).",<br>> +"  Test _PS0 (Power State 0).",<br>> +"  Test _PS1 (Power State 1).",<br>> +"  Test _PS2 (Power State 2).",<br>> +"  Test _PS3 (Power State 3).",<br>> +"  Test _PSC (Power State Current).",<br>> +"  Test _PSE (Power State for Enumeration).",<br>> +"  Test _PSW (Power State Wake).",<br>> +"  Test _S1D (S1 Device State).",<br>> +"  Test _S2D (S2 Device State).",<br>> +"  Test _S3D (S3 Device State).",<br>> +"  Test _S4D (S4 Device State).",<br>> +"  Test _S0W (S0 Device Wake State).",<br>> +"  Test _S1W (S1 Device Wake State).",<br>> +"  Test _S2W (S2 Device Wake State).",<br>> +"  Test _S3W (S3 Device Wake State).",<br>> +"  Test _S4W (S4 Device Wake State).",<br>> +"  Test _RST (Device Reset).",<br>> +"  Test _PRR (Power Resource for Reset).",<br>> +"  Test _S0_ (S0 System State).",<br>> +"  Test _S1_ (S1 System State).",<br>> +"  Test _S2_ (S2 System State).",<br>> +"  Test _S3_ (S3 System State).",<br>> +"  Test _S4_ (S4 System State).",<br>> +"  Test _S5_ (S5 System State).",<br>> +"  Test _SWS (System Wake Source).",<br>> +"  Test _PSS (Performance Supported States).",<br>> +"  Test _CPC (Continuous Performance Control).",<br>> +"  Test _CSD (C State Dependencies).",<br>> +"  Test _CST (C States).",<br>> +"  Test _PCT (Performance Control).",<br>> +"  Test _PDL (P-State Depth Limit).",<br>> +"  Test _PPC (Performance Present Capabilities).",<br>> +"  Test _PPE (Polling for Platform Error).",<br>> +"  Test _PSD (Power State Dependencies).",<br>> +"  Test _PTC (Processor Throttling Control).",<br>> +"  Test _TDL (T-State Depth Limit).",<br>> +"  Test _TPC (Throttling Present Capabilities).",<br>> +"  Test _TSD (Throttling State Dependencies).",<br>> +"  Test _TSS (Throttling Supported States).",<br>> +"  Test _LPI (Low Power Idle States).",<br>> +"  Test _RDI (Resource Dependencies for Idle).",<br>> +"  Test _PUR (Processor Utilization Request).",<br>> +"  Test _MSG (Message).",<br>> +"  Test _SST (System Status).",<br>> +"  Test _ALC (Ambient Light Colour Chromaticity).",<br>> +"  Test _ALI (Ambient Light Illuminance).",</tt><br><tt>> +"  Test _ALT (Ambient Light Temperature).",<br>> +"  Test _ALP (Ambient Light Polling).",<br>> +"  Test _ALR (Ambient Light Response).",<br>> +"  Test _LID (Lid Status).",<br>> +"  Test _GTF (Get Task File).",<br>> +"  Test _GTM (Get Timing Mode).",<br>> +"  Test _MBM (Memory Bandwidth Monitoring Data).",<br>> +"  Test _UPC (USB Port Capabilities).",<br>> +"  Test _UPD (User Presence Detect).",<br>> +"  Test _UPP (User Presence Polling).",<br>> +"  Test _GCP (Get Capabilities).",<br>> +"  Test _GRT (Get Real Time).",<br>> +"  Test _GWS (Get Wake Status).",<br>> +"  Test _CWS (Clear Wake Status).",<br>> +"  Test _STP (Set Expired Timer Wake Policy).",<br>> +"  Test _STV (Set Timer Value).",<br>> +"  Test _TIP (Expired Timer Wake Policy).",<br>> +"  Test _TIV (Timer Values).",<br>> +"  Test _SBS (Smart Battery Subsystem).",<br>> +"  Test _BCT (Battery Charge Time).",<br>> +"  Test _BIF (Battery Information).",<br>> +"  Test _BIX (Battery Information Extended).",<br>> +"  Test _BMA (Battery Measurement Averaging).",<br>> +"  Test _BMC (Battery Maintenance Control).",<br>> +"  Test _BMD (Battery Maintenance Data).",<br>> +"  Test _BMS (Battery Measurement Sampling Time).",<br>> +"  Test _BST (Battery Status).",<br>> +"  Test _BTP (Battery Trip Point).",<br>> +"  Test _BTH (Battery Throttle Limit).",<br>> +"  Test _BTM (Battery Time).",<br>> +"  Test _PCL (Power Consumer List).",<br>> +"  Test _PIF (Power Source Information).",<br>> +"  Test _PRL (Power Source Redundancy List).",<br>> +"  Test _PSR (Power Source).",<br>> +"  Test _GAI (Get Averaging Level).",<br>> +"  Test _GHL (Get Harware Limit).",<br>> +"  Test _PMC (Power Meter Capabilities).",<br>> +"  Test _PMD (Power Meter Devices).",<br>> +"  Test _PMM (Power Meter Measurement).",<br>> +"  Test _WPC (Wireless Power Calibration).",<br>> +"  Test _WPP (Wireless Power Polling).",<br>> +"  Test _FIF (Fan Information).",<br>> +"  Test _FPS (Fan Performance States).",<br>> +"  Test _FSL (Fan Set Level).",<br>> +"  Test _FST (Fan Status).",<br>> +"  Test _ACx (Active Cooling).",<br>> +"  Test _ART (Active Cooling Relationship Table).",<br>> +"  Test _CRT (Critical Trip Point).",<br>> +"  Test _CR3 (Warm/Standby Temperature).",<br>> +"  Test _DTI (Device Temperature Indication).",<br>> +"  Test _HOT (Hot Temperature).",<br>> +"  Test _MTL (Minimum Throttle Limit).",<br>> +"  Test _NTT (Notification Temp Threshold).",<br>> +"  Test _PSL (Passive List).",<br>> +"  Test _PSV (Passive Temp).",<br>> +"  Test _RTV (Relative Temp Values).",<br>> +"  Test _SCP (Set Cooling Policy).",<br>> +"  Test _TC1 (Thermal Constant 1).",<br>> +"  Test _TC2 (Thermal Constant 2).",<br>> +"  Test _TFP (Thermal fast Sampling Period).",<br>> +"  Test _TMP (Thermal Zone Current Temp).",<br>> +"  Test _TPT (Trip Point Temperature).",<br>> +"  Test _TRT (Thermal Relationship Table).",<br>> +"  Test _TSN (Thermal Sensor Device).",<br>> +"  Test _TSP (Thermal Sampling Period).",<br>> +"  Test _TST (Temperature Sensor Threshold).",<br>> +"  Test _TZD (Thermal Zone Devices).",<br>> +"  Test _TZM (Thermal Zone member).",<br>> +"  Test _TZP (Thermal Zone Polling).",<br>> +"  Test _GPE (General Purpose Events).",<br>> +"  Test _EC_ (EC Offset Query).",<br>> +"  Test _PTS (Prepare to Sleep).",<br>> +"  Test _TTS (Transition to State).",<br>> +"  Test _WAK (System Wake).",<br>> +"  Test _ADR (Return Unique ID for Device).",<br>> +"  Test _BCL (Query List of Brightness Control Levels Supported).",<br>> +"  Test _BCM (Set Brightness Level).",<br>> +"  Test _BQC (Brightness Query Current Level).",<br>> +"  Test _DCS (Return the Status of Output Device).",<br>> +"  Test _DDC (Return the EDID for this Device).",<br>> +"  Test _DSS (Device Set State).",<br>> +"  Test _DGS (Query Graphics State).",<br>> +"  Test _DOD (Enumerate All Devices Attached to Display Adapter).",<br>> +"  Test _DOS (Enable/Disable Output Switching).",<br>> +"  Test _GPD (Get POST Device).",<br>> +"  Test _ROM (Get ROM Data).",<br>> +"  Test _SPD (Set POST Device).",<br>> +"  Test _VPO (Video POST Options).",<br>> +"  Test _CBA (Configuration Base Address).",<br>> +"  Test _IFT (IPMI Interface Type).",<br>> +"  Test _SRV (IPMI Interface Revision).",<br>> +" msct            (1 test):",<br>> +"  MSCT Maximum System Characteristics Table test.",<br>> +" msdm            (1 test):",<br>> +"  MSDM Microsoft Data Management Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" pcc             (1 test):",<br>> +"  Processor Clocking Control (PCC) test.",<br>> +#endif<br>> +" rsdp            (1 test):",<br>> +"  RSDP Root System Description Pointer test.",<br>> +" rsdt            (1 test):",<br>> +"  RSDT Root System Description Table test.",<br>> +" sbst            (1 test):",<br>> +"  SBST Smart Battery Specificiation Table test.",<br>> +" slic            (1 test):",<br>> +"  SLIC Software Licensing Description Table test.",<br>> +" slit            (1 test):",<br>> +"  SLIT System Locality Distance Information test.",<br>> +" spcr            (1 test):",<br>> +"  SPCR Serial Port Console Redirection Table test.",<br>> +" spmi            (1 test):",<br>> +"  SPMI Service Processor Management Interface Description Table test.",<br>> +" srat            (1 test):",<br>> +"  SRAT System Resource Affinity Table test.",<br>> +" stao            (1 test):",<br>> +"  STAO Status Override Table test.",<br>> +" tcpa            (1 test):",<br>> +"  Validate TCPA table.",<br>> +" tpm2            (1 test):",<br>> +"  Validate TPM2 table.",<br>> +" uefi            (1 test):",<br>> +"  UEFI Data Table test.",<br>> +" waet            (1 test):",<br>> +"  Windows ACPI Emulated Devices Table test.",<br>> +" wdat            (1 test):",<br>> +"  WDAT Microsoft Hardware Watchdog Action Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" wmi             (1 test):",<br>> +"  Windows Management Instrumentation test.",<br>> +#endif<br>> +" xenv            (1 test):",<br>> +"  Validate XENV table.",<br>> +" xsdt            (1 test):",<br>> +"  XSDT Extended System Description Table test.",<br>> +"",<br>> +"Batch tests:",<br>> +" acpiinfo        (3 tests):",<br>> +"  Determine Kernel ACPI version.",<br>> +"  Determine machine's ACPI version.",<br>> +"  Determine AML compiler.",<br>> +" acpitables      (1 test):",<br>> +"  Test ACPI headers.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" apicedge        (1 test):",<br>> +"  Legacy and PCI Interrupt Edge/Level trigger tests.",<br>> +" apicinstance    (1 test):",<br>> +"  Test for single instance of APIC/MADT table.",<br>> +#endif<br>> +" asf             (1 test):",<br>> +"  ASF! Alert Standard Format Table test.",<br>> +" aspm            (2 tests):",<br>> +"  PCIe ASPM ACPI test.",<br>> +"  PCIe ASPM registers test.",<br>> +" aspt            (1 test):",<br>> +"  ASPT Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" autobrightness  (2 tests):",<br>> +"  Test for maximum and actual brightness.",<br>> +"  Change actual brightness.",<br>> +#endif<br>> +" bert            (1 test):",<br>> +"  BERT Boot Error Record Table test.",<br>> +" bgrt            (1 test):",<br>> +"  BGRT Boot Graphics Resource Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" bios32          (1 test):",<br>> +"  BIOS32 Service Directory test.",<br>> +" bios_info       (1 test):",<br>> +"  Gather BIOS DMI information",<br>> +#endif<br>> +" bmc_info        (1 test):",<br>> +"  BMC Info",<br>> +" boot            (1 test):",<br>> +"  BOOT Table test.",<br>> +" checksum        (1 test):",<br>> +"  ACPI table checksum test.",<br>> +" cpep            (1 test):",<br>> +"  CPEP Corrected Platform Error Polling Table test.",<br>> +" cpufreq         (7 tests):",<br>> +"  CPU frequency table consistency",<br>> +"  CPU frequency table duplicates",<br>> +"  CPU frequency firmware limits",<br>> +"  CPU frequency claimed maximum",<br>> +"  CPU frequency SW_ANY control",<br>> +"  CPU frequency SW_ALL control",<br>> +"  CPU frequency performance tests.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" crs             (1 test):",<br>> +"  Test PCI host bridge configuration using _CRS.",<br>> +" csm             (1 test):",<br>> +"  UEFI Compatibility Support Module test.",<br>> +#endif<br>> +" csrt            (1 test):",<br>> +"  CSRT Core System Resource Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" cstates         (1 test):",<br>> +"  Test all CPUs C-states.",<br>> +#endif<br>> +" dbg2            (1 test):",<br>> +"  DBG2 (Debug Port Table 2) test.",<br>> +" dbgp            (1 test):",<br>> +"  DBGP (Debug Port) Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" dmar            (1 test):",<br>> +"  DMA Remapping test.",<br>> +" dmicheck        (3 tests):",<br>> +"  Find and test SMBIOS Table Entry Points.",<br>> +"  Test DMI/SMBIOS tables for errors.",<br>> +"  Test DMI/SMBIOS3 tables for errors.",<br>> +#endif<br>> +#ifdef HAVE_LIBFDT<br>> +" dt_base         (3 tests):",<br>> +"  Check device tree presence",<br>> +"  Check device tree baseline validity",<br>> +"  Check device tree warnings",<br>> +" dt_sysinfo      (3 tests):",<br>> +"  Check model property",<br>> +"  Check system-id property",<br>> +"  Check OpenPOWER Reference compatible",<br>> +#endif<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" ebda            (1 test):",<br>> +"  Test EBDA is reserved in E820 table.",<br>> +#endif<br>> +" ecdt            (1 test):",<br>> +"  ECDT Embedded Controller Boot Resources Table test.",<br>> +" einj            (1 test):",<br>> +"  EINJ Error Injection Table test.",<br>> +" erst            (1 test):",<br>> +"  ERST Error Record Serialization Table test.",<br>> +" facs            (1 test):",<br>> +"  FACS Firmware ACPI Control Structure test.",<br>> +" fadt            (6 tests):",<br>> +"  ACPI FADT Description Table flag info.",<br>> +"  FADT checksum test.",<br>> +"  FADT revision test.",<br>> +"  ACPI FADT Description Table tests.",<br>> +"  Test FADT SCI_EN bit is enabled.",<br>> +"  Test FADT reset register.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" fan             (2 tests):",<br>> +"  Test fan status.",<br>> +"  Load system, check CPU fan status.",<br>> +#endif<br>> +" fpdt            (1 test):",<br>> +"  FPDT Firmware Performance Data Table test.",<br>> +" gtdt            (1 test):",<br>> +"  GTDT Generic Timer Description Table test.",<br>> +" hda_audio       (1 test):",<br>> +"  HDA Audio Pin Configuration test.",<br>> +" hest            (1 test):",<br>> +"  HEST Hardware Error Source Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" hpet            (4 tests):",<br>> +"  Test HPET base in kernel log.",<br>> +"  Test HPET base in HPET table.",<br>> +"  Test HPET base in DSDT and/or SSDT.",<br>> +"  Test HPET configuration.",<br>> +#endif<br>> +" iort            (1 test):",<br>> +"  IORT IO Remapping Table test.",<br>> +" klog            (1 test):",<br>> +"  Kernel log error check.",<br>> +" lpit            (1 test):",<br>> +"  LPIT Low Power Idle Table test.",<br>> +" madt            (5 tests):",<br>> +"  MADT checksum test.",<br>> +"  MADT revision test.",<br>> +"  MADT architecture minimum revision test.",<br>> +"  MADT flags field reserved bits test.",<br>> +"  MADT subtable tests.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" maxfreq         (1 test):",<br>> +"  Maximum CPU frequency test.",<br>> +#endif<br>> +" maxreadreq      (1 test):",<br>> +"  Test firmware settings MaxReadReq for PCI Express devices.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" mcfg            (2 tests):",<br>> +"  Validate MCFG table.",<br>> +"  Validate MCFG PCI config space.",<br>> +#endif<br>> +" mchi            (1 test):",<br>> +"  MCHI Management Controller Host Interface Table test.",<br>> +" method          (191 tests):",<br>> +"  Test Method Names.",<br>> +"  Test _AEI.",<br>> +"  Test _EVT (Event Method).",<br>> +"  Test _DLM (Device Lock Mutex).",<br>> +"  Test _PIC (Inform AML of Interrupt Model).",<br>> +"  Test _CID (Compatible ID).",<br>> +"  Test _DDN (DOS Device Name).",<br>> +"  Test _HID (Hardware ID).",<br>> +"  Test _HRV (Hardware Revision Number).",<br>> +"  Test _MLS (Multiple Language String).",<br>> +"  Test _PLD (Physical Device Location).",<br>> +"  Test _SUB (Subsystem ID).",<br>> +"  Test _SUN (Slot User Number).",<br>> +"  Test _STR (String).",<br>> +"  Test _UID (Unique ID).",<br>> +"  Test _CDM (Clock Domain).",<br>> +"  Test _CRS (Current Resource Settings).",<br>> +"  Test _DSD (Device Specific Data).",<br>> +"  Test _DIS (Disable).",<br>> +"  Test _DMA (Direct Memory Access).",<br>> +"  Test _FIX (Fixed Register Resource Provider).",<br>> +"  Test _GSB (Global System Interrupt Base).",<br>> +"  Test _HPP (Hot Plug Parameters).",<br>> +"  Test _PRS (Possible Resource Settings).",<br>> +"  Test _PRT (PCI Routing Table).",<br>> +"  Test _PXM (Proximity).",<br>> +"  Test _CCA (Cache Coherency Attribute).",<br>> +"  Test _EDL (Eject Device List).",<br>> +"  Test _EJD (Ejection Dependent Device).",<br>> +"  Test _EJ0 (Eject).",<br>> +"  Test _EJ1 (Eject).",<br>> +"  Test _EJ2 (Eject).",<br>> +"  Test _EJ3 (Eject).",<br>> +"  Test _EJ4 (Eject).",<br>> +"  Test _LCK (Lock).",<br>> +"  Test _RMV (Remove).",<br>> +"  Test _STA (Status).",<br>> +"  Test _DEP (Operational Region Dependencies).",<br>> +"  Test _BDN (BIOS Dock Name).",<br>> +"  Test _BBN (Base Bus Number).",<br>> +"  Test _DCK (Dock).",<br>> +"  Test _INI (Initialize).",<br>> +"  Test _GLK (Global Lock).",<br>> +"  Test _SEG (Segment).",<br>> +"  Test _OFF (Set resource off).",<br>> +"  Test _ON_ (Set resource on).",<br>> +"  Test _DSW (Device Sleep Wake).",<br>> +"  Test _IRC (In Rush Current).",<br>> +"  Test _PRE (Power Resources for Enumeration).",<br>> +"  Test _PR0 (Power Resources for D0).",<br>> +"  Test _PR1 (Power Resources for D1).",<br>> +"  Test _PR2 (Power Resources for D2).",<br>> +"  Test _PR3 (Power Resources for D3).",<br>> +"  Test _PRW (Power Resources for Wake).",<br>> +"  Test _PS0 (Power State 0).",<br>> +"  Test _PS1 (Power State 1).",<br>> +"  Test _PS2 (Power State 2).",<br>> +"  Test _PS3 (Power State 3).",<br>> +"  Test _PSC (Power State Current).",<br>> +"  Test _PSE (Power State for Enumeration).",<br>> +"  Test _PSW (Power State Wake).",<br>> +"  Test _S1D (S1 Device State).",<br>> +"  Test _S2D (S2 Device State).",<br>> +"  Test _S3D (S3 Device State).",<br>> +"  Test _S4D (S4 Device State).",<br>> +"  Test _S0W (S0 Device Wake State).",<br>> +"  Test _S1W (S1 Device Wake State).",<br>> +"  Test _S2W (S2 Device Wake State).",<br>> +"  Test _S3W (S3 Device Wake State).",<br>> +"  Test _S4W (S4 Device Wake State).",<br>> +"  Test _RST (Device Reset).",<br>> +"  Test _PRR (Power Resource for Reset).",<br>> +"  Test _S0_ (S0 System State).",<br>> +"  Test _S1_ (S1 System State).",<br>> +"  Test _S2_ (S2 System State).",<br>> +"  Test _S3_ (S3 System State).",<br>> +"  Test _S4_ (S4 System State).",<br>> +"  Test _S5_ (S5 System State).",<br>> +"  Test _SWS (System Wake Source).",<br>> +"  Test _PSS (Performance Supported States).",<br>> +"  Test _CPC (Continuous Performance Control).",<br>> +"  Test _CSD (C State Dependencies).",<br>> +"  Test _CST (C States).",<br>> +"  Test _PCT (Performance Control).",<br>> +"  Test _PDL (P-State Depth Limit).",<br>> +"  Test _PPC (Performance Present Capabilities).",<br>> +"  Test _PPE (Polling for Platform Error).",<br>> +"  Test _PSD (Power State Dependencies).",<br>> +"  Test _PTC (Processor Throttling Control).",<br>> +"  Test _TDL (T-State Depth Limit).",<br>> +"  Test _TPC (Throttling Present Capabilities).",<br>> +"  Test _TSD (Throttling State Dependencies).",<br>> +"  Test _TSS (Throttling Supported States).",<br>> +"  Test _LPI (Low Power Idle States).",<br>> +"  Test _RDI (Resource Dependencies for Idle).",<br>> +"  Test _PUR (Processor Utilization Request).",<br>> +"  Test _MSG (Message).",<br>> +"  Test _SST (System Status).",<br>> +"  Test _ALC (Ambient Light Colour Chromaticity).",<br>> +"  Test _ALI (Ambient Light Illuminance).",<br>> +"  Test _ALT (Ambient Light Temperature).",<br>> +"  Test _ALP (Ambient Light Polling).",<br>> +"  Test _ALR (Ambient Light Response).",<br>> +"  Test _LID (Lid Status).",<br>> +"  Test _GTF (Get Task File).",<br>> +"  Test _GTM (Get Timing Mode).",<br>> +"  Test _MBM (Memory Bandwidth Monitoring Data).",<br>> +"  Test _UPC (USB Port Capabilities).",<br>> +"  Test _UPD (User Presence Detect).",<br>> +"  Test _UPP (User Presence Polling).",<br>> +"  Test _GCP (Get Capabilities).",<br>> +"  Test _GRT (Get Real Time).",<br>> +"  Test _GWS (Get Wake Status).",<br>> +"  Test _CWS (Clear Wake Status).",<br>> +"  Test _STP (Set Expired Timer Wake Policy).",<br>> +"  Test _STV (Set Timer Value).",<br>> +"  Test _TIP (Expired Timer Wake Policy).",<br>> +"  Test _TIV (Timer Values).",<br>> +"  Test _SBS (Smart Battery Subsystem).",<br>> +"  Test _BCT (Battery Charge Time).",<br>> +"  Test _BIF (Battery Information).",<br>> +"  Test _BIX (Battery Information Extended).",<br>> +"  Test _BMA (Battery Measurement Averaging).",<br>> +"  Test _BMC (Battery Maintenance Control).",<br>> +"  Test _BMD (Battery Maintenance Data).",<br>> +"  Test _BMS (Battery Measurement Sampling Time).",<br>> +"  Test _BST (Battery Status).",<br>> +"  Test _BTP (Battery Trip Point).",<br>> +"  Test _BTH (Battery Throttle Limit).",<br>> +"  Test _BTM (Battery Time).",<br>> +"  Test _PCL (Power Consumer List).",<br>> +"  Test _PIF (Power Source Information).",<br>> +"  Test _PRL (Power Source Redundancy List).",<br>> +"  Test _PSR (Power Source).",<br>> +"  Test _GAI (Get Averaging Level).",<br>> +"  Test _GHL (Get Harware Limit).",<br>> +"  Test _PMC (Power Meter Capabilities).",<br>> +"  Test _PMD (Power Meter Devices).",<br>> +"  Test _PMM (Power Meter Measurement).",<br>> +"  Test _WPC (Wireless Power Calibration).",<br>> +"  Test _WPP (Wireless Power Polling).",<br>> +"  Test _FIF (Fan Information).",<br>> +"  Test _FPS (Fan Performance States).",<br>> +"  Test _FSL (Fan Set Level).",<br>> +"  Test _FST (Fan Status).",<br>> +"  Test _ACx (Active Cooling).",<br>> +"  Test _ART (Active Cooling Relationship Table).",<br>> +"  Test _CRT (Critical Trip Point).",<br>> +"  Test _CR3 (Warm/Standby Temperature).",<br>> +"  Test _DTI (Device Temperature Indication).",<br>> +"  Test _HOT (Hot Temperature).",<br>> +"  Test _MTL (Minimum Throttle Limit).",<br>> +"  Test _NTT (Notification Temp Threshold).",<br>> +"  Test _PSL (Passive List).",<br>> +"  Test _PSV (Passive Temp).",<br>> +"  Test _RTV (Relative Temp Values).",<br>> +"  Test _SCP (Set Cooling Policy).",<br>> +"  Test _TC1 (Thermal Constant 1).",<br>> +"  Test _TC2 (Thermal Constant 2).",<br>> +"  Test _TFP (Thermal fast Sampling Period).",<br>> +"  Test _TMP (Thermal Zone Current Temp).",<br>> +"  Test _TPT (Trip Point Temperature).",<br>> +"  Test _TRT (Thermal Relationship Table).",<br>> +"  Test _TSN (Thermal Sensor Device).",<br>> +"  Test _TSP (Thermal Sampling Period).",<br>> +"  Test _TST (Temperature Sensor Threshold).",<br>> +"  Test _TZD (Thermal Zone Devices).",<br>> +"  Test _TZM (Thermal Zone member).",<br>> +"  Test _TZP (Thermal Zone Polling).",<br>> +"  Test _GPE (General Purpose Events).",<br>> +"  Test _EC_ (EC Offset Query).",<br>> +"  Test _PTS (Prepare to Sleep).",<br>> +"  Test _TTS (Transition to State).",<br>> +"  Test _WAK (System Wake).",<br>> +"  Test _ADR (Return Unique ID for Device).",<br>> +"  Test _BCL (Query List of Brightness Control Levels Supported).",<br>> +"  Test _BCM (Set Brightness Level).",<br>> +"  Test _BQC (Brightness Query Current Level).",<br>> +"  Test _DCS (Return the Status of Output Device).",<br>> +"  Test _DDC (Return the EDID for this Device).",<br>> +"  Test _DSS (Device Set State).",<br>> +"  Test _DGS (Query Graphics State).",<br>> +"  Test _DOD (Enumerate All Devices Attached to Display Adapter).",<br>> +"  Test _DOS (Enable/Disable Output Switching).",<br>> +"  Test _GPD (Get POST Device).",<br>> +"  Test _ROM (Get ROM Data).",<br>> +"  Test _SPD (Set POST Device).",<br>> +"  Test _VPO (Video POST Options).",<br>> +"  Test _CBA (Configuration Base Address).",<br>> +"  Test _IFT (IPMI Interface Type).",<br>> +"  Test _SRV (IPMI Interface Revision).",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" microcode       (1 test):",<br>> +"  Test for most recent microcode being loaded.",<br>> +" mpcheck         (9 tests):",<br>> +"  Test MP header.",<br>> +"  Test MP CPU entries.",<br>> +"  Test MP Bus entries.",<br>> +"  Test MP IO APIC entries.",<br>> +"  Test MP IO Interrupt entries.",<br>> +"  Test MP Local Interrupt entries.",<br>> +"  Test MP System Address entries.",<br>> +"  Test MP Bus Hierarchy entries.",<br>> +"  Test MP Compatible Bus Address Space entries.",<br>> +#endif<br>> +" msct            (1 test):",<br>> +"  MSCT Maximum System Characteristics Table test.",<br>> +" msdm            (1 test):",<br>> +"  MSDM Microsoft Data Management Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" msr             (5 tests):",<br>> +"  Test CPU generic MSRs.",<br>> +"  Test CPU specific model MSRs.",<br>> +"  Test all P State Ratios.",<br>> +"  Test C1 and C3 autodemotion.",<br>> +"  Test SMRR MSR registers.",<br>> +" mtrr            (3 tests):",<br>> +"  Validate the kernel MTRR IOMEM setup.",<br>> +"  Validate the MTRR setup across all processors.",<br>> +"  Test for AMD MtrrFixDramModEn being cleared by the BIOS.",<br>> +" nx              (3 tests):",<br>> +"  Test CPU NX capability.",<br>> +"  Test all CPUs have same BIOS set NX flag.",<br>> +"  Test all CPUs have same msr setting in MSR 0x1a0.",<br>> +#endif<br>> +" olog            (1 test):",<br>> +"  OLOG scan and analysis checks results.",<br>> +" oops            (1 test):",<br>> +"  Kernel log oops check.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" osilinux        (1 test):",<br>> +"  Disassemble DSDT to check for _OSI(\"Linux\").",<br>> +" pcc             (1 test):",<br>> +"  Processor Clocking Control (PCC) test.",<br>> +" pciirq          (1 test):",<br>> +"  PCI IRQ Routing Table test.",<br>> +" pnp             (1 test):",<br>> +"  PnP BIOS Support Installation structure test.",<br>> +#endif<br>> +" prd_info        (1 test):",<br>> +"  OPAL Processor Recovery Diagnostics Info",<br>> +" rsdp            (1 test):",<br>> +"  RSDP Root System Description Pointer test.",<br>> +" rsdt            (1 test):",<br>> +"  RSDT Root System Description Table test.",<br>> +" sbst            (1 test):",<br>> +"  SBST Smart Battery Specificiation Table test.",<br>> +" securebootcert  (1 test):",<br>> +"  UEFI secure boot test.",<br>> +" show_logs       (1 test):",<br>> +"  Show Tests Log Files",<br>> +" slic            (1 test):",<br>> +"  SLIC Software Licensing Description Table test.",<br>> +" slit            (1 test):",<br>> +"  SLIT System Locality Distance Information test.",<br>> +" spcr            (1 test):",<br>> +"  SPCR Serial Port Console Redirection Table test.",<br>> +" spmi            (1 test):",<br>> +"  SPMI Service Processor Management Interface Description Table test.",<br>> +" srat            (1 test):",<br>> +"  SRAT System Resource Affinity Table test.",<br>> +" stao            (1 test):",<br>> +"  STAO Status Override Table test.",<br>> +" syntaxcheck     (1 test):",<br>> +"  Disassemble and reassemble DSDT and SSDTs.",<br>> +" tcpa            (1 test):",<br>> +"  Validate TCPA table.",<br>> +" tpm2            (1 test):",<br>> +"  Validate TPM2 table.",<br>> +" uefi            (1 test):",<br>> +"  UEFI Data Table test.",<br>> +" uefibootpath    (1 test):",<br>> +"  Test UEFI Boot Path Boot####.",<br>> +" version         (4 tests):",<br>> +"  Gather kernel signature.",<br>> +"  Gather kernel system information.",<br>> +"  Gather kernel boot command line.",<br>> +"  Gather ACPI driver version.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" virt            (1 test):",<br>> +"  CPU Virtualisation Configuration test.",<br>> +#endif<br>> +" waet            (1 test):",<br>> +"  Windows ACPI Emulated Devices Table test.",<br>> +" wakealarm       (5 tests):",<br>> +"  Test existence of RTC with alarm interface.",<br>> +"  Trigger wakealarm for 1 seconds in the future.",<br>> +"  Test if wakealarm is fired.",<br>> +"  Multiple wakealarm firing tests.",<br>> +"  Reset wakealarm time.",<br>> +" wdat            (1 test):",<br>> +"  WDAT Microsoft Hardware Watchdog Action Table test.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" wmi             (1 test):",<br>> +"  Windows Management Instrumentation test.",<br>> +#endif<br>> +" xenv            (1 test):",<br>> +"  Validate XENV table.",<br>> +" xsdt            (1 test):",<br>> +"  XSDT Extended System Description Table test.",<br>> +"",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +"Interactive tests:",<br>> +" ac_adapter      (3 tests):",<br>> +"  Test ACPI ac_adapter state.",<br>> +"  Test ac_adapter initial on-line state.",<br>> +"  Test ac_adapter state changes.",<br>> +" battery         (1 test):",<br>> +"  Battery test.",<br>> +" brightness      (3 tests):",<br>> +"  Observe all brightness changes.",<br>> +"  Observe min, max brightness changes.",<br>> +"  Test brightness hotkeys.",<br>> +" hotkey          (1 test):",</tt><br><tt>> +"  Hotkey keypress checks.",<br>> +" lid             (3 tests):",<br>> +"  Test LID buttons report open correctly.",<br>> +"  Test LID buttons on a single open/close.",<br>> +"  Test LID buttons on multiple open/close events.",<br>> +" power_button    (1 test):",<br>> +"  Test press of power button and ACPI event.",<br>> +"",<br>> +"Power States tests:",<br>> +" s3              (1 test):",<br>> +"  S3 suspend/resume test.",<br>> +" s3power         (1 test):",<br>> +"  S3 power loss during suspend test.",<br>> +" s4              (1 test):",<br>> +"  S4 hibernate/resume test.",<br>> +"",<br>> +#endif<br>> +"Utilities:",<br>> +" acpidump        (1 test):",<br>> +"  Dump ACPI tables.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" cmosdump        (1 test):",<br>> +"  Dump CMOS Memory.",<br>> +#endif<br>> +" crsdump         (1 test):",<br>> +"  Dump ACPI _CRS (Current Resource Settings).",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" ebdadump        (1 test):",<br>> +"  Dump EBDA region.",<br>> +#endif<br>> +" esrtdump        (1 test):",<br>> +"  Dump ESRT Table.",<br>> +" gpedump         (1 test):",<br>> +"  Dump GPEs.",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" memmapdump      (1 test):",<br>> +"  Dump system memory map.",<br>> +" mpdump          (1 test):",<br>> +"  Dump Multi Processor Data.",<br>> +#endif<br>> +" plddump         (1 test):",<br>> +"  Dump ACPI _PLD (Physical Device Location).",<br>> +" prsdump         (1 test):",<br>> +"  Dump ACPI _PRS (Possible Resource Settings).",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" romdump         (1 test):",<br>> +"  Dump ROM data.",<br>> +#endif<br>> +" uefidump        (1 test):",<br>> +"  Dump UEFI Variables.",<br>> +" uefivarinfo     (1 test):",<br>> +"  UEFI variable info query.",<br>> +"",<br>> +"Unsafe tests:",<br>> +" uefirtauthvar   (12 tests):",<br>> +"  Create authenticated variable test.",<br>> +"  Authenticated variable test with the same authenticated variable.",<br>> +"  Authenticated variable test with another valid authenticated"<br>> +                 " variable.",<br>> +"  Append authenticated variable test.",<br>> +"  Update authenticated variable test.",<br>> +"  Authenticated variable test with old authenticated variable.",<br>> +"  Delete authenticated variable test.",<br>> +"  Authenticated variable test with invalid modified data.",<br>> +"  Authenticated variable test with invalid modified timestamp.",<br>> +"  Authenticated variable test with different guid.",<br>> +"  Authenticated variable test with invalid attributes.",<br>> +"  Set and delete authenticated variable created by different"<br>> +                 " key test.",<br>> +" uefirtmisc      (3 tests):",<br>> +"  Test for UEFI miscellaneous runtime service interfaces.",<br>> +"  Stress test for UEFI miscellaneous runtime service interfaces.",<br>> +"  Test GetNextHighMonotonicCount with invalid NULL parameter.",<br>> +" uefirttime      (35 tests):",<br>> +"  Test UEFI RT service get time interface.",<br>> +"  Test UEFI RT service get time interface, NULL time parameter.",<br>> +"  Test UEFI RT service get time interface, NULL time and NULL"<br>> +                 " capabilties parameters.",<br>> +"  Test UEFI RT service set time interface.",<br>> +"  Test UEFI RT service set time interface, invalid year 1899.",<br>> +"  Test UEFI RT service set time interface, invalid year 10000.",<br>> +"  Test UEFI RT service set time interface, invalid month 0.",<br>> +"  Test UEFI RT service set time interface, invalid month 13.",<br>> +"  Test UEFI RT service set time interface, invalid day 0.",<br>> +"  Test UEFI RT service set time interface, invalid day 32.",<br>> +"  Test UEFI RT service set time interface, invalid hour 24.",<br>> +"  Test UEFI RT service set time interface, invalid minute 60.",<br>> +"  Test UEFI RT service set time interface, invalid second 60.",<br>> +"  Test UEFI RT service set time interface, invalid nanosecond"<br>> +                 " 1000000000.",<br>> +"  Test UEFI RT service set time interface, invalid timezone -1441.",<br>> +"  Test UEFI RT service set time interface, invalid timezone 1441.",<br>> +"  Test UEFI RT service get wakeup time interface.",<br>> +"  Test UEFI RT service get wakeup time interface, NULL enabled"<br>> +                 " parameter.",<br>> +"  Test UEFI RT service get wakeup time interface, NULL pending"<br>> +                 " parameter.",<br>> +"  Test UEFI RT service get wakeup time interface, NULL time"<br>> +                 " parameter.",<br>> +"  Test UEFI RT service get wakeup time interface, NULL enabled,"<br>> +                 " pending and time parameters.",<br>> +"  Test UEFI RT service set wakeup time interface.",<br>> +"  Test UEFI RT service set wakeup time interface, NULL time"<br>> +                 " parameter.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid year 1899.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid year 10000.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid month 0.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid month 13.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid day 0.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid day 32.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid hour 24.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid minute 60.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid second 60.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid"<br>> +                 " nanosecond 1000000000.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid"<br>> +                 " timezone -1441.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid"<br>> +                 " timezone 1441.",<br>> +" uefirtvariable  (8 tests):",<br>> +"  Test UEFI RT service get variable interface.",<br>> +"  Test UEFI RT service get next variable name interface.",<br>> +"  Test UEFI RT service set variable interface.",<br>> +"  Test UEFI RT service query variable info interface.",<br>> +"  Test UEFI RT service variable interface stress test.",<br>> +"  Test UEFI RT service set variable interface stress test.",<br>> +"  Test UEFI RT service query variable info interface stress test.",<br>> +"  Test UEFI RT service get variable interface, invalid parameters.",<br>> +"",<br>> +"UEFI tests:",<br>> +#ifdef FWTS_ARCH_INTEL<br>> +" csm             (1 test):",<br>> +"  UEFI Compatibility Support Module test.",<br>> +#endif<br>> +" esrt            (1 test):",<br>> +"  Sanity check UEFI ESRT Table.",<br>> +" securebootcert  (1 test):",<br>> +"  UEFI secure boot test.",<br>> +" uefibootpath    (1 test):",<br>> +"  Test UEFI Boot Path Boot####.",<br>> +" uefirtauthvar   (12 tests):",<br>> +"  Create authenticated variable test.",<br>> +"  Authenticated variable test with the same authenticated variable.",<br>> +"  Authenticated variable test with another valid authenticated"<br>> +                 " variable.",<br>> +"  Append authenticated variable test.",<br>> +"  Update authenticated variable test.",<br>> +"  Authenticated variable test with old authenticated variable.",<br>> +"  Delete authenticated variable test.",<br>> +"  Authenticated variable test with invalid modified data.",<br>> +"  Authenticated variable test with invalid modified timestamp.",<br>> +"  Authenticated variable test with different guid.",<br>> +"  Authenticated variable test with invalid attributes.",<br>> +"  Set and delete authenticated variable created by different"<br>> +                 " key test.",<br>> +" uefirtmisc      (3 tests):",<br>> +"  Test for UEFI miscellaneous runtime service interfaces.",<br>> +"  Stress test for UEFI miscellaneous runtime service interfaces.",<br>> +"  Test GetNextHighMonotonicCount with invalid NULL parameter.",<br>> +" uefirttime      (35 tests):",<br>> +"  Test UEFI RT service get time interface.",<br>> +"  Test UEFI RT service get time interface, NULL time parameter.",<br>> +"  Test UEFI RT service get time interface, NULL time and NULL"<br>> +                 " capabilties parameters.",<br>> +"  Test UEFI RT service set time interface.",<br>> +"  Test UEFI RT service set time interface, invalid year 1899.",<br>> +"  Test UEFI RT service set time interface, invalid year 10000.",<br>> +"  Test UEFI RT service set time interface, invalid month 0.",<br>> +"  Test UEFI RT service set time interface, invalid month 13.",<br>> +"  Test UEFI RT service set time interface, invalid day 0.",<br>> +"  Test UEFI RT service set time interface, invalid day 32.",<br>> +"  Test UEFI RT service set time interface, invalid hour 24.",<br>> +"  Test UEFI RT service set time interface, invalid minute 60.",<br>> +"  Test UEFI RT service set time interface, invalid second 60.",<br>> +"  Test UEFI RT service set time interface, invalid"<br>> +                 " nanosecond 1000000000.",<br>> +"  Test UEFI RT service set time interface, invalid timezone -1441.",<br>> +"  Test UEFI RT service set time interface, invalid timezone 1441.",<br>> +"  Test UEFI RT service get wakeup time interface.",<br>> +"  Test UEFI RT service get wakeup time interface, NULL"<br>> +                 " enabled parameter.",<br>> +"  Test UEFI RT service get wakeup time interface, NULL"<br>> +                 " pending parameter.",<br>> +"  Test UEFI RT service get wakeup time interface, NULL"<br>> +                 " time parameter.",<br>> +"  Test UEFI RT service get wakeup time interface, NULL"<br>> +                 " enabled, pending and time parameters.",<br>> +"  Test UEFI RT service set wakeup time interface.",<br>> +"  Test UEFI RT service set wakeup time interface, NULL"<br>> +                 " time parameter.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid year 1899.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid year 10000.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid month 0.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid month 13.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid day 0.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid day 32.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid hour 24.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid minute 60.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid second 60.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid"<br>> +                 " nanosecond 1000000000.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid"<br>> +                 " timezone -1441.",<br>> +"  Test UEFI RT service set wakeup time interface, invalid"<br>> +                 " timezone 1441.",<br>> +" uefirtvariable  (8 tests):",<br>> +"  Test UEFI RT service get variable interface.",<br>> +"  Test UEFI RT service get next variable name interface.",<br>> +"  Test UEFI RT service set variable interface.",<br>> +"  Test UEFI RT service query variable info interface.",<br>> +"  Test UEFI RT service variable interface stress test.",<br>> +"  Test UEFI RT service set variable interface stress test.",<br>> +"  Test UEFI RT service query variable info interface stress test.",<br>> +"  Test UEFI RT service get variable interface, invalid parameters.",<br>> +"",<br>> +"ACPI Spec Compliance tests:",<br>> +" fadt            (6 tests):",<br>> +"  ACPI FADT Description Table flag info.",<br>> +"  FADT checksum test.",<br>> +"  FADT revision test.",<br>> +"  ACPI FADT Description Table tests.",<br>> +"  Test FADT SCI_EN bit is enabled.",<br>> +"  Test FADT reset register.",<br>> +" madt            (5 tests):",<br>> +"  MADT checksum test.",<br>> +"  MADT revision test.",<br>> +"  MADT architecture minimum revision test.",<br>> +"  MADT flags field reserved bits test.",<br>> +"  MADT subtable tests.",<br>> +" rsdp            (1 test):",<br>> +"  RSDP Root System Description Pointer test.",<br>> +};<br>> +<br>> +static int show_log_create(fwts_framework *fw,<br>> +                                  char *show_abs_path_name,<br>> +                                  const char *log_name,<br>> +                                  char * log_template[],<br>> +                                  int log_array_size)<br>> +{<br>> +                 int i, count;<br>> +                 FILE *show_log;<br>> +<br>> +                 char fq_log_name[PATH_MAX+1];<br>> +<br>> +                 memset(fq_log_name, 0, sizeof(fq_log_name));<br>> +<br>> +                 /* -1 for the slash in the snprintf concatenation */<br>> +                 if (strlen(show_abs_path_name) + strlen(log_name)<br>> +                                  >= sizeof(fq_log_name)-1) {<br>> +                                  fwts_failed(fw, LOG_LEVEL_LOW, "show_log_create1",<br>> +                                                   "Unable to properly create"<br>> +                                                   " the fwts-test logs.");<br>> +                                  return FWTS_ERROR;<br>> +                 }<br>> +                 count = snprintf(fq_log_name, sizeof(fq_log_name), "%s/%s",<br>> +                                  show_abs_path_name, log_name);<br>> +<br>> +                 if ((count < 0) || (count >= (int)sizeof(fq_log_name))) {<br>> +                                  fwts_failed(fw, LOG_LEVEL_LOW, "show_log_create2",<br>> +                                                   "Unable to properly create"<br>> +                                                   " the fwts-test logs.");<br>> +                                  return FWTS_ERROR;<br>> +                 }<br>> +<br>> +                 show_log = fopen(fq_log_name, "w+");<br>> +<br>> +                 if (!show_log) {<br>> +                                  fwts_failed(fw, LOG_LEVEL_LOW, "show_log_create3",<br>> +                                                   "Unable to properly create"<br>> +                                                   " the fwts-test logs.");<br>> +                                  return FWTS_ERROR;<br>> +                 }<br>> +<br>> +                 for ( i= 0; i < log_array_size; i++) {<br>> +                                  fprintf(show_log, "%s\n", log_template[i]);<br>> +<br>> +                 }<br>> +                 if (fclose(show_log)) {<br>> +                                  fwts_failed(fw, LOG_LEVEL_LOW, "show_log_create4",<br>> +                                                   "Unable to properly create"<br>> +                                                   " the fwts-test logs.");<br>> +                                  return FWTS_ERROR;<br>> +                 }<br>> +<br>> +                 fwts_log_info(fw,<br>> +                 "Dynamic creation of %s is complete", fq_log_name);<br>> +<br>> +                 return FWTS_OK;<br>> +}<br>> +<br>> +static int show_logs_test1(fwts_framework *fw)<br>> +{<br>> +                 const char show_all_log_name[] =<br>> +                 "arg-show-tests-0001/arg-show-tests-0001.log";<br>> +                 const char show_all_full_log_name[] =<br>> +                 "arg-show-tests-full-0001/arg-show-tests-full-0001.log";<br>> +<br>> +                 int rc = 0;<br>> +                 char *fwtstestdir = NULL, *fwts_show_log_flags = NULL;<br>> +<br>> +                 char *fwts_abs_path_name;<br>> +                 char tmp_abs_path [PATH_MAX+1];<br>> +<br>> +                 memset(tmp_abs_path, 0, sizeof(tmp_abs_path));<br>> +<br>> +                 /* Use the inherited env var since these logs */<br>> +                 /* are only used during make check tests      */<br>> +                 /* For a fail safe use the FWTS_SRCDIR        */<br>> +                 /* from config.h during direct invocation     */<br>> +                 /* of show_logs                               */<br>> +<br>> +                 fwtstestdir = getenv("FWTSTESTDIR");<br>> +                 fwts_show_log_flags = getenv("FWTS_SHOW_LOGS");<br>> +<br>> +                 if (fwtstestdir != NULL) {<br>> +                                  fwts_abs_path_name = realpath(fwtstestdir,<br>> +                                                                                     tmp_abs_path);<br>> +                 } else {<br>> +                                  if (FWTS_SRCDIR == NULL) {<br>> +                                                   fwts_failed(fw, LOG_LEVEL_LOW,<br>> +                                                                    "show-logs-fq-log1",<br>> +                                                                    "Unable to properly create"<br>> +                                                                    " the fwts-test logs.");<br>> +                                                   return FWTS_ERROR;<br>> +                                  } else {<br>> +                                                   if (strlen(FWTS_SRCDIR)+11<br>> +                                                                    <= sizeof(tmp_abs_path)) {<br>> +                                                                    if (!(strncpy(tmp_abs_path,<br>> +                                                                                     FWTS_SRCDIR,<br>> +                                                                                     sizeof(tmp_abs_path))<br>> +                                                                                     == NULL)) {<br>> +                                                                                     fwts_abs_path_name =<br>> +                                                                                                      strncat(tmp_abs_path,<br>> +                                                                                                      "/fwts-test", 11);<br>> +                                                                    } else {<br>> +                                                                                     fwts_failed(fw, LOG_LEVEL_LOW,<br>> +                                                                                     "show-logs-fq-log2",<br>> +                                                                                     "Unable to properly create"<br>> +                                                                                     " the fwts-test logs.");<br>> +                                                                                     return FWTS_ERROR;<br>> +                                                                    }<br>> +                                                   }<br>> +                                  }<br>> +                 }<br>> +<br>> +                 if (fwts_abs_path_name == NULL) {<br>> +                                  fwts_failed(fw, LOG_LEVEL_LOW, "show-logs-fq-log3",<br>> +                                                   "Unable to properly create"<br>> +                                                   " the fwts-test logs.");<br>> +                                                   return FWTS_ERROR;<br>> +                 }<br>> +<br>> +                 if (fwts_show_log_flags == NULL) {<br>> +                                  rc = show_log_create(fw,<br>> +                                                   fwts_abs_path_name,<br>> +                                                   show_all_full_log_name,<br>> +                                                   fwts_show_all,<br>> +                                                   FWTS_ARRAY_LEN(fwts_show_all));<br>> +                                  if (!rc) {<br>> +                                                   rc = show_log_create(fw,<br>> +                                                                    fwts_abs_path_name,<br>> +                                                                    show_all_log_name,<br>> +                                                                    fwts_show,<br>> +                                                                    FWTS_ARRAY_LEN(fwts_show));<br>> +                                  }<br>> +                 } else {<br>> +                                  if (!strncmp(fwts_show_log_flags, "BASE", 4)){<br>> +                                                   rc = show_log_create(fw,<br>> +                                                                    fwts_abs_path_name,<br>> +                                                                    show_all_log_name,<br>> +                                                                    fwts_show,<br>> +                                                                   
 FWTS_ARRAY_LEN(fwts_show));<br>> +                                  } else {<br>> +                                                   if (!strncmp(fwts_show_log_flags, "FULL", 4)) {<br>> +                                                                    rc = show_log_create(fw,<br>> +                                                                                     fwts_abs_path_name,<br>> +                                                                                     show_all_full_log_name,<br>> +                                                                                     fwts_show_all,<br>> +                                                                                     FWTS_ARRAY_LEN(fwts_show_all));<br>> +                                                   }<br>> +                                  }<br>> +                 }<br>> +<br>> +                 if (!rc) {<br>> +                                  fwts_passed(fw, "Show Tests Log Files"<br>> +                                                   " completed successfully.");<br>> +                 } /* subroutines logged fwts failures */<br>> +<br>> +                 return rc;<br>> +}<br>> +<br>> +static fwts_framework_minor_test show_logs_tests[] = {<br>> +                 { show_logs_test1, "Show Tests Log Files" },<br>> +                 { NULL, NULL }<br>> +};<br>> +<br>> +static fwts_framework_ops show_logs_ops = {<br>> +                 .description = "Show Tests Log Files",<br>> +                 .minor_tests = show_logs_tests<br>> +};<br>> +<br>> +FWTS_REGISTER("show_logs", &show_logs_ops, FWTS_TEST_EARLY,<br>> +                 FWTS_FLAG_BATCH)<br>> <br><br>The show* text is auto-generated from the each test at startup time, so<br>this is not really a good solution as we're duplicating this in<br>fwts_show_all[] and fwts_show[] arrays. Plus, maintaining this when we<br>add extra tests will be a maintenance burden.<br><br>Sorry, NACK.<br><br>Colin<br><br>-- <br>fwts-devel mailing list<br>fwts-devel@lists.ubuntu.com<br>Modify settings or unsubscribe at: </tt><tt><a href="https://lists.ubuntu.com/mailman/listinfo/fwts-devel">https://lists.ubuntu.com/mailman/listinfo/fwts-devel</a></tt><tt><br><br></tt><br><br><BR>
</body></html>