From patchwork Tue Jul 28 13:01:47 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Colin Ian King X-Patchwork-Id: 501201 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 46B491402CA; Tue, 28 Jul 2015 23:02:24 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1ZK4WV-0006t8-5c; Tue, 28 Jul 2015 13:02:23 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1ZK4WJ-0006rT-6g for fwts-devel@lists.ubuntu.com; Tue, 28 Jul 2015 13:02:11 +0000 Received: from 1.general.cking.uk.vpn ([10.172.193.212] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1ZK4WJ-0001W3-1t for fwts-devel@lists.ubuntu.com; Tue, 28 Jul 2015 13:02:11 +0000 From: Colin King To: fwts-devel@lists.ubuntu.com Subject: [PATCH 2/2] fwts-test: Add MCHI table regression tests Date: Tue, 28 Jul 2015 14:01:47 +0100 Message-Id: <1438088507-26270-3-git-send-email-colin.king@canonical.com> X-Mailer: git-send-email 2.4.6 In-Reply-To: <1438088507-26270-1-git-send-email-colin.king@canonical.com> References: <1438088507-26270-1-git-send-email-colin.king@canonical.com> X-BeenThere: fwts-devel@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Firmware Test Suite Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: fwts-devel-bounces@lists.ubuntu.com Sender: fwts-devel-bounces@lists.ubuntu.com From: Colin Ian King Signed-off-by: Colin Ian King Acked-by: Alex Hung Acked-by: Ivan Hu --- Makefile.am | 2 + .../arg-show-tests-0001/arg-show-tests-0001.log | 2 + .../arg-show-tests-full-0001.log | 4 ++ fwts-test/mchi-0001/acpidump-0001.log | 32 ++++++++++ fwts-test/mchi-0001/acpidump-0002.log | 32 ++++++++++ fwts-test/mchi-0001/mchi-0001.log | 31 ++++++++++ fwts-test/mchi-0001/mchi-0002.log | 70 ++++++++++++++++++++++ fwts-test/mchi-0001/test-0001.sh | 17 ++++++ fwts-test/mchi-0001/test-0002.sh | 17 ++++++ 9 files changed, 207 insertions(+) create mode 100644 fwts-test/mchi-0001/acpidump-0001.log create mode 100644 fwts-test/mchi-0001/acpidump-0002.log create mode 100644 fwts-test/mchi-0001/mchi-0001.log create mode 100644 fwts-test/mchi-0001/mchi-0002.log create mode 100755 fwts-test/mchi-0001/test-0001.sh create mode 100755 fwts-test/mchi-0001/test-0002.sh diff --git a/Makefile.am b/Makefile.am index 0cb63dd..31bedd9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -91,6 +91,8 @@ TESTS = fwts-test/acpidump-0001/test-0001.sh \ fwts-test/slit-0001/test-0002.sh \ fwts-test/madt-0001/test-0001.sh \ fwts-test/madt-0001/test-0002.sh \ + fwts-test/mchi-0001/test-0001.sh \ + fwts-test/mchi-0001/test-0002.sh \ fwts-test/msdm-0001/test-0001.sh \ fwts-test/msdm-0001/test-0002.sh \ fwts-test/method-0001/test-0001.sh \ 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 index 1aaf9df..fac372d 100644 --- a/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log +++ b/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log @@ -24,6 +24,7 @@ ACPI tests: lpit LPIT Low Power Idle Table test. madt MADT Multiple APIC Description Table test. mcfg MCFG PCI Express* memory mapped config space test. + mchi MCHI Management Controller Host Interface Table test. method ACPI DSDT Method Semantic tests. msdm MSDM Microsoft Data Management Table test. pcc Processor Clocking Control (PCC) test. @@ -84,6 +85,7 @@ Batch tests: maxfreq Test max CPU frequencies against max scaling frequency. maxreadreq Test firmware has set PCI Express MaxReadReq to a higher value on non-motherboard devices. mcfg MCFG PCI Express* memory mapped config space test. + mchi MCHI Management Controller Host Interface Table test. method ACPI DSDT Method Semantic tests. microcode Test if system is using latest microcode. mpcheck MultiProcessor Tables tests. 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 index 3d0906e..f7865a0 100644 --- 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 @@ -57,6 +57,8 @@ ACPI tests: mcfg (2 tests): Validate MCFG table. Validate MCFG PCI config space. + mchi (1 test): + MCHI Management Controller Host Interface Table test. method (180 tests): Test Method Names. Test _AEI. @@ -372,6 +374,8 @@ Batch tests: mcfg (2 tests): Validate MCFG table. Validate MCFG PCI config space. + mchi (1 test): + MCHI Management Controller Host Interface Table test. method (180 tests): Test Method Names. Test _AEI. diff --git a/fwts-test/mchi-0001/acpidump-0001.log b/fwts-test/mchi-0001/acpidump-0001.log new file mode 100644 index 0000000..26b9a42 --- /dev/null +++ b/fwts-test/mchi-0001/acpidump-0001.log @@ -0,0 +1,32 @@ +FACS @ 0x00000000 + 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 FACS@........... + 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ + 0020: 01 00 00 00 00 00 00 00 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 ................ + +FACP @ 0x00000000 + 0000: 46 41 43 50 f4 00 00 00 03 f9 41 4d 44 20 20 20 FACP......AMD + 0010: 47 55 41 4d 20 20 20 20 00 00 04 06 41 4d 44 20 GUAM ....AMD + 0020: 40 42 0f 00 c0 2f e9 af 92 47 e8 af 00 02 09 00 @B.../...G...... + 0030: b0 00 00 00 f0 f1 00 00 00 80 00 00 00 00 00 00 ................ + 0040: 04 80 00 00 00 00 00 00 00 82 00 00 08 80 00 00 ................ + 0050: 20 80 00 00 00 00 00 00 04 02 01 04 08 00 00 00 ............... + 0060: 65 00 e9 03 00 00 00 00 01 00 0d 00 32 00 00 00 e...........2... + 0070: a5 c1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ + 0080: 00 00 00 00 c0 2f e9 af 00 00 00 00 92 47 e8 af ...../.......G.. + 0090: 00 00 00 00 01 20 00 00 00 80 00 00 00 00 00 00 ..... .......... + 00a0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 ................ + 00b0: 04 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ + 00c0: 00 00 00 00 01 08 00 00 00 82 00 00 00 00 00 00 ................ + 00d0: 01 20 00 00 08 80 00 00 00 00 00 00 01 40 00 00 . ...........@.. + 00e0: 20 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ............... + 00f0: 00 00 00 00 .... + +MCHI @ 0x00000000 + 0000: 4d 43 48 49 45 00 00 00 01 ba 49 4e 54 45 4c 20 MCHIE.....INTEL + 0010: 54 45 4d 50 4c 41 54 45 15 07 00 02 49 4e 54 4c TEMPLATE....INTL + 0020: 19 06 15 20 02 01 87 96 a5 b4 c3 d2 e1 f0 02 00 ... ............ + 0030: 01 34 02 00 00 01 08 00 00 80 c0 08 00 00 80 ee .4.............. + 0040: ff 01 02 1f 47 ....G + diff --git a/fwts-test/mchi-0001/acpidump-0002.log b/fwts-test/mchi-0001/acpidump-0002.log new file mode 100644 index 0000000..afe2648 --- /dev/null +++ b/fwts-test/mchi-0001/acpidump-0002.log @@ -0,0 +1,32 @@ +FACS @ 0x00000000 + 0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 FACS@........... + 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ + 0020: 01 00 00 00 00 00 00 00 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 ................ + +FACP @ 0x00000000 + 0000: 46 41 43 50 f4 00 00 00 03 f9 41 4d 44 20 20 20 FACP......AMD + 0010: 47 55 41 4d 20 20 20 20 00 00 04 06 41 4d 44 20 GUAM ....AMD + 0020: 40 42 0f 00 c0 2f e9 af 92 47 e8 af 00 02 09 00 @B.../...G...... + 0030: b0 00 00 00 f0 f1 00 00 00 80 00 00 00 00 00 00 ................ + 0040: 04 80 00 00 00 00 00 00 00 82 00 00 08 80 00 00 ................ + 0050: 20 80 00 00 00 00 00 00 04 02 01 04 08 00 00 00 ............... + 0060: 65 00 e9 03 00 00 00 00 01 00 0d 00 32 00 00 00 e...........2... + 0070: a5 c1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ + 0080: 00 00 00 00 c0 2f e9 af 00 00 00 00 92 47 e8 af ...../.......G.. + 0090: 00 00 00 00 01 20 00 00 00 80 00 00 00 00 00 00 ..... .......... + 00a0: 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 ................ + 00b0: 04 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ + 00c0: 00 00 00 00 01 08 00 00 00 82 00 00 00 00 00 00 ................ + 00d0: 01 20 00 00 08 80 00 00 00 00 00 00 01 40 00 00 . ...........@.. + 00e0: 20 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ............... + 00f0: 00 00 00 00 .... + +MCHI @ 0x00000000 + 0000: 4d 43 48 49 45 00 00 00 01 a1 49 4e 54 45 4c 20 MCHIE.....INTEL + 0010: 54 45 4d 50 4c 41 54 45 15 07 00 02 49 4e 54 4c TEMPLATE....INTL + 0020: 19 06 15 20 01 fe 87 96 a5 b4 c3 d2 e1 f0 80 f0 ... ............ + 0030: f1 34 02 00 00 04 f0 20 20 80 c0 08 00 00 80 ee .4..... ....... + 0040: ff ff ff ff ff ..... + diff --git a/fwts-test/mchi-0001/mchi-0001.log b/fwts-test/mchi-0001/mchi-0001.log new file mode 100644 index 0000000..3a75218 --- /dev/null +++ b/fwts-test/mchi-0001/mchi-0001.log @@ -0,0 +1,31 @@ +mchi mchi: MCHI Management Controller Host Interface Table +mchi test. +mchi ---------------------------------------------------------- +mchi Test 1 of 1: MCHI Management Controller Host Interface +mchi Table test. +mchi MCHI Table: +mchi Interface Type: 0x02 +mchi Protocol Identifier 0x01 +mchi Protocol Data: 0x87 0x96 0xa5 0xb4 +mchi 0xc3 0xd2 0xe1 0xf0 +mchi Interrupt Type: 0x02 +mchi GPE: 0x00 +mchi PCI Device Flag: 0x01 +mchi Global System Interrupt: 0x00000234 +mchi Base Address: +mchi Address Space ID: 0x01 +mchi Register Bit Width 0x08 +mchi Register Bit Offset 0x00 +mchi Access Size 0x00 +mchi Address 0xffee80000008c080 +mchi PCI Segment Group: 0x01 +mchi PCI Bus Number: 0x02 +mchi PCI Device Number: 0x1f +mchi PCI Function Number: 0x47 +mchi +mchi PASSED: Test 1, No issues found in MCHI table. +mchi +mchi ========================================================== +mchi 1 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0 +mchi info only. +mchi ========================================================== diff --git a/fwts-test/mchi-0001/mchi-0002.log b/fwts-test/mchi-0001/mchi-0002.log new file mode 100644 index 0000000..2b63528 --- /dev/null +++ b/fwts-test/mchi-0001/mchi-0002.log @@ -0,0 +1,70 @@ +mchi mchi: MCHI Management Controller Host Interface Table +mchi test. +mchi ---------------------------------------------------------- +mchi Test 1 of 1: MCHI Management Controller Host Interface +mchi Table test. +mchi MCHI Table: +mchi Interface Type: 0x01 +mchi Protocol Identifier 0xfe +mchi Protocol Data: 0x87 0x96 0xa5 0xb4 +mchi 0xc3 0xd2 0xe1 0xf0 +mchi Interrupt Type: 0x80 +mchi GPE: 0xf0 +mchi PCI Device Flag: 0xf1 +mchi Global System Interrupt: 0x00000234 +mchi Base Address: +mchi Address Space ID: 0x04 +mchi Register Bit Width 0xf0 +mchi Register Bit Offset 0x20 +mchi Access Size 0x20 +mchi Address 0xffee80000008c080 +mchi PCI Segment Group: 0xff +mchi PCI Bus Number: 0xff +mchi PCI Device Number: 0xff +mchi PCI Function Number: 0xff +mchi +mchi FAILED [HIGH] MCHIInvalidInterfaceType: Test 1, MCHI +mchi Interface Type is 0x01 which is reserved, allowed values +mchi are 0x02..0x08 +mchi FAILED [HIGH] MCHIInvalidProtocolIdentifier: Test 1, MCHI +mchi Protocol Indentifier 0xfe which is reserved, allowed +mchi values are 0x00 (Unspecifier), 0x01 (MCTP), 0x02 (IPMI) or +mchi 255 (OEM defined) +mchi FAILED [HIGH] MCHIInterruptTypeReservedNonZero: Test 1, +mchi MCHI Interrupt Type 0x80 has some reserved bits [7:2] set, +mchi these should be all zero. +mchi FAILED [HIGH] MCHIGpeNonZero: Test 1, MCHI GPE is 0xf0 and +mchi should be zero when bit 0 of the Interrupt Type field is 0 +mchi (SCI triggered through GPE non-supported) +mchi FAILED [HIGH] MCHIPciDeviceFlagReservedNonZero: Test 1, +mchi MCHI PCI Device Flag 0xf1 has some reserved bits [7:1] set +mchi , these should be all zero. +mchi FAILED [HIGH] MCHIGsiNonZero: Test 1, MCHI Global System +mchi Interrupt is 0x234 and should be zero when bit 1 of the +mchi Interrupt Type field is 0 +mchi FAILED [HIGH] MCHIPciDeviceFlagInvalid: Test 1, MCHI PCI +mchi Device Flag is 0xf1 and bit [0] should be 0 for a SMBus +mchi Address Space ID +mchi FAILED [MEDIUM] MCHISmbusRegBitWidthNonZero: Test 1, MCHI +mchi Base Address Register Bit Width is 0xf0 and should be zero +mchi for a SMBus Address Space ID +mchi FAILED [MEDIUM] MCHISmbusRegBitOffsetNonZero: Test 1, MCHI +mchi Base Address Register Bit Offset is 0x20 and should be +mchi zero for a SMBus Address Space ID +mchi FAILED [MEDIUM] MCHISmbusRegAddressSizeInvalid: Test 1, +mchi MCHI Base Address Register Address Size is 0x20 and should +mchi be 1 (byte access) for a SMBus Address Space ID +mchi FAILED [MEDIUM] MCHISmbusAddressInvalid: Test 1, MCHI Base +mchi Address is 0xffee80000008c080 and should be 0x00..0x7f a +mchi SMBus Address Space ID +mchi FAILED [MEDIUM] MCHIPciDeviceNumberInvalid: Test 1, MCHI +mchi PCI Device Number is 0xff and reserved bits [7:5] should +mchi be zero +mchi FAILED [MEDIUM] MCHIPciFunctionNumberInvalid: Test 1, MCHI +mchi PCI Function Number is 0xff and reserved bits [7] and [5 +mchi :3] should be zero +mchi +mchi ========================================================== +mchi 0 passed, 13 failed, 0 warning, 0 aborted, 0 skipped, 0 +mchi info only. +mchi ========================================================== diff --git a/fwts-test/mchi-0001/test-0001.sh b/fwts-test/mchi-0001/test-0001.sh new file mode 100755 index 0000000..20835f6 --- /dev/null +++ b/fwts-test/mchi-0001/test-0001.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# +TEST="Test table against MCHI" +NAME=test-0001.sh +TMPLOG=$TMP/mchi.log.$$ + +$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/mchi-0001/acpidump-0001.log mchi - | cut -c7- | grep "^mchi" > $TMPLOG +diff $TMPLOG $FWTSTESTDIR/mchi-0001/mchi-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/mchi-0001/test-0002.sh b/fwts-test/mchi-0001/test-0002.sh new file mode 100755 index 0000000..0081373 --- /dev/null +++ b/fwts-test/mchi-0001/test-0002.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# +TEST="Test table against MCHI" +NAME=test-0001.sh +TMPLOG=$TMP/mchi.log.$$ + +$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/mchi-0001/acpidump-0002.log mchi - | cut -c7- | grep "^mchi" > $TMPLOG +diff $TMPLOG $FWTSTESTDIR/mchi-0001/mchi-0002.log >> $FAILURE_LOG +ret=$? +if [ $ret -eq 0 ]; then + echo PASSED: $TEST, $NAME +else + echo FAILED: $TEST, $NAME +fi + +rm $TMPLOG +exit $ret