diff mbox

[17/30] fwts-test: add RSDT specific test, replaces old acpitables-0006 test

Message ID 1434617382-9980-18-git-send-email-colin.king@canonical.com
State Accepted
Headers show

Commit Message

Colin Ian King June 18, 2015, 8:49 a.m. UTC
From: Colin Ian King <colin.king@canonical.com>

The older acpitables-0006 test is now replaced by the RSDT test

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 Makefile.am                                   |   2 +-
 fwts-test/acpitables-0006/acpidump-0001.log   |  14 ---
 fwts-test/acpitables-0006/acpitables-0001.log | 166 --------------------------
 fwts-test/acpitables-0006/test-0001.sh        |  17 ---
 fwts-test/rsdt-0001/acpidump-0001.log         |  14 +++
 fwts-test/rsdt-0001/rsdt-0001.log             | 153 ++++++++++++++++++++++++
 fwts-test/rsdt-0001/test-0001.sh              |  17 +++
 7 files changed, 185 insertions(+), 198 deletions(-)
 delete mode 100644 fwts-test/acpitables-0006/acpidump-0001.log
 delete mode 100644 fwts-test/acpitables-0006/acpitables-0001.log
 delete mode 100755 fwts-test/acpitables-0006/test-0001.sh
 create mode 100644 fwts-test/rsdt-0001/acpidump-0001.log
 create mode 100644 fwts-test/rsdt-0001/rsdt-0001.log
 create mode 100755 fwts-test/rsdt-0001/test-0001.sh

Comments

