diff mbox series

[2/2] fwts-test: sync up with PMTT rev 2 changes

Message ID 20210416030954.700665-2-alex.hung@canonical.com
State Accepted
Headers show
Series [1/2] acpi: pmtt: update PMTT to revision 2 (mantis 1975) | expand

Commit Message

Alex Hung April 16, 2021, 3:09 a.m. UTC
Signed-off-by: Alex Hung <alex.hung@canonical.com>
---
 fwts-test/pmtt-0001/acpidump-0001.log |  29 +++---
 fwts-test/pmtt-0001/acpidump-0002.log |  28 +++---
 fwts-test/pmtt-0001/pmtt-0001.log     |  84 ++++++------------
 fwts-test/pmtt-0001/pmtt-0002.log     | 123 ++++++++------------------
 4 files changed, 93 insertions(+), 171 deletions(-)

Comments

Ivan Hu April 26, 2021, 6:24 a.m. UTC | #1
On 4/16/21 11:09 AM, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  fwts-test/pmtt-0001/acpidump-0001.log |  29 +++---
>  fwts-test/pmtt-0001/acpidump-0002.log |  28 +++---
>  fwts-test/pmtt-0001/pmtt-0001.log     |  84 ++++++------------
>  fwts-test/pmtt-0001/pmtt-0002.log     | 123 ++++++++------------------
>  4 files changed, 93 insertions(+), 171 deletions(-)
> 
> diff --git a/fwts-test/pmtt-0001/acpidump-0001.log b/fwts-test/pmtt-0001/acpidump-0001.log
> index 26d6b641..cb769301 100644
> --- a/fwts-test/pmtt-0001/acpidump-0001.log
> +++ b/fwts-test/pmtt-0001/acpidump-0001.log
> @@ -23,18 +23,17 @@ FACP @ 0x00000000
>    00e0: 20 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ...............
>    00f0: 00 00 00 00                                      ....
>  
> -PMTT @ 0x00000000
> -  0000: 50 4d 54 54 d8 00 00 00 01 d4 49 4e 54 45 4c 20  PMTT......INTEL 
> -  0010: 54 45 4d 50 4c 41 54 45 01 00 00 00 49 4e 54 4c  TEMPLATE....INTL
> -  0020: 27 05 16 20 00 00 00 00 00 00 98 00 01 00 00 00  '.. ............
> -  0030: 01 00 00 00 01 00 6c 00 05 00 00 00 00 f0 00 00  ......l.........
> -  0040: 00 e0 00 00 00 d0 00 00 00 c0 00 00 04 00 08 00  ................
> -  0050: 00 00 04 00 00 10 00 00 00 20 00 00 00 30 00 00  ......... ...0..
> -  0060: 00 40 00 00 02 00 14 00 02 00 00 00 00 00 00 00  .@..............
> -  0070: 00 00 00 a0 0a 00 00 00 02 00 14 00 02 00 00 00  ................
> -  0080: 01 00 00 00 00 00 00 b0 0b 00 00 00 02 00 14 00  ................
> -  0090: 02 00 00 00 01 00 00 00 00 00 00 c0 ff ff ff ff  ................
> -  00a0: 01 00 20 00 01 00 00 00 00 10 00 00 00 20 00 00  .. .......... ..
> -  00b0: 00 30 00 00 00 40 00 00 04 00 08 00 00 00 00 00  .0...@..........
> -  00c0: 00 00 0c 00 03 00 00 00 02 00 00 00 00 00 0c 00  ................
> -  00d0: 07 00 00 00 03 00 00 00                          ........
> +PMTT @ 0x0000000000000000
> +  0000: 50 4D 54 54 BB 00 00 00 02 F7 49 4E 54 45 4C 20  PMTT......INTEL 
> +  0010: 54 45 4D 50 4C 41 54 45 01 00 00 00 49 4E 54 4C  TEMPLATE....INTL
> +  0020: 31 03 21 20 08 00 00 00 00 00 10 00 01 00 00 00  1.! ............
> +  0030: 03 00 00 00 01 00 00 00 01 00 10 00 02 00 00 00  ................
> +  0040: 02 00 00 00 44 44 00 00 02 00 10 00 04 00 00 00  ....DD..........
> +  0050: 01 00 00 00 34 12 00 00 FF 00 23 00 04 00 00 00  ....4.....#.....
> +  0060: 03 00 00 00 03 02 01 00 08 04 07 06 08 09 0A 0B  ................
> +  0070: 0C 0D 0E 0F 55 66 77 88 11 AA BB 00 00 10 00 03  ....Ufw.........
> +  0080: 00 00 00 03 00 00 00 01 00 00 00 01 00 10 00 05  ................
> +  0090: 00 00 00 02 00 00 00 00 00 00 00 02 00 10 00 06  ................
> +  00A0: 00 00 00 01 00 00 00 34 12 00 00 02 00 10 00 09  .......4........
> +  00B0: 00 00 00 00 00 00 00 78 56 00 00                 .......xV..
> +
> diff --git a/fwts-test/pmtt-0001/acpidump-0002.log b/fwts-test/pmtt-0001/acpidump-0002.log
> index fc159e40..43c64e8d 100644
> --- a/fwts-test/pmtt-0001/acpidump-0002.log
> +++ b/fwts-test/pmtt-0001/acpidump-0002.log
> @@ -23,19 +23,17 @@ FACP @ 0x00000000
>    00e0: 20 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ...............
>    00f0: 00 00 00 00                                      ....
>  
> -PMTT @ 0x00000000
> -  0000: 50 4d 54 54 d8 00 00 00 01 d4 49 4e 54 45 4c 20  PMTT......INTEL 
> -  0010: 54 45 4d 50 4c 41 54 45 01 00 00 00 49 4e 54 4c  TEMPLATE....INTL
> -  0020: 27 05 16 20 00 00 00 02 00 01 98 00 01 00 03 00  '.. ............
> -  0030: 01 00 00 04 01 05 6c 00 05 00 00 00 00 f0 00 00  ......l.........
> -  0040: 00 e0 00 00 00 d0 00 00 00 c0 00 00 04 00 08 00  ................
> -  0050: 00 06 04 00 00 10 00 00 00 20 00 00 00 30 00 00  ......... ...0..
> -  0060: 00 40 00 00 02 07 14 00 02 00 00 00 00 00 00 00  .@..............
> -  0070: 00 00 00 a0 0a 00 00 00 02 00 14 00 02 00 00 00  ................
> -  0080: 01 00 00 00 00 00 00 b0 0b 00 12 34 02 00 14 00  ................
> -  0090: 02 00 00 00 01 00 00 00 00 00 00 c0 ff ff ff ff  ................
> -  00a0: 01 00 20 00 01 00 00 00 00 10 00 00 00 20 00 00  .. .......... ..
> -  00b0: 00 30 00 00 00 40 00 00 04 00 08 00 00 00 00 00  .0...@..........
> -  00c0: 00 00 0c 00 13 00 00 00 02 00 00 00 00 00 0c 00  ................
> -  00d0: 0F 00 00 00 03 00 00 00                          ........
> +PMTT @ 0x0000000000000000
> +  0000: 50 4D 54 54 BB 00 00 00 02 33 49 4E 54 45 4C 20  PMTT.....3INTEL 
> +  0010: 54 45 4D 50 4C 41 54 45 01 00 00 00 49 4E 54 4C  TEMPLATE....INTL
> +  0020: 31 03 21 20 08 00 00 00 00 00 10 00 0D 00 00 00  1.! ............
> +  0030: 03 00 00 00 01 00 00 00 01 00 10 00 02 00 00 00  ................
> +  0040: 02 00 00 00 44 44 00 00 02 00 10 00 0C 00 00 00  ....DD..........
> +  0050: 01 00 00 00 34 12 78 56 FF 00 23 00 04 00 00 00  ....4.xV..#.....
> +  0060: 03 00 00 00 03 02 01 00 08 04 07 06 08 09 0A 0B  ................
> +  0070: 0C 0D 0E 0F 55 66 77 88 11 AA BB 00 00 10 00 0F  ....Ufw.........
> +  0080: 00 00 00 03 00 00 00 01 00 00 00 01 00 10 00 05  ................
> +  0090: 00 00 00 02 00 00 00 00 00 00 00 04 00 10 00 0E  ................
> +  00A0: 00 00 00 01 00 00 00 78 56 34 12 02 00 00 00 09  .......xV4......
> +  00B0: 00 00 00 00 00 00 00 00 00 78 56                 .........xV
>  
> diff --git a/fwts-test/pmtt-0001/pmtt-0001.log b/fwts-test/pmtt-0001/pmtt-0001.log
> index cbe8b26b..21cb0864 100644
> --- a/fwts-test/pmtt-0001/pmtt-0001.log
> +++ b/fwts-test/pmtt-0001/pmtt-0001.log
> @@ -2,93 +2,67 @@ pmtt            pmtt: PMTT Memory Topology Table test.
>  pmtt            ----------------------------------------------------------
>  pmtt            Test 1 of 1: Validate PMTT table.
>  pmtt            PMTT Table:
> -pmtt              Reserved:                         0x00000000
> +pmtt              Number of Memory Devices:         0x00000008
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x00
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0098
> +pmtt                Length:                         0x0010
>  pmtt                Flags:                          0x0001
>  pmtt                Reserved:                       0x0000
>  pmtt                Socket Identifier:              0x0001
>  pmtt                Reserved:                       0x0000
> +pmtt            
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x01
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x006c
> -pmtt                Flags:                          0x0005
> -pmtt                Reserved:                       0x0000
> -pmtt                Read Latency:                   0x0000f000
> -pmtt                Write latency:                  0x0000e000
> -pmtt                Read Bandwidth:                 0x0000d000
> -pmtt                Write Bandwidth:                0x0000c000
> -pmtt                Optimal Access Unit:            0x0004
> -pmtt                Optimal Access Alignment:       0x0008
> -pmtt                Reserved:                       0x0000
> -pmtt                Number of Proximity Domains:    0x0004
> -pmtt                Proximity Domain:               0x00001000
> -pmtt                Proximity Domain:               0x00002000
> -pmtt                Proximity Domain:               0x00003000
> -pmtt                Proximity Domain:               0x00004000
> -pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
> -pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> +pmtt                Length:                         0x0010
>  pmtt                Flags:                          0x0002
>  pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0000
> +pmtt                Memory Controller ID            0x4444
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xa0000000
> -pmtt                SMBIOS Handle:                  0x0000000a
> +pmtt            
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> -pmtt                Flags:                          0x0002
> -pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0001
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0004
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xb0000000
> -pmtt                SMBIOS Handle:                  0x0000000b
> +pmtt                SMBIOS Handle:                  0x00001234
> +pmtt            
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
> +pmtt                Type:                           0x00
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> -pmtt                Flags:                          0x0002
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0003
>  pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0001
> +pmtt                Socket Identifier:              0x0001
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xc0000000
> -pmtt                SMBIOS Handle:                  0xffffffff
> +pmtt            
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x01
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0020
> -pmtt                Flags:                          0x0001
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0005
>  pmtt                Reserved:                       0x0000
> -pmtt                Read Latency:                   0x00001000
> -pmtt                Write latency:                  0x00002000
> -pmtt                Read Bandwidth:                 0x00003000
> -pmtt                Write Bandwidth:                0x00004000
> -pmtt                Optimal Access Unit:            0x0004
> -pmtt                Optimal Access Alignment:       0x0008
> +pmtt                Memory Controller ID            0x0000
>  pmtt                Reserved:                       0x0000
> -pmtt                Number of Proximity Domains:    0x0000
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x00
> +pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x000c
> -pmtt                Flags:                          0x0003
> -pmtt                Reserved:                       0x0000
> -pmtt                Socket Identifier:              0x0002
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0006
>  pmtt                Reserved:                       0x0000
> +pmtt                SMBIOS Handle:                  0x00001234
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x00
> +pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x000c
> -pmtt                Flags:                          0x0007
> -pmtt                Reserved:                       0x0000
> -pmtt                Socket Identifier:              0x0003
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0009
>  pmtt                Reserved:                       0x0000
> +pmtt                SMBIOS Handle:                  0x00005678
>  pmtt            
>  pmtt            PASSED: Test 1, No issues found in PMTT table.
>  pmtt            
> diff --git a/fwts-test/pmtt-0001/pmtt-0002.log b/fwts-test/pmtt-0001/pmtt-0002.log
> index dfa1d004..bc2d0aed 100644
> --- a/fwts-test/pmtt-0001/pmtt-0002.log
> +++ b/fwts-test/pmtt-0001/pmtt-0002.log
> @@ -2,116 +2,67 @@ pmtt            pmtt: PMTT Memory Topology Table test.
>  pmtt            ----------------------------------------------------------
>  pmtt            Test 1 of 1: Validate PMTT table.
>  pmtt            PMTT Table:
> -pmtt              Reserved:                         0x02000000
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT Reserved
> -pmtt            field must be zero, got 0x02000000 instead
> +pmtt              Number of Memory Devices:         0x00000008
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x00
> -pmtt                Reserved:                       0x01
> -pmtt                Length:                         0x0098
> -pmtt                Flags:                          0x0001
> -pmtt                Reserved:                       0x0003
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
> -pmtt            Reserved1 field must be zero, got 0x01 instead
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
> -pmtt            Reserved2 field must be zero, got 0x0003 instead
> -pmtt                Socket Identifier:              0x0001
> -pmtt                Reserved:                       0x0400
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT Reserved
> -pmtt            field must be zero, got 0x0400 instead
> -pmtt              PMTT Subtable:
> -pmtt                Type:                           0x01
> -pmtt                Reserved:                       0x05
> -pmtt                Length:                         0x006c
> -pmtt                Flags:                          0x0005
> -pmtt                Reserved:                       0x0000
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
> -pmtt            Reserved1 field must be zero, got 0x05 instead
> -pmtt                Read Latency:                   0x0000f000
> -pmtt                Write latency:                  0x0000e000
> -pmtt                Read Bandwidth:                 0x0000d000
> -pmtt                Write Bandwidth:                0x0000c000
> -pmtt                Optimal Access Unit:            0x0004
> -pmtt                Optimal Access Alignment:       0x0008
> -pmtt                Reserved:                       0x0600
> -pmtt                Number of Proximity Domains:    0x0004
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT Reserved
> -pmtt            field must be zero, got 0x0600 instead
> -pmtt                Proximity Domain:               0x00001000
> -pmtt                Proximity Domain:               0x00002000
> -pmtt                Proximity Domain:               0x00003000
> -pmtt                Proximity Domain:               0x00004000
> -pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
> -pmtt                Reserved:                       0x07
> -pmtt                Length:                         0x0014
> -pmtt                Flags:                          0x0002
> -pmtt                Reserved:                       0x0000
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
> -pmtt            Reserved1 field must be zero, got 0x07 instead
> -pmtt                Physical Component Identifier:  0x0000
> -pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xa0000000
> -pmtt                SMBIOS Handle:                  0x0000000a
> -pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> -pmtt                Flags:                          0x0002
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x000d
>  pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0001
> +pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
> +pmtt            Bits[3..2] must not be 11b
> +pmtt                Socket Identifier:              0x0001
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xb0000000
> -pmtt                SMBIOS Handle:                  0x3412000b
> -pmtt            FAILED [HIGH] PMTTBADSMBIOSHandle: Test 1, PMTT upper 2
> -pmtt            bytes must be zero, got 0x3412000b instead
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
> +pmtt                Type:                           0x01
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> +pmtt                Length:                         0x0010
>  pmtt                Flags:                          0x0002
>  pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0001
> +pmtt                Memory Controller ID            0x4444
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xc0000000
> -pmtt                SMBIOS Handle:                  0xffffffff
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x01
> +pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0020
> -pmtt                Flags:                          0x0001
> -pmtt                Reserved:                       0x0000
> -pmtt                Read Latency:                   0x00001000
> -pmtt                Write latency:                  0x00002000
> -pmtt                Read Bandwidth:                 0x00003000
> -pmtt                Write Bandwidth:                0x00004000
> -pmtt                Optimal Access Unit:            0x0004
> -pmtt                Optimal Access Alignment:       0x0008
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x000c
>  pmtt                Reserved:                       0x0000
> -pmtt                Number of Proximity Domains:    0x0000
> +pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
> +pmtt            Bits[3..2] must not be 11b
> +pmtt                SMBIOS Handle:                  0x56781234
> +pmtt            FAILED [HIGH] PMTTBADSMBIOSHandle: Test 1, PMTT upper 2
> +pmtt            bytes must be zero, got 0x56781234 instead
> +pmtt            
> +pmtt            
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x00
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x000c
> -pmtt                Flags:                          0x0013
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x000f
>  pmtt                Reserved:                       0x0000
> -pmtt            FAILED [HIGH] PMTTReservedBitsNonZero: Test 1, PMTT Flags
> -pmtt            Bits [15..4] must be zero, got 0x0013 instead
> -pmtt                Socket Identifier:              0x0002
> +pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
> +pmtt            Bits[3..2] must not be 11b
> +pmtt                Socket Identifier:              0x0001
>  pmtt                Reserved:                       0x0000
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x00
> +pmtt                Type:                           0x01
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x000c
> -pmtt                Flags:                          0x000f
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0005
>  pmtt                Reserved:                       0x0000
> -pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
> -pmtt            Bits[3..2] must not be 11b
> -pmtt                Socket Identifier:              0x0003
> +pmtt                Memory Controller ID            0x0000
>  pmtt                Reserved:                       0x0000
>  pmtt            
> +pmtt            FAILED [HIGH] PMTTBadSubtableType: Test 1, PMTT must have
> +pmtt            subtable with Type 1..2 or 0xFF, got 0x0004 instead
> +pmtt            
> +pmtt            FAILED [HIGH] PMTTLengthZero: Test 1, PMTT Subtable
> +pmtt            (offset 0x00ab) length cannot be 0
>  pmtt            
>  pmtt            ==========================================================
> -pmtt            0 passed, 10 failed, 0 warning, 0 aborted, 0 skipped, 0
> +pmtt            0 passed, 6 failed, 0 warning, 0 aborted, 0 skipped, 0
>  pmtt            info only.
>  pmtt            ==========================================================
> 

Acked-by: Ivan Hu <ivan.hu@canonical.com>
Colin Ian King May 14, 2021, 9:12 a.m. UTC | #2
On 16/04/2021 04:09, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  fwts-test/pmtt-0001/acpidump-0001.log |  29 +++---
>  fwts-test/pmtt-0001/acpidump-0002.log |  28 +++---
>  fwts-test/pmtt-0001/pmtt-0001.log     |  84 ++++++------------
>  fwts-test/pmtt-0001/pmtt-0002.log     | 123 ++++++++------------------
>  4 files changed, 93 insertions(+), 171 deletions(-)
> 
> diff --git a/fwts-test/pmtt-0001/acpidump-0001.log b/fwts-test/pmtt-0001/acpidump-0001.log
> index 26d6b641..cb769301 100644
> --- a/fwts-test/pmtt-0001/acpidump-0001.log
> +++ b/fwts-test/pmtt-0001/acpidump-0001.log
> @@ -23,18 +23,17 @@ FACP @ 0x00000000
>    00e0: 20 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ...............
>    00f0: 00 00 00 00                                      ....
>  
> -PMTT @ 0x00000000
> -  0000: 50 4d 54 54 d8 00 00 00 01 d4 49 4e 54 45 4c 20  PMTT......INTEL 
> -  0010: 54 45 4d 50 4c 41 54 45 01 00 00 00 49 4e 54 4c  TEMPLATE....INTL
> -  0020: 27 05 16 20 00 00 00 00 00 00 98 00 01 00 00 00  '.. ............
> -  0030: 01 00 00 00 01 00 6c 00 05 00 00 00 00 f0 00 00  ......l.........
> -  0040: 00 e0 00 00 00 d0 00 00 00 c0 00 00 04 00 08 00  ................
> -  0050: 00 00 04 00 00 10 00 00 00 20 00 00 00 30 00 00  ......... ...0..
> -  0060: 00 40 00 00 02 00 14 00 02 00 00 00 00 00 00 00  .@..............
> -  0070: 00 00 00 a0 0a 00 00 00 02 00 14 00 02 00 00 00  ................
> -  0080: 01 00 00 00 00 00 00 b0 0b 00 00 00 02 00 14 00  ................
> -  0090: 02 00 00 00 01 00 00 00 00 00 00 c0 ff ff ff ff  ................
> -  00a0: 01 00 20 00 01 00 00 00 00 10 00 00 00 20 00 00  .. .......... ..
> -  00b0: 00 30 00 00 00 40 00 00 04 00 08 00 00 00 00 00  .0...@..........
> -  00c0: 00 00 0c 00 03 00 00 00 02 00 00 00 00 00 0c 00  ................
> -  00d0: 07 00 00 00 03 00 00 00                          ........
> +PMTT @ 0x0000000000000000
> +  0000: 50 4D 54 54 BB 00 00 00 02 F7 49 4E 54 45 4C 20  PMTT......INTEL 
> +  0010: 54 45 4D 50 4C 41 54 45 01 00 00 00 49 4E 54 4C  TEMPLATE....INTL
> +  0020: 31 03 21 20 08 00 00 00 00 00 10 00 01 00 00 00  1.! ............
> +  0030: 03 00 00 00 01 00 00 00 01 00 10 00 02 00 00 00  ................
> +  0040: 02 00 00 00 44 44 00 00 02 00 10 00 04 00 00 00  ....DD..........
> +  0050: 01 00 00 00 34 12 00 00 FF 00 23 00 04 00 00 00  ....4.....#.....
> +  0060: 03 00 00 00 03 02 01 00 08 04 07 06 08 09 0A 0B  ................
> +  0070: 0C 0D 0E 0F 55 66 77 88 11 AA BB 00 00 10 00 03  ....Ufw.........
> +  0080: 00 00 00 03 00 00 00 01 00 00 00 01 00 10 00 05  ................
> +  0090: 00 00 00 02 00 00 00 00 00 00 00 02 00 10 00 06  ................
> +  00A0: 00 00 00 01 00 00 00 34 12 00 00 02 00 10 00 09  .......4........
> +  00B0: 00 00 00 00 00 00 00 78 56 00 00                 .......xV..
> +
> diff --git a/fwts-test/pmtt-0001/acpidump-0002.log b/fwts-test/pmtt-0001/acpidump-0002.log
> index fc159e40..43c64e8d 100644
> --- a/fwts-test/pmtt-0001/acpidump-0002.log
> +++ b/fwts-test/pmtt-0001/acpidump-0002.log
> @@ -23,19 +23,17 @@ FACP @ 0x00000000
>    00e0: 20 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ...............
>    00f0: 00 00 00 00                                      ....
>  
> -PMTT @ 0x00000000
> -  0000: 50 4d 54 54 d8 00 00 00 01 d4 49 4e 54 45 4c 20  PMTT......INTEL 
> -  0010: 54 45 4d 50 4c 41 54 45 01 00 00 00 49 4e 54 4c  TEMPLATE....INTL
> -  0020: 27 05 16 20 00 00 00 02 00 01 98 00 01 00 03 00  '.. ............
> -  0030: 01 00 00 04 01 05 6c 00 05 00 00 00 00 f0 00 00  ......l.........
> -  0040: 00 e0 00 00 00 d0 00 00 00 c0 00 00 04 00 08 00  ................
> -  0050: 00 06 04 00 00 10 00 00 00 20 00 00 00 30 00 00  ......... ...0..
> -  0060: 00 40 00 00 02 07 14 00 02 00 00 00 00 00 00 00  .@..............
> -  0070: 00 00 00 a0 0a 00 00 00 02 00 14 00 02 00 00 00  ................
> -  0080: 01 00 00 00 00 00 00 b0 0b 00 12 34 02 00 14 00  ................
> -  0090: 02 00 00 00 01 00 00 00 00 00 00 c0 ff ff ff ff  ................
> -  00a0: 01 00 20 00 01 00 00 00 00 10 00 00 00 20 00 00  .. .......... ..
> -  00b0: 00 30 00 00 00 40 00 00 04 00 08 00 00 00 00 00  .0...@..........
> -  00c0: 00 00 0c 00 13 00 00 00 02 00 00 00 00 00 0c 00  ................
> -  00d0: 0F 00 00 00 03 00 00 00                          ........
> +PMTT @ 0x0000000000000000
> +  0000: 50 4D 54 54 BB 00 00 00 02 33 49 4E 54 45 4C 20  PMTT.....3INTEL 
> +  0010: 54 45 4D 50 4C 41 54 45 01 00 00 00 49 4E 54 4C  TEMPLATE....INTL
> +  0020: 31 03 21 20 08 00 00 00 00 00 10 00 0D 00 00 00  1.! ............
> +  0030: 03 00 00 00 01 00 00 00 01 00 10 00 02 00 00 00  ................
> +  0040: 02 00 00 00 44 44 00 00 02 00 10 00 0C 00 00 00  ....DD..........
> +  0050: 01 00 00 00 34 12 78 56 FF 00 23 00 04 00 00 00  ....4.xV..#.....
> +  0060: 03 00 00 00 03 02 01 00 08 04 07 06 08 09 0A 0B  ................
> +  0070: 0C 0D 0E 0F 55 66 77 88 11 AA BB 00 00 10 00 0F  ....Ufw.........
> +  0080: 00 00 00 03 00 00 00 01 00 00 00 01 00 10 00 05  ................
> +  0090: 00 00 00 02 00 00 00 00 00 00 00 04 00 10 00 0E  ................
> +  00A0: 00 00 00 01 00 00 00 78 56 34 12 02 00 00 00 09  .......xV4......
> +  00B0: 00 00 00 00 00 00 00 00 00 78 56                 .........xV
>  
> diff --git a/fwts-test/pmtt-0001/pmtt-0001.log b/fwts-test/pmtt-0001/pmtt-0001.log
> index cbe8b26b..21cb0864 100644
> --- a/fwts-test/pmtt-0001/pmtt-0001.log
> +++ b/fwts-test/pmtt-0001/pmtt-0001.log
> @@ -2,93 +2,67 @@ pmtt            pmtt: PMTT Memory Topology Table test.
>  pmtt            ----------------------------------------------------------
>  pmtt            Test 1 of 1: Validate PMTT table.
>  pmtt            PMTT Table:
> -pmtt              Reserved:                         0x00000000
> +pmtt              Number of Memory Devices:         0x00000008
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x00
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0098
> +pmtt                Length:                         0x0010
>  pmtt                Flags:                          0x0001
>  pmtt                Reserved:                       0x0000
>  pmtt                Socket Identifier:              0x0001
>  pmtt                Reserved:                       0x0000
> +pmtt            
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x01
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x006c
> -pmtt                Flags:                          0x0005
> -pmtt                Reserved:                       0x0000
> -pmtt                Read Latency:                   0x0000f000
> -pmtt                Write latency:                  0x0000e000
> -pmtt                Read Bandwidth:                 0x0000d000
> -pmtt                Write Bandwidth:                0x0000c000
> -pmtt                Optimal Access Unit:            0x0004
> -pmtt                Optimal Access Alignment:       0x0008
> -pmtt                Reserved:                       0x0000
> -pmtt                Number of Proximity Domains:    0x0004
> -pmtt                Proximity Domain:               0x00001000
> -pmtt                Proximity Domain:               0x00002000
> -pmtt                Proximity Domain:               0x00003000
> -pmtt                Proximity Domain:               0x00004000
> -pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
> -pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> +pmtt                Length:                         0x0010
>  pmtt                Flags:                          0x0002
>  pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0000
> +pmtt                Memory Controller ID            0x4444
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xa0000000
> -pmtt                SMBIOS Handle:                  0x0000000a
> +pmtt            
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> -pmtt                Flags:                          0x0002
> -pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0001
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0004
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xb0000000
> -pmtt                SMBIOS Handle:                  0x0000000b
> +pmtt                SMBIOS Handle:                  0x00001234
> +pmtt            
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
> +pmtt                Type:                           0x00
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> -pmtt                Flags:                          0x0002
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0003
>  pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0001
> +pmtt                Socket Identifier:              0x0001
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xc0000000
> -pmtt                SMBIOS Handle:                  0xffffffff
> +pmtt            
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x01
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0020
> -pmtt                Flags:                          0x0001
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0005
>  pmtt                Reserved:                       0x0000
> -pmtt                Read Latency:                   0x00001000
> -pmtt                Write latency:                  0x00002000
> -pmtt                Read Bandwidth:                 0x00003000
> -pmtt                Write Bandwidth:                0x00004000
> -pmtt                Optimal Access Unit:            0x0004
> -pmtt                Optimal Access Alignment:       0x0008
> +pmtt                Memory Controller ID            0x0000
>  pmtt                Reserved:                       0x0000
> -pmtt                Number of Proximity Domains:    0x0000
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x00
> +pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x000c
> -pmtt                Flags:                          0x0003
> -pmtt                Reserved:                       0x0000
> -pmtt                Socket Identifier:              0x0002
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0006
>  pmtt                Reserved:                       0x0000
> +pmtt                SMBIOS Handle:                  0x00001234
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x00
> +pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x000c
> -pmtt                Flags:                          0x0007
> -pmtt                Reserved:                       0x0000
> -pmtt                Socket Identifier:              0x0003
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0009
>  pmtt                Reserved:                       0x0000
> +pmtt                SMBIOS Handle:                  0x00005678
>  pmtt            
>  pmtt            PASSED: Test 1, No issues found in PMTT table.
>  pmtt            
> diff --git a/fwts-test/pmtt-0001/pmtt-0002.log b/fwts-test/pmtt-0001/pmtt-0002.log
> index dfa1d004..bc2d0aed 100644
> --- a/fwts-test/pmtt-0001/pmtt-0002.log
> +++ b/fwts-test/pmtt-0001/pmtt-0002.log
> @@ -2,116 +2,67 @@ pmtt            pmtt: PMTT Memory Topology Table test.
>  pmtt            ----------------------------------------------------------
>  pmtt            Test 1 of 1: Validate PMTT table.
>  pmtt            PMTT Table:
> -pmtt              Reserved:                         0x02000000
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT Reserved
> -pmtt            field must be zero, got 0x02000000 instead
> +pmtt              Number of Memory Devices:         0x00000008
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x00
> -pmtt                Reserved:                       0x01
> -pmtt                Length:                         0x0098
> -pmtt                Flags:                          0x0001
> -pmtt                Reserved:                       0x0003
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
> -pmtt            Reserved1 field must be zero, got 0x01 instead
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
> -pmtt            Reserved2 field must be zero, got 0x0003 instead
> -pmtt                Socket Identifier:              0x0001
> -pmtt                Reserved:                       0x0400
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT Reserved
> -pmtt            field must be zero, got 0x0400 instead
> -pmtt              PMTT Subtable:
> -pmtt                Type:                           0x01
> -pmtt                Reserved:                       0x05
> -pmtt                Length:                         0x006c
> -pmtt                Flags:                          0x0005
> -pmtt                Reserved:                       0x0000
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
> -pmtt            Reserved1 field must be zero, got 0x05 instead
> -pmtt                Read Latency:                   0x0000f000
> -pmtt                Write latency:                  0x0000e000
> -pmtt                Read Bandwidth:                 0x0000d000
> -pmtt                Write Bandwidth:                0x0000c000
> -pmtt                Optimal Access Unit:            0x0004
> -pmtt                Optimal Access Alignment:       0x0008
> -pmtt                Reserved:                       0x0600
> -pmtt                Number of Proximity Domains:    0x0004
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT Reserved
> -pmtt            field must be zero, got 0x0600 instead
> -pmtt                Proximity Domain:               0x00001000
> -pmtt                Proximity Domain:               0x00002000
> -pmtt                Proximity Domain:               0x00003000
> -pmtt                Proximity Domain:               0x00004000
> -pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
> -pmtt                Reserved:                       0x07
> -pmtt                Length:                         0x0014
> -pmtt                Flags:                          0x0002
> -pmtt                Reserved:                       0x0000
> -pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
> -pmtt            Reserved1 field must be zero, got 0x07 instead
> -pmtt                Physical Component Identifier:  0x0000
> -pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xa0000000
> -pmtt                SMBIOS Handle:                  0x0000000a
> -pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> -pmtt                Flags:                          0x0002
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x000d
>  pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0001
> +pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
> +pmtt            Bits[3..2] must not be 11b
> +pmtt                Socket Identifier:              0x0001
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xb0000000
> -pmtt                SMBIOS Handle:                  0x3412000b
> -pmtt            FAILED [HIGH] PMTTBADSMBIOSHandle: Test 1, PMTT upper 2
> -pmtt            bytes must be zero, got 0x3412000b instead
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x02
> +pmtt                Type:                           0x01
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0014
> +pmtt                Length:                         0x0010
>  pmtt                Flags:                          0x0002
>  pmtt                Reserved:                       0x0000
> -pmtt                Physical Component Identifier:  0x0001
> +pmtt                Memory Controller ID            0x4444
>  pmtt                Reserved:                       0x0000
> -pmtt                Size of DIMM:                   0xc0000000
> -pmtt                SMBIOS Handle:                  0xffffffff
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x01
> +pmtt                Type:                           0x02
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x0020
> -pmtt                Flags:                          0x0001
> -pmtt                Reserved:                       0x0000
> -pmtt                Read Latency:                   0x00001000
> -pmtt                Write latency:                  0x00002000
> -pmtt                Read Bandwidth:                 0x00003000
> -pmtt                Write Bandwidth:                0x00004000
> -pmtt                Optimal Access Unit:            0x0004
> -pmtt                Optimal Access Alignment:       0x0008
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x000c
>  pmtt                Reserved:                       0x0000
> -pmtt                Number of Proximity Domains:    0x0000
> +pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
> +pmtt            Bits[3..2] must not be 11b
> +pmtt                SMBIOS Handle:                  0x56781234
> +pmtt            FAILED [HIGH] PMTTBADSMBIOSHandle: Test 1, PMTT upper 2
> +pmtt            bytes must be zero, got 0x56781234 instead
> +pmtt            
> +pmtt            
>  pmtt              PMTT Subtable:
>  pmtt                Type:                           0x00
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x000c
> -pmtt                Flags:                          0x0013
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x000f
>  pmtt                Reserved:                       0x0000
> -pmtt            FAILED [HIGH] PMTTReservedBitsNonZero: Test 1, PMTT Flags
> -pmtt            Bits [15..4] must be zero, got 0x0013 instead
> -pmtt                Socket Identifier:              0x0002
> +pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
> +pmtt            Bits[3..2] must not be 11b
> +pmtt                Socket Identifier:              0x0001
>  pmtt                Reserved:                       0x0000
> +pmtt            
>  pmtt              PMTT Subtable:
> -pmtt                Type:                           0x00
> +pmtt                Type:                           0x01
>  pmtt                Reserved:                       0x00
> -pmtt                Length:                         0x000c
> -pmtt                Flags:                          0x000f
> +pmtt                Length:                         0x0010
> +pmtt                Flags:                          0x0005
>  pmtt                Reserved:                       0x0000
> -pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
> -pmtt            Bits[3..2] must not be 11b
> -pmtt                Socket Identifier:              0x0003
> +pmtt                Memory Controller ID            0x0000
>  pmtt                Reserved:                       0x0000
>  pmtt            
> +pmtt            FAILED [HIGH] PMTTBadSubtableType: Test 1, PMTT must have
> +pmtt            subtable with Type 1..2 or 0xFF, got 0x0004 instead
> +pmtt            
> +pmtt            FAILED [HIGH] PMTTLengthZero: Test 1, PMTT Subtable
> +pmtt            (offset 0x00ab) length cannot be 0
>  pmtt            
>  pmtt            ==========================================================
> -pmtt            0 passed, 10 failed, 0 warning, 0 aborted, 0 skipped, 0
> +pmtt            0 passed, 6 failed, 0 warning, 0 aborted, 0 skipped, 0
>  pmtt            info only.
>  pmtt            ==========================================================
> 