Alex Hung June 23, 2015, 5:56 a.m. UTC | #1
On 06/18/2015 04:49 PM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> The older acpitables-0006 test is now replaced by the RSDT test
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  Makefile.am                                   |   2 +-
>  fwts-test/acpitables-0006/acpidump-0001.log   |  14 ---
>  fwts-test/acpitables-0006/acpitables-0001.log | 166 --------------------------
>  fwts-test/acpitables-0006/test-0001.sh        |  17 ---
>  fwts-test/rsdt-0001/acpidump-0001.log         |  14 +++
>  fwts-test/rsdt-0001/rsdt-0001.log             | 153 ++++++++++++++++++++++++
>  fwts-test/rsdt-0001/test-0001.sh              |  17 +++
>  7 files changed, 185 insertions(+), 198 deletions(-)
>  delete mode 100644 fwts-test/acpitables-0006/acpidump-0001.log
>  delete mode 100644 fwts-test/acpitables-0006/acpitables-0001.log
>  delete mode 100755 fwts-test/acpitables-0006/test-0001.sh
>  create mode 100644 fwts-test/rsdt-0001/acpidump-0001.log
>  create mode 100644 fwts-test/rsdt-0001/rsdt-0001.log
>  create mode 100755 fwts-test/rsdt-0001/test-0001.sh
> 
> diff --git a/Makefile.am b/Makefile.am
> index d2bd113..20d20e2 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -13,7 +13,6 @@ TESTS = fwts-test/acpidump-0001/test-0001.sh \
>  	fwts-test/acpitables-0003/test-0001.sh \
>  	fwts-test/acpitables-0004/test-0001.sh \
>  	fwts-test/acpitables-0005/test-0001.sh \
> -	fwts-test/acpitables-0006/test-0001.sh \
>  	fwts-test/acpitables-0007/test-0001.sh \
>  	fwts-test/acpitables-0008/test-0001.sh \
>  	fwts-test/apicinstance-0001/test-0001.sh \
> @@ -73,6 +72,7 @@ TESTS = fwts-test/acpidump-0001/test-0001.sh \
>  	fwts-test/oops-0001/test-0003.sh \
>  	fwts-test/osilinux-0001/test-0001.sh \
>  	fwts-test/osilinux-0001/test-0002.sh \
> +	fwts-test/rsdt-0001/test-0001.sh \
>  	fwts-test/syntaxcheck-0001/test-0001.sh \
>  	fwts-test/wmi-0001/test-0001.sh \
>  	fwts-test/wmi-0001/test-0002.sh \
> diff --git a/fwts-test/acpitables-0006/acpidump-0001.log b/fwts-test/acpitables-0006/acpidump-0001.log
> deleted file mode 100644
> index 44e76ad..0000000
> --- a/fwts-test/acpitables-0006/acpidump-0001.log
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -RSDT @ 0xbf6d87f0
> -  0000: 52 53 44 54 70 00 00 00 01 07 4c 45 4e 4f 56 4f  RSDT......LENOVO
> -  0010: 54 50 2d 36 38 20 20 20 00 00 04 06 20 4c 54 50  TP-68   .... LTP
> -  0020: 00 00 00 00 00 00 00 bf 00 00 00 00 00 00 00 00  ................
> -  0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> -  0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> -  0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> -  0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> -
> -RSD PTR @ 0xf7240
> -  0000: 52 53 44 20 50 54 52 20 c5 4c 45 4e 4f 56 4f 02  RSD PTR .LENOVO.
> -  0010: 94 87 6d bf 24 00 00 00 f0 87 6d bf 00 00 00 00  ..m.$.....m.....
> -  0020: 39 00 00 00                                      9...
> -
> diff --git a/fwts-test/acpitables-0006/acpitables-0001.log b/fwts-test/acpitables-0006/acpitables-0001.log
> deleted file mode 100644
> index f25a669..0000000
> --- a/fwts-test/acpitables-0006/acpitables-0001.log
> +++ /dev/null
> @@ -1,166 +0,0 @@
> -acpitables      acpitables: ACPI table settings sanity tests.
> -acpitables      ----------------------------------------------------------
> -acpitables      Test 1 of 2: Test ACPI tables.
> -acpitables      Cannot find FACP.
> -acpitables      Table APIC not present to check.
> -acpitables      Table ECDT not present to check.
> -acpitables      Table FACP not present to check.
> -acpitables      Table GTDT not present to check.
> -acpitables      Table HPET not present to check.
> -acpitables      Table MCFG not present to check.
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 1 is null,
> -acpitables      should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 2 is null,
> -acpitables      should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 3 is null,
> -acpitables      should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 4 is null,
> -acpitables      should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 5 is null,
> -acpitables      should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 6 is null,
> -acpitables      should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 7 is null,
> -acpitables      should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 8 is null,
> -acpitables      should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 9 is null,
> -acpitables      should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 10 is null
> -acpitables      , should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 11 is null
> -acpitables      , should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 12 is null
> -acpitables      , should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 13 is null
> -acpitables      , should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 14 is null
> -acpitables      , should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 15 is null
> -acpitables      , should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 16 is null
> -acpitables      , should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 17 is null
> -acpitables      , should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 18 is null
> -acpitables      , should not be non-zero.
> -acpitables      
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables      
> -acpitables      Table RSDP not present to check.
> -acpitables      Table SBST not present to check.
> -acpitables      Table XSDT not present to check.
> -acpitables      
> -acpitables      Test 2 of 2: Test ACPI headers.
> -acpitables      PASSED: Test 2, Table RSDT has valid signature and ID
> -acpitables      strings.
> -acpitables      
> -acpitables      ==========================================================
> -acpitables      1 passed, 18 failed, 0 warning, 0 aborted, 0 skipped, 0
> -acpitables      info only.
> -acpitables      ==========================================================
> diff --git a/fwts-test/acpitables-0006/test-0001.sh b/fwts-test/acpitables-0006/test-0001.sh
> deleted file mode 100755
> index 77d2c8b..0000000
> --- a/fwts-test/acpitables-0006/test-0001.sh
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -#!/bin/bash
> -#
> -TEST="Test apcitables against broken ACPI RSDT table"
> -NAME=test-0001.sh
> -TMPLOG=$TMP/acpitables.log.$$
> -
> -$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/acpitables-0006/acpidump-0001.log acpitables - | grep "^[0-9]*[ ]*acpitables" | cut -c7- > $TMPLOG
> -diff $TMPLOG $FWTSTESTDIR/acpitables-0006/acpitables-0001.log >> $FAILURE_LOG
> -ret=$?
> -if [ $ret -eq 0 ]; then 
> -	echo PASSED: $TEST, $NAME
> -else
> -	echo FAILED: $TEST, $NAME
> -fi
> -
> -rm $TMPLOG
> -exit $ret
> diff --git a/fwts-test/rsdt-0001/acpidump-0001.log b/fwts-test/rsdt-0001/acpidump-0001.log
> new file mode 100644
> index 0000000..44e76ad
> --- /dev/null
> +++ b/fwts-test/rsdt-0001/acpidump-0001.log
> @@ -0,0 +1,14 @@
> +RSDT @ 0xbf6d87f0
> +  0000: 52 53 44 54 70 00 00 00 01 07 4c 45 4e 4f 56 4f  RSDT......LENOVO
> +  0010: 54 50 2d 36 38 20 20 20 00 00 04 06 20 4c 54 50  TP-68   .... LTP
> +  0020: 00 00 00 00 00 00 00 bf 00 00 00 00 00 00 00 00  ................
> +  0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> +  0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> +  0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> +  0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> +
> +RSD PTR @ 0xf7240
> +  0000: 52 53 44 20 50 54 52 20 c5 4c 45 4e 4f 56 4f 02  RSD PTR .LENOVO.
> +  0010: 94 87 6d bf 24 00 00 00 f0 87 6d bf 00 00 00 00  ..m.$.....m.....
> +  0020: 39 00 00 00                                      9...
> +
> diff --git a/fwts-test/rsdt-0001/rsdt-0001.log b/fwts-test/rsdt-0001/rsdt-0001.log
> new file mode 100644
> index 0000000..7843165
> --- /dev/null
> +++ b/fwts-test/rsdt-0001/rsdt-0001.log
> @@ -0,0 +1,153 @@
> +rsdt            rsdt: RSDT Root System Description Table test.
> +rsdt            ----------------------------------------------------------
> +rsdt            Cannot find FACP.
> +rsdt            Test 1 of 1: RSDT Root System Description Table test.
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 1 is null,
> +rsdt            should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 2 is null,
> +rsdt            should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 3 is null,
> +rsdt            should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 4 is null,
> +rsdt            should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 5 is null,
> +rsdt            should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 6 is null,
> +rsdt            should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 7 is null,
> +rsdt            should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 8 is null,
> +rsdt            should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 9 is null,
> +rsdt            should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 10 is null
> +rsdt            , should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 11 is null
> +rsdt            , should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 12 is null
> +rsdt            , should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 13 is null
> +rsdt            , should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 14 is null
> +rsdt            , should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 15 is null
> +rsdt            , should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 16 is null
> +rsdt            , should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 17 is null
> +rsdt            , should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 18 is null
> +rsdt            , should not be non-zero.
> +rsdt            
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt            
> +rsdt            
> +rsdt            ==========================================================
> +rsdt            0 passed, 18 failed, 0 warning, 0 aborted, 0 skipped, 0
> +rsdt            info only.
> +rsdt            ==========================================================
> diff --git a/fwts-test/rsdt-0001/test-0001.sh b/fwts-test/rsdt-0001/test-0001.sh
> new file mode 100755
> index 0000000..373e4dd
> --- /dev/null
> +++ b/fwts-test/rsdt-0001/test-0001.sh
> @@ -0,0 +1,17 @@
> +#!/bin/bash
> +#
> +TEST="Test apcitables against broken ACPI RSDT table"
> +NAME=test-0001.sh
> +TMPLOG=$TMP/rsdt.log.$$
> +
> +$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/rsdt-0001/acpidump-0001.log rsdt - | cut -c7- | grep "^rsdt" > $TMPLOG
> +diff $TMPLOG $FWTSTESTDIR/rsdt-0001/rsdt-0001.log >> $FAILURE_LOG
> +ret=$?
> +if [ $ret -eq 0 ]; then
> +	echo PASSED: $TEST, $NAME
> +else
> +	echo FAILED: $TEST, $NAME
> +fi
> +
> +rm $TMPLOG
> +exit $ret
> 