Acked-by: Colin Ian King <colin.king@canonical.com>
diff mbox series

Patch

diff --git a/fwts-test/pmtt-0001/acpidump-0001.log b/fwts-test/pmtt-0001/acpidump-0001.log
index 26d6b641..cb769301 100644
--- a/fwts-test/pmtt-0001/acpidump-0001.log
+++ b/fwts-test/pmtt-0001/acpidump-0001.log
@@ -23,18 +23,17 @@  FACP @ 0x00000000
   00e0: 20 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ...............
   00f0: 00 00 00 00                                      ....
 
-PMTT @ 0x00000000
-  0000: 50 4d 54 54 d8 00 00 00 01 d4 49 4e 54 45 4c 20  PMTT......INTEL 
-  0010: 54 45 4d 50 4c 41 54 45 01 00 00 00 49 4e 54 4c  TEMPLATE....INTL
-  0020: 27 05 16 20 00 00 00 00 00 00 98 00 01 00 00 00  '.. ............
-  0030: 01 00 00 00 01 00 6c 00 05 00 00 00 00 f0 00 00  ......l.........
-  0040: 00 e0 00 00 00 d0 00 00 00 c0 00 00 04 00 08 00  ................
-  0050: 00 00 04 00 00 10 00 00 00 20 00 00 00 30 00 00  ......... ...0..
-  0060: 00 40 00 00 02 00 14 00 02 00 00 00 00 00 00 00  .@..............
-  0070: 00 00 00 a0 0a 00 00 00 02 00 14 00 02 00 00 00  ................
-  0080: 01 00 00 00 00 00 00 b0 0b 00 00 00 02 00 14 00  ................
-  0090: 02 00 00 00 01 00 00 00 00 00 00 c0 ff ff ff ff  ................
-  00a0: 01 00 20 00 01 00 00 00 00 10 00 00 00 20 00 00  .. .......... ..
-  00b0: 00 30 00 00 00 40 00 00 04 00 08 00 00 00 00 00  .0...@..........
-  00c0: 00 00 0c 00 03 00 00 00 02 00 00 00 00 00 0c 00  ................
-  00d0: 07 00 00 00 03 00 00 00                          ........
+PMTT @ 0x0000000000000000
+  0000: 50 4D 54 54 BB 00 00 00 02 F7 49 4E 54 45 4C 20  PMTT......INTEL 
+  0010: 54 45 4D 50 4C 41 54 45 01 00 00 00 49 4E 54 4C  TEMPLATE....INTL
+  0020: 31 03 21 20 08 00 00 00 00 00 10 00 01 00 00 00  1.! ............
+  0030: 03 00 00 00 01 00 00 00 01 00 10 00 02 00 00 00  ................
+  0040: 02 00 00 00 44 44 00 00 02 00 10 00 04 00 00 00  ....DD..........
+  0050: 01 00 00 00 34 12 00 00 FF 00 23 00 04 00 00 00  ....4.....#.....
+  0060: 03 00 00 00 03 02 01 00 08 04 07 06 08 09 0A 0B  ................
+  0070: 0C 0D 0E 0F 55 66 77 88 11 AA BB 00 00 10 00 03  ....Ufw.........
+  0080: 00 00 00 03 00 00 00 01 00 00 00 01 00 10 00 05  ................
+  0090: 00 00 00 02 00 00 00 00 00 00 00 02 00 10 00 06  ................
+  00A0: 00 00 00 01 00 00 00 34 12 00 00 02 00 10 00 09  .......4........
+  00B0: 00 00 00 00 00 00 00 78 56 00 00                 .......xV..
+
diff --git a/fwts-test/pmtt-0001/acpidump-0002.log b/fwts-test/pmtt-0001/acpidump-0002.log
index fc159e40..43c64e8d 100644
--- a/fwts-test/pmtt-0001/acpidump-0002.log
+++ b/fwts-test/pmtt-0001/acpidump-0002.log
@@ -23,19 +23,17 @@  FACP @ 0x00000000
   00e0: 20 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ...............
   00f0: 00 00 00 00                                      ....
 
-PMTT @ 0x00000000
-  0000: 50 4d 54 54 d8 00 00 00 01 d4 49 4e 54 45 4c 20  PMTT......INTEL 
-  0010: 54 45 4d 50 4c 41 54 45 01 00 00 00 49 4e 54 4c  TEMPLATE....INTL
-  0020: 27 05 16 20 00 00 00 02 00 01 98 00 01 00 03 00  '.. ............
-  0030: 01 00 00 04 01 05 6c 00 05 00 00 00 00 f0 00 00  ......l.........
-  0040: 00 e0 00 00 00 d0 00 00 00 c0 00 00 04 00 08 00  ................
-  0050: 00 06 04 00 00 10 00 00 00 20 00 00 00 30 00 00  ......... ...0..
-  0060: 00 40 00 00 02 07 14 00 02 00 00 00 00 00 00 00  .@..............
-  0070: 00 00 00 a0 0a 00 00 00 02 00 14 00 02 00 00 00  ................
-  0080: 01 00 00 00 00 00 00 b0 0b 00 12 34 02 00 14 00  ................
-  0090: 02 00 00 00 01 00 00 00 00 00 00 c0 ff ff ff ff  ................
-  00a0: 01 00 20 00 01 00 00 00 00 10 00 00 00 20 00 00  .. .......... ..
-  00b0: 00 30 00 00 00 40 00 00 04 00 08 00 00 00 00 00  .0...@..........
-  00c0: 00 00 0c 00 13 00 00 00 02 00 00 00 00 00 0c 00  ................
-  00d0: 0F 00 00 00 03 00 00 00                          ........
+PMTT @ 0x0000000000000000
+  0000: 50 4D 54 54 BB 00 00 00 02 33 49 4E 54 45 4C 20  PMTT.....3INTEL 
+  0010: 54 45 4D 50 4C 41 54 45 01 00 00 00 49 4E 54 4C  TEMPLATE....INTL
+  0020: 31 03 21 20 08 00 00 00 00 00 10 00 0D 00 00 00  1.! ............
+  0030: 03 00 00 00 01 00 00 00 01 00 10 00 02 00 00 00  ................
+  0040: 02 00 00 00 44 44 00 00 02 00 10 00 0C 00 00 00  ....DD..........
+  0050: 01 00 00 00 34 12 78 56 FF 00 23 00 04 00 00 00  ....4.xV..#.....
+  0060: 03 00 00 00 03 02 01 00 08 04 07 06 08 09 0A 0B  ................
+  0070: 0C 0D 0E 0F 55 66 77 88 11 AA BB 00 00 10 00 0F  ....Ufw.........
+  0080: 00 00 00 03 00 00 00 01 00 00 00 01 00 10 00 05  ................
+  0090: 00 00 00 02 00 00 00 00 00 00 00 04 00 10 00 0E  ................
+  00A0: 00 00 00 01 00 00 00 78 56 34 12 02 00 00 00 09  .......xV4......
+  00B0: 00 00 00 00 00 00 00 00 00 78 56                 .........xV
 