Acked-by: Alex Hung <alex.hung@canonical.com>
Ivan Hu June 24, 2015, 6:54 a.m. UTC | #2
On 2015年06月18日 16:49, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> The older acpitables-0006 test is now replaced by the RSDT test
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>   Makefile.am                                   |   2 +-
>   fwts-test/acpitables-0006/acpidump-0001.log   |  14 ---
>   fwts-test/acpitables-0006/acpitables-0001.log | 166 --------------------------
>   fwts-test/acpitables-0006/test-0001.sh        |  17 ---
>   fwts-test/rsdt-0001/acpidump-0001.log         |  14 +++
>   fwts-test/rsdt-0001/rsdt-0001.log             | 153 ++++++++++++++++++++++++
>   fwts-test/rsdt-0001/test-0001.sh              |  17 +++
>   7 files changed, 185 insertions(+), 198 deletions(-)
>   delete mode 100644 fwts-test/acpitables-0006/acpidump-0001.log
>   delete mode 100644 fwts-test/acpitables-0006/acpitables-0001.log
>   delete mode 100755 fwts-test/acpitables-0006/test-0001.sh
>   create mode 100644 fwts-test/rsdt-0001/acpidump-0001.log
>   create mode 100644 fwts-test/rsdt-0001/rsdt-0001.log
>   create mode 100755 fwts-test/rsdt-0001/test-0001.sh
>
> diff --git a/Makefile.am b/Makefile.am
> index d2bd113..20d20e2 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -13,7 +13,6 @@ TESTS = fwts-test/acpidump-0001/test-0001.sh \
>   	fwts-test/acpitables-0003/test-0001.sh \
>   	fwts-test/acpitables-0004/test-0001.sh \
>   	fwts-test/acpitables-0005/test-0001.sh \
> -	fwts-test/acpitables-0006/test-0001.sh \
>   	fwts-test/acpitables-0007/test-0001.sh \
>   	fwts-test/acpitables-0008/test-0001.sh \
>   	fwts-test/apicinstance-0001/test-0001.sh \
> @@ -73,6 +72,7 @@ TESTS = fwts-test/acpidump-0001/test-0001.sh \
>   	fwts-test/oops-0001/test-0003.sh \
>   	fwts-test/osilinux-0001/test-0001.sh \
>   	fwts-test/osilinux-0001/test-0002.sh \
> +	fwts-test/rsdt-0001/test-0001.sh \
>   	fwts-test/syntaxcheck-0001/test-0001.sh \
>   	fwts-test/wmi-0001/test-0001.sh \
>   	fwts-test/wmi-0001/test-0002.sh \
> diff --git a/fwts-test/acpitables-0006/acpidump-0001.log b/fwts-test/acpitables-0006/acpidump-0001.log
> deleted file mode 100644
> index 44e76ad..0000000
> --- a/fwts-test/acpitables-0006/acpidump-0001.log
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -RSDT @ 0xbf6d87f0
> -  0000: 52 53 44 54 70 00 00 00 01 07 4c 45 4e 4f 56 4f  RSDT......LENOVO
> -  0010: 54 50 2d 36 38 20 20 20 00 00 04 06 20 4c 54 50  TP-68   .... LTP
> -  0020: 00 00 00 00 00 00 00 bf 00 00 00 00 00 00 00 00  ................
> -  0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> -  0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> -  0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> -  0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> -
> -RSD PTR @ 0xf7240
> -  0000: 52 53 44 20 50 54 52 20 c5 4c 45 4e 4f 56 4f 02  RSD PTR .LENOVO.
> -  0010: 94 87 6d bf 24 00 00 00 f0 87 6d bf 00 00 00 00  ..m.$.....m.....
> -  0020: 39 00 00 00                                      9...
> -
> diff --git a/fwts-test/acpitables-0006/acpitables-0001.log b/fwts-test/acpitables-0006/acpitables-0001.log
> deleted file mode 100644
> index f25a669..0000000
> --- a/fwts-test/acpitables-0006/acpitables-0001.log
> +++ /dev/null
> @@ -1,166 +0,0 @@
> -acpitables      acpitables: ACPI table settings sanity tests.
> -acpitables      ----------------------------------------------------------
> -acpitables      Test 1 of 2: Test ACPI tables.
> -acpitables      Cannot find FACP.
> -acpitables      Table APIC not present to check.
> -acpitables      Table ECDT not present to check.
> -acpitables      Table FACP not present to check.
> -acpitables      Table GTDT not present to check.
> -acpitables      Table HPET not present to check.
> -acpitables      Table MCFG not present to check.
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 1 is null,
> -acpitables      should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 2 is null,
> -acpitables      should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 3 is null,
> -acpitables      should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 4 is null,
> -acpitables      should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 5 is null,
> -acpitables      should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 6 is null,
> -acpitables      should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 7 is null,
> -acpitables      should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 8 is null,
> -acpitables      should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 9 is null,
> -acpitables      should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 10 is null
> -acpitables      , should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 11 is null
> -acpitables      , should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 12 is null
> -acpitables      , should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 13 is null
> -acpitables      , should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 14 is null
> -acpitables      , should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 15 is null
> -acpitables      , should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 16 is null
> -acpitables      , should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 17 is null
> -acpitables      , should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 18 is null
> -acpitables      , should not be non-zero.
> -acpitables
> -acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
> -acpitables      points to an invalid 32 bit ACPI table header. At worse
> -acpitables      this will cause the kernel to oops, at best the kernel may
> -acpitables      ignore this. However, it should be fixed where possible.
> -acpitables
> -acpitables      Table RSDP not present to check.
> -acpitables      Table SBST not present to check.
> -acpitables      Table XSDT not present to check.
> -acpitables
> -acpitables      Test 2 of 2: Test ACPI headers.
> -acpitables      PASSED: Test 2, Table RSDT has valid signature and ID
> -acpitables      strings.
> -acpitables
> -acpitables      ==========================================================
> -acpitables      1 passed, 18 failed, 0 warning, 0 aborted, 0 skipped, 0
> -acpitables      info only.
> -acpitables      ==========================================================
> diff --git a/fwts-test/acpitables-0006/test-0001.sh b/fwts-test/acpitables-0006/test-0001.sh
> deleted file mode 100755
> index 77d2c8b..0000000
> --- a/fwts-test/acpitables-0006/test-0001.sh
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -#!/bin/bash
> -#
> -TEST="Test apcitables against broken ACPI RSDT table"
> -NAME=test-0001.sh
> -TMPLOG=$TMP/acpitables.log.$$
> -
> -$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/acpitables-0006/acpidump-0001.log acpitables - | grep "^[0-9]*[ ]*acpitables" | cut -c7- > $TMPLOG
> -diff $TMPLOG $FWTSTESTDIR/acpitables-0006/acpitables-0001.log >> $FAILURE_LOG
> -ret=$?
> -if [ $ret -eq 0 ]; then
> -	echo PASSED: $TEST, $NAME
> -else
> -	echo FAILED: $TEST, $NAME
> -fi
> -
> -rm $TMPLOG
> -exit $ret
> diff --git a/fwts-test/rsdt-0001/acpidump-0001.log b/fwts-test/rsdt-0001/acpidump-0001.log
> new file mode 100644
> index 0000000..44e76ad
> --- /dev/null
> +++ b/fwts-test/rsdt-0001/acpidump-0001.log
> @@ -0,0 +1,14 @@
> +RSDT @ 0xbf6d87f0
> +  0000: 52 53 44 54 70 00 00 00 01 07 4c 45 4e 4f 56 4f  RSDT......LENOVO
> +  0010: 54 50 2d 36 38 20 20 20 00 00 04 06 20 4c 54 50  TP-68   .... LTP
> +  0020: 00 00 00 00 00 00 00 bf 00 00 00 00 00 00 00 00  ................
> +  0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> +  0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> +  0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> +  0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
> +
> +RSD PTR @ 0xf7240
> +  0000: 52 53 44 20 50 54 52 20 c5 4c 45 4e 4f 56 4f 02  RSD PTR .LENOVO.
> +  0010: 94 87 6d bf 24 00 00 00 f0 87 6d bf 00 00 00 00  ..m.$.....m.....
> +  0020: 39 00 00 00                                      9...
> +
> diff --git a/fwts-test/rsdt-0001/rsdt-0001.log b/fwts-test/rsdt-0001/rsdt-0001.log
> new file mode 100644
> index 0000000..7843165
> --- /dev/null
> +++ b/fwts-test/rsdt-0001/rsdt-0001.log
> @@ -0,0 +1,153 @@
> +rsdt            rsdt: RSDT Root System Description Table test.
> +rsdt            ----------------------------------------------------------
> +rsdt            Cannot find FACP.
> +rsdt            Test 1 of 1: RSDT Root System Description Table test.
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 1 is null,
> +rsdt            should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 2 is null,
> +rsdt            should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 3 is null,
> +rsdt            should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 4 is null,
> +rsdt            should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 5 is null,
> +rsdt            should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 6 is null,
> +rsdt            should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 7 is null,
> +rsdt            should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 8 is null,
> +rsdt            should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 9 is null,
> +rsdt            should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 10 is null
> +rsdt            , should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 11 is null
> +rsdt            , should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 12 is null
> +rsdt            , should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 13 is null
> +rsdt            , should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 14 is null
> +rsdt            , should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 15 is null
> +rsdt            , should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 16 is null
> +rsdt            , should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 17 is null
> +rsdt            , should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 18 is null
> +rsdt            , should not be non-zero.
> +rsdt
> +rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
> +rsdt            points to an invalid 32 bit ACPI table header. At worse
> +rsdt            this will cause the kernel to oops, at best the kernel may
> +rsdt            ignore this. However, it should be fixed where possible.
> +rsdt
> +rsdt
> +rsdt            ==========================================================
> +rsdt            0 passed, 18 failed, 0 warning, 0 aborted, 0 skipped, 0
> +rsdt            info only.
> +rsdt            ==========================================================
> diff --git a/fwts-test/rsdt-0001/test-0001.sh b/fwts-test/rsdt-0001/test-0001.sh
> new file mode 100755
> index 0000000..373e4dd
> --- /dev/null
> +++ b/fwts-test/rsdt-0001/test-0001.sh
> @@ -0,0 +1,17 @@
> +#!/bin/bash
> +#
> +TEST="Test apcitables against broken ACPI RSDT table"
> +NAME=test-0001.sh
> +TMPLOG=$TMP/rsdt.log.$$
> +
> +$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/rsdt-0001/acpidump-0001.log rsdt - | cut -c7- | grep "^rsdt" > $TMPLOG
> +diff $TMPLOG $FWTSTESTDIR/rsdt-0001/rsdt-0001.log >> $FAILURE_LOG
> +ret=$?
> +if [ $ret -eq 0 ]; then
> +	echo PASSED: $TEST, $NAME
> +else
> +	echo FAILED: $TEST, $NAME
> +fi
> +
> +rm $TMPLOG
> +exit $ret
Acked-by: Ivan Hu<ivan.hu@canonical.com>
diff mbox