diff --git a/fwts-test/pmtt-0001/pmtt-0001.log b/fwts-test/pmtt-0001/pmtt-0001.log
index cbe8b26b..21cb0864 100644
--- a/fwts-test/pmtt-0001/pmtt-0001.log
+++ b/fwts-test/pmtt-0001/pmtt-0001.log
@@ -2,93 +2,67 @@  pmtt            pmtt: PMTT Memory Topology Table test.
 pmtt            ----------------------------------------------------------
 pmtt            Test 1 of 1: Validate PMTT table.
 pmtt            PMTT Table:
-pmtt              Reserved:                         0x00000000
+pmtt              Number of Memory Devices:         0x00000008
 pmtt              PMTT Subtable:
 pmtt                Type:                           0x00
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x0098
+pmtt                Length:                         0x0010
 pmtt                Flags:                          0x0001
 pmtt                Reserved:                       0x0000
 pmtt                Socket Identifier:              0x0001
 pmtt                Reserved:                       0x0000
+pmtt            
 pmtt              PMTT Subtable:
 pmtt                Type:                           0x01
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x006c
-pmtt                Flags:                          0x0005
-pmtt                Reserved:                       0x0000
-pmtt                Read Latency:                   0x0000f000
-pmtt                Write latency:                  0x0000e000
-pmtt                Read Bandwidth:                 0x0000d000
-pmtt                Write Bandwidth:                0x0000c000
-pmtt                Optimal Access Unit:            0x0004
-pmtt                Optimal Access Alignment:       0x0008
-pmtt                Reserved:                       0x0000
-pmtt                Number of Proximity Domains:    0x0004
-pmtt                Proximity Domain:               0x00001000
-pmtt                Proximity Domain:               0x00002000
-pmtt                Proximity Domain:               0x00003000
-pmtt                Proximity Domain:               0x00004000
-pmtt              PMTT Subtable:
-pmtt                Type:                           0x02
-pmtt                Reserved:                       0x00
-pmtt                Length:                         0x0014
+pmtt                Length:                         0x0010
 pmtt                Flags:                          0x0002
 pmtt                Reserved:                       0x0000
-pmtt                Physical Component Identifier:  0x0000
+pmtt                Memory Controller ID            0x4444
 pmtt                Reserved:                       0x0000
-pmtt                Size of DIMM:                   0xa0000000
-pmtt                SMBIOS Handle:                  0x0000000a
+pmtt            
 pmtt              PMTT Subtable:
 pmtt                Type:                           0x02
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x0014
-pmtt                Flags:                          0x0002
-pmtt                Reserved:                       0x0000
-pmtt                Physical Component Identifier:  0x0001
+pmtt                Length:                         0x0010
+pmtt                Flags:                          0x0004
 pmtt                Reserved:                       0x0000
-pmtt                Size of DIMM:                   0xb0000000
-pmtt                SMBIOS Handle:                  0x0000000b
+pmtt                SMBIOS Handle:                  0x00001234
+pmtt            
+pmtt            
 pmtt              PMTT Subtable:
-pmtt                Type:                           0x02
+pmtt                Type:                           0x00
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x0014
-pmtt                Flags:                          0x0002
+pmtt                Length:                         0x0010
+pmtt                Flags:                          0x0003
 pmtt                Reserved:                       0x0000
-pmtt                Physical Component Identifier:  0x0001
+pmtt                Socket Identifier:              0x0001
 pmtt                Reserved:                       0x0000