Patch

diff --git a/Makefile.am b/Makefile.am
index d2bd113..20d20e2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,7 +13,6 @@  TESTS = fwts-test/acpidump-0001/test-0001.sh \
 	fwts-test/acpitables-0003/test-0001.sh \
 	fwts-test/acpitables-0004/test-0001.sh \
 	fwts-test/acpitables-0005/test-0001.sh \
-	fwts-test/acpitables-0006/test-0001.sh \
 	fwts-test/acpitables-0007/test-0001.sh \
 	fwts-test/acpitables-0008/test-0001.sh \
 	fwts-test/apicinstance-0001/test-0001.sh \
@@ -73,6 +72,7 @@  TESTS = fwts-test/acpidump-0001/test-0001.sh \
 	fwts-test/oops-0001/test-0003.sh \
 	fwts-test/osilinux-0001/test-0001.sh \
 	fwts-test/osilinux-0001/test-0002.sh \
+	fwts-test/rsdt-0001/test-0001.sh \
 	fwts-test/syntaxcheck-0001/test-0001.sh \
 	fwts-test/wmi-0001/test-0001.sh \
 	fwts-test/wmi-0001/test-0002.sh \
diff --git a/fwts-test/acpitables-0006/acpidump-0001.log b/fwts-test/acpitables-0006/acpidump-0001.log
deleted file mode 100644
index 44e76ad..0000000
--- a/fwts-test/acpitables-0006/acpidump-0001.log
+++ /dev/null
@@ -1,14 +0,0 @@ 
-RSDT @ 0xbf6d87f0
-  0000: 52 53 44 54 70 00 00 00 01 07 4c 45 4e 4f 56 4f  RSDT......LENOVO
-  0010: 54 50 2d 36 38 20 20 20 00 00 04 06 20 4c 54 50  TP-68   .... LTP
-  0020: 00 00 00 00 00 00 00 bf 00 00 00 00 00 00 00 00  ................
-  0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
-  0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
-  0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
-  0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
-
-RSD PTR @ 0xf7240
-  0000: 52 53 44 20 50 54 52 20 c5 4c 45 4e 4f 56 4f 02  RSD PTR .LENOVO.
-  0010: 94 87 6d bf 24 00 00 00 f0 87 6d bf 00 00 00 00  ..m.$.....m.....
-  0020: 39 00 00 00                                      9...
-
diff --git a/fwts-test/acpitables-0006/acpitables-0001.log b/fwts-test/acpitables-0006/acpitables-0001.log
deleted file mode 100644
index f25a669..0000000
--- a/fwts-test/acpitables-0006/acpitables-0001.log
+++ /dev/null
@@ -1,166 +0,0 @@ 
-acpitables      acpitables: ACPI table settings sanity tests.
-acpitables      ----------------------------------------------------------
-acpitables      Test 1 of 2: Test ACPI tables.
-acpitables      Cannot find FACP.
-acpitables      Table APIC not present to check.
-acpitables      Table ECDT not present to check.
-acpitables      Table FACP not present to check.
-acpitables      Table GTDT not present to check.
-acpitables      Table HPET not present to check.
-acpitables      Table MCFG not present to check.
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 1 is null,
-acpitables      should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 2 is null,
-acpitables      should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 3 is null,
-acpitables      should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 4 is null,
-acpitables      should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 5 is null,
-acpitables      should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 6 is null,
-acpitables      should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 7 is null,
-acpitables      should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 8 is null,
-acpitables      should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 9 is null,
-acpitables      should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 10 is null
-acpitables      , should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 11 is null
-acpitables      , should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 12 is null
-acpitables      , should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 13 is null
-acpitables      , should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 14 is null
-acpitables      , should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 15 is null
-acpitables      , should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 16 is null
-acpitables      , should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 17 is null
-acpitables      , should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 18 is null
-acpitables      , should not be non-zero.
-acpitables      
-acpitables      ADVICE: A RSDT pointer is null and therefore erroneously
-acpitables      points to an invalid 32 bit ACPI table header. At worse
-acpitables      this will cause the kernel to oops, at best the kernel may
-acpitables      ignore this. However, it should be fixed where possible.
-acpitables      
-acpitables      Table RSDP not present to check.
-acpitables      Table SBST not present to check.
-acpitables      Table XSDT not present to check.
-acpitables      
-acpitables      Test 2 of 2: Test ACPI headers.
-acpitables      PASSED: Test 2, Table RSDT has valid signature and ID
-acpitables      strings.
-acpitables      
-acpitables      ==========================================================
-acpitables      1 passed, 18 failed, 0 warning, 0 aborted, 0 skipped, 0
-acpitables      info only.
-acpitables      ==========================================================
diff --git a/fwts-test/acpitables-0006/test-0001.sh b/fwts-test/acpitables-0006/test-0001.sh
deleted file mode 100755
index 77d2c8b..0000000
--- a/fwts-test/acpitables-0006/test-0001.sh
+++ /dev/null
@@ -1,17 +0,0 @@ 
-#!/bin/bash
-#
-TEST="Test apcitables against broken ACPI RSDT table"
-NAME=test-0001.sh
-TMPLOG=$TMP/acpitables.log.$$
-
-$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/acpitables-0006/acpidump-0001.log acpitables - | grep "^[0-9]*[ ]*acpitables" | cut -c7- > $TMPLOG
-diff $TMPLOG $FWTSTESTDIR/acpitables-0006/acpitables-0001.log >> $FAILURE_LOG
-ret=$?
-if [ $ret -eq 0 ]; then 
-	echo PASSED: $TEST, $NAME
-else
-	echo FAILED: $TEST, $NAME
-fi
-
-rm $TMPLOG
-exit $ret
diff --git a/fwts-test/rsdt-0001/acpidump-0001.log b/fwts-test/rsdt-0001/acpidump-0001.log
new file mode 100644
index 0000000..44e76ad
--- /dev/null
+++ b/fwts-test/rsdt-0001/acpidump-0001.log
@@ -0,0 +1,14 @@ 
+RSDT @ 0xbf6d87f0
+  0000: 52 53 44 54 70 00 00 00 01 07 4c 45 4e 4f 56 4f  RSDT......LENOVO
+  0010: 54 50 2d 36 38 20 20 20 00 00 04 06 20 4c 54 50  TP-68   .... LTP
+  0020: 00 00 00 00 00 00 00 bf 00 00 00 00 00 00 00 00  ................
+  0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+
+RSD PTR @ 0xf7240
+  0000: 52 53 44 20 50 54 52 20 c5 4c 45 4e 4f 56 4f 02  RSD PTR .LENOVO.
+  0010: 94 87 6d bf 24 00 00 00 f0 87 6d bf 00 00 00 00  ..m.$.....m.....
+  0020: 39 00 00 00                                      9...
+
diff --git a/fwts-test/rsdt-0001/rsdt-0001.log b/fwts-test/rsdt-0001/rsdt-0001.log
new file mode 100644
index 0000000..7843165
--- /dev/null
+++ b/fwts-test/rsdt-0001/rsdt-0001.log
@@ -0,0 +1,153 @@ 
+rsdt            rsdt: RSDT Root System Description Table test.
+rsdt            ----------------------------------------------------------
+rsdt            Cannot find FACP.
+rsdt            Test 1 of 1: RSDT Root System Description Table test.
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 1 is null,
+rsdt            should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 2 is null,
+rsdt            should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 3 is null,
+rsdt            should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 4 is null,
+rsdt            should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 5 is null,
+rsdt            should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 6 is null,
+rsdt            should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 7 is null,
+rsdt            should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 8 is null,
+rsdt            should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 9 is null,
+rsdt            should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 10 is null
+rsdt            , should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 11 is null
+rsdt            , should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 12 is null
+rsdt            , should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 13 is null
+rsdt            , should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 14 is null
+rsdt            , should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 15 is null
+rsdt            , should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 16 is null
+rsdt            , should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 17 is null
+rsdt            , should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            FAILED [HIGH] RSDTEntryNull: Test 1, RSDT Entry 18 is null
+rsdt            , should not be non-zero.
+rsdt            
+rsdt            ADVICE: A XSDT pointer is null and therefore erroneously
+rsdt            points to an invalid 32 bit ACPI table header. At worse
+rsdt            this will cause the kernel to oops, at best the kernel may
+rsdt            ignore this. However, it should be fixed where possible.
+rsdt            
+rsdt            
+rsdt            ==========================================================
+rsdt            0 passed, 18 failed, 0 warning, 0 aborted, 0 skipped, 0
+rsdt            info only.
+rsdt            ==========================================================
diff --git a/fwts-test/rsdt-0001/test-0001.sh b/fwts-test/rsdt-0001/test-0001.sh
new file mode 100755
index 0000000..373e4dd
--- /dev/null
+++ b/fwts-test/rsdt-0001/test-0001.sh
@@ -0,0 +1,17 @@ 
+#!/bin/bash
+#
+TEST="Test apcitables against broken ACPI RSDT table"
+NAME=test-0001.sh
+TMPLOG=$TMP/rsdt.log.$$
+
+$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/rsdt-0001/acpidump-0001.log rsdt - | cut -c7- | grep "^rsdt" > $TMPLOG
+diff $TMPLOG $FWTSTESTDIR/rsdt-0001/rsdt-0001.log >> $FAILURE_LOG
+ret=$?
+if [ $ret -eq 0 ]; then
+	echo PASSED: $TEST, $NAME
+else
+	echo FAILED: $TEST, $NAME
+fi
+
+rm $TMPLOG
+exit $ret