-pmtt                Size of DIMM:                   0xc0000000
-pmtt                SMBIOS Handle:                  0xffffffff
+pmtt            
 pmtt              PMTT Subtable:
 pmtt                Type:                           0x01
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x0020
-pmtt                Flags:                          0x0001
+pmtt                Length:                         0x0010
+pmtt                Flags:                          0x0005
 pmtt                Reserved:                       0x0000
-pmtt                Read Latency:                   0x00001000
-pmtt                Write latency:                  0x00002000
-pmtt                Read Bandwidth:                 0x00003000
-pmtt                Write Bandwidth:                0x00004000
-pmtt                Optimal Access Unit:            0x0004
-pmtt                Optimal Access Alignment:       0x0008
+pmtt                Memory Controller ID            0x0000
 pmtt                Reserved:                       0x0000
-pmtt                Number of Proximity Domains:    0x0000
+pmtt            
 pmtt              PMTT Subtable:
-pmtt                Type:                           0x00
+pmtt                Type:                           0x02
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x000c
-pmtt                Flags:                          0x0003
-pmtt                Reserved:                       0x0000
-pmtt                Socket Identifier:              0x0002
+pmtt                Length:                         0x0010
+pmtt                Flags:                          0x0006
 pmtt                Reserved:                       0x0000
+pmtt                SMBIOS Handle:                  0x00001234
+pmtt            
 pmtt              PMTT Subtable:
-pmtt                Type:                           0x00
+pmtt                Type:                           0x02
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x000c
-pmtt                Flags:                          0x0007
-pmtt                Reserved:                       0x0000
-pmtt                Socket Identifier:              0x0003
+pmtt                Length:                         0x0010
+pmtt                Flags:                          0x0009
 pmtt                Reserved:                       0x0000
+pmtt                SMBIOS Handle:                  0x00005678
 pmtt            
 pmtt            PASSED: Test 1, No issues found in PMTT table.
 pmtt            
diff --git a/fwts-test/pmtt-0001/pmtt-0002.log b/fwts-test/pmtt-0001/pmtt-0002.log
index dfa1d004..bc2d0aed 100644
--- a/fwts-test/pmtt-0001/pmtt-0002.log
+++ b/fwts-test/pmtt-0001/pmtt-0002.log
@@ -2,116 +2,67 @@  pmtt            pmtt: PMTT Memory Topology Table test.
 pmtt            ----------------------------------------------------------
 pmtt            Test 1 of 1: Validate PMTT table.
 pmtt            PMTT Table:
-pmtt              Reserved:                         0x02000000
-pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT Reserved
-pmtt            field must be zero, got 0x02000000 instead
+pmtt              Number of Memory Devices:         0x00000008
 pmtt              PMTT Subtable:
 pmtt                Type:                           0x00
-pmtt                Reserved:                       0x01
-pmtt                Length:                         0x0098
-pmtt                Flags:                          0x0001
-pmtt                Reserved:                       0x0003
-pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
-pmtt            Reserved1 field must be zero, got 0x01 instead
-pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
-pmtt            Reserved2 field must be zero, got 0x0003 instead
-pmtt                Socket Identifier:              0x0001
-pmtt                Reserved:                       0x0400
-pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT Reserved
-pmtt            field must be zero, got 0x0400 instead
-pmtt              PMTT Subtable:
-pmtt                Type:                           0x01
-pmtt                Reserved:                       0x05
-pmtt                Length:                         0x006c
-pmtt                Flags:                          0x0005
-pmtt                Reserved:                       0x0000
-pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
-pmtt            Reserved1 field must be zero, got 0x05 instead
-pmtt                Read Latency:                   0x0000f000
-pmtt                Write latency:                  0x0000e000
-pmtt                Read Bandwidth:                 0x0000d000
-pmtt                Write Bandwidth:                0x0000c000
-pmtt                Optimal Access Unit:            0x0004
-pmtt                Optimal Access Alignment:       0x0008
-pmtt                Reserved:                       0x0600
-pmtt                Number of Proximity Domains:    0x0004
-pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT Reserved
-pmtt            field must be zero, got 0x0600 instead
-pmtt                Proximity Domain:               0x00001000
-pmtt                Proximity Domain:               0x00002000
-pmtt                Proximity Domain:               0x00003000
-pmtt                Proximity Domain:               0x00004000
-pmtt              PMTT Subtable:
-pmtt                Type:                           0x02
-pmtt                Reserved:                       0x07
-pmtt                Length:                         0x0014
-pmtt                Flags:                          0x0002
-pmtt                Reserved:                       0x0000
-pmtt            FAILED [MEDIUM] PMTTReservedNonZero: Test 1, PMTT
-pmtt            Reserved1 field must be zero, got 0x07 instead
-pmtt                Physical Component Identifier:  0x0000
-pmtt                Reserved:                       0x0000
-pmtt                Size of DIMM:                   0xa0000000
-pmtt                SMBIOS Handle:                  0x0000000a
-pmtt              PMTT Subtable:
-pmtt                Type:                           0x02
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x0014
-pmtt                Flags:                          0x0002
+pmtt                Length:                         0x0010
+pmtt                Flags:                          0x000d
 pmtt                Reserved:                       0x0000
-pmtt                Physical Component Identifier:  0x0001
+pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
+pmtt            Bits[3..2] must not be 11b
+pmtt                Socket Identifier:              0x0001
 pmtt                Reserved:                       0x0000
-pmtt                Size of DIMM:                   0xb0000000
-pmtt                SMBIOS Handle:                  0x3412000b
-pmtt            FAILED [HIGH] PMTTBADSMBIOSHandle: Test 1, PMTT upper 2
-pmtt            bytes must be zero, got 0x3412000b instead
+pmtt            
 pmtt              PMTT Subtable:
-pmtt                Type:                           0x02
+pmtt                Type:                           0x01
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x0014
+pmtt                Length:                         0x0010
 pmtt                Flags:                          0x0002
 pmtt                Reserved:                       0x0000
-pmtt                Physical Component Identifier:  0x0001
+pmtt                Memory Controller ID            0x4444
 pmtt                Reserved:                       0x0000
-pmtt                Size of DIMM:                   0xc0000000
-pmtt                SMBIOS Handle:                  0xffffffff
+pmtt            
 pmtt              PMTT Subtable:
-pmtt                Type:                           0x01
+pmtt                Type:                           0x02
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x0020
-pmtt                Flags:                          0x0001
-pmtt                Reserved:                       0x0000
-pmtt                Read Latency:                   0x00001000
-pmtt                Write latency:                  0x00002000
-pmtt                Read Bandwidth:                 0x00003000
-pmtt                Write Bandwidth:                0x00004000
-pmtt                Optimal Access Unit:            0x0004
-pmtt                Optimal Access Alignment:       0x0008
+pmtt                Length:                         0x0010
+pmtt                Flags:                          0x000c
 pmtt                Reserved:                       0x0000
-pmtt                Number of Proximity Domains:    0x0000
+pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
+pmtt            Bits[3..2] must not be 11b
+pmtt                SMBIOS Handle:                  0x56781234
+pmtt            FAILED [HIGH] PMTTBADSMBIOSHandle: Test 1, PMTT upper 2
+pmtt            bytes must be zero, got 0x56781234 instead
+pmtt            
+pmtt            
 pmtt              PMTT Subtable:
 pmtt                Type:                           0x00
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x000c
-pmtt                Flags:                          0x0013
+pmtt                Length:                         0x0010
+pmtt                Flags:                          0x000f
 pmtt                Reserved:                       0x0000
-pmtt            FAILED [HIGH] PMTTReservedBitsNonZero: Test 1, PMTT Flags
-pmtt            Bits [15..4] must be zero, got 0x0013 instead
-pmtt                Socket Identifier:              0x0002
+pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
+pmtt            Bits[3..2] must not be 11b
+pmtt                Socket Identifier:              0x0001
 pmtt                Reserved:                       0x0000
+pmtt            
 pmtt              PMTT Subtable:
-pmtt                Type:                           0x00
+pmtt                Type:                           0x01
 pmtt                Reserved:                       0x00
-pmtt                Length:                         0x000c
-pmtt                Flags:                          0x000f
+pmtt                Length:                         0x0010
+pmtt                Flags:                          0x0005
 pmtt                Reserved:                       0x0000
-pmtt            FAILED [HIGH] PMTTBadFlags: Test 1, PMTT Flags's
-pmtt            Bits[3..2] must not be 11b
-pmtt                Socket Identifier:              0x0003
+pmtt                Memory Controller ID            0x0000
 pmtt                Reserved:                       0x0000
 pmtt            
+pmtt            FAILED [HIGH] PMTTBadSubtableType: Test 1, PMTT must have
+pmtt            subtable with Type 1..2 or 0xFF, got 0x0004 instead
+pmtt            
+pmtt            FAILED [HIGH] PMTTLengthZero: Test 1, PMTT Subtable
+pmtt            (offset 0x00ab) length cannot be 0
 pmtt            
 pmtt            ==========================================================
-pmtt            0 passed, 10 failed, 0 warning, 0 aborted, 0 skipped, 0
+pmtt            0 passed, 6 failed, 0 warning, 0 aborted, 0 skipped, 0
 pmtt            info only.
 pmtt            ==========================================================