diff mbox series

fwts-test: sync up with adding the mpam tests

Message ID 20230619064619.68475-1-ivan.hu@canonical.com
State Accepted
Headers show
Series fwts-test: sync up with adding the mpam tests | expand

Commit Message

Ivan Hu June 19, 2023, 6:46 a.m. UTC
Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
---
 Makefile.am                           |   6 +-
 fwts-test/mpam-0001/acpidump-0001.log |  48 ++++++++
 fwts-test/mpam-0001/acpidump-0002.log |  48 ++++++++
 fwts-test/mpam-0001/mpam-0001.log     | 111 ++++++++++++++++++
 fwts-test/mpam-0001/mpam-0002.log     | 160 ++++++++++++++++++++++++++
 fwts-test/mpam-0001/test-0001.sh      |  23 ++++
 fwts-test/mpam-0001/test-0002.sh      |  23 ++++
 7 files changed, 417 insertions(+), 2 deletions(-)
 create mode 100644 fwts-test/mpam-0001/acpidump-0001.log
 create mode 100644 fwts-test/mpam-0001/acpidump-0002.log
 create mode 100644 fwts-test/mpam-0001/mpam-0001.log
 create mode 100644 fwts-test/mpam-0001/mpam-0002.log
 create mode 100755 fwts-test/mpam-0001/test-0001.sh
 create mode 100755 fwts-test/mpam-0001/test-0002.sh
diff mbox series

Patch

diff --git a/Makefile.am b/Makefile.am
index 58f5bbe2..8960aecc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -148,8 +148,10 @@  TESTS = fwts-test/acpidump-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/mpst-0001/test-0001.sh \
-	fwts-test/mpst-0001/test-0002.sh \
+	fwts-test/mpam-0001/test-0001.sh \
+	fwts-test/mpam-0001/test-0002.sh \
+        fwts-test/mpst-0001/test-0001.sh \
+        fwts-test/mpst-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/mpam-0001/acpidump-0001.log b/fwts-test/mpam-0001/acpidump-0001.log
new file mode 100644
index 00000000..de3c4abb
--- /dev/null
+++ b/fwts-test/mpam-0001/acpidump-0001.log
@@ -0,0 +1,48 @@ 
+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                                      ....
+
+MPAM @ 0x00000000
+  0000: 4D 50 41 4D 54 01 00 00 02 34 48 49 53 49 20 20  MPAM.....4HISI  
+  0010: 54 45 4D 50 4C 41 54 45 02 00 00 00 49 4E 54 4C  TEMPLATE....INTL
+  0020: 20 10 22 20 60 00 00 00 01 00 00 00 00 00 00 C0   ." `...........
+  0030: 00 00 00 00 00 00 01 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 32 00 00 00 00 00 00 00  ........2.......
+  0060: 00 00 00 00 00 00 00 00 01 00 00 00 11 00 00 00  ................
+  0070: 00 00 00 01 20 00 00 00 00 00 00 00 00 00 00 00  .... ...........
+  0080: 00 00 00 00 D0 00 00 00 02 00 00 00 00 00 00 D0  ....x...........
+  0090: 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00  ................
+  00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  00b0: 00 00 00 00 00 00 00 00 32 00 00 00 00 00 00 00  ........2.......
+  00c0: 00 00 00 00 00 00 00 00 05 00 00 00 12 00 00 00  ................
+  00d0: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00  ................
+  00e0: 00 00 00 00 13 00 00 00 01 00 00 FF 02 00 00 00  ................
+  00f0: 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00  ................
+  0100: 01 00 00 03 00 00 00 00 00 00 00 01 02 00 00 00  ................
+  0110: 00 00 00 00 15 00 00 00 01 00 00 04 11 22 33 44  ................
+  0120: 55 66 77 88 99 AA BB CC 00 00 00 00 16 00 00 00  ................
+  0130: 01 00 00 02 02 00 00 00 00 00 00 00 00 00 00 00  ................
+  0140: 02 00 00 00 11 22 33 44 00 00 00 00 AA BB CC DD  ................
+  0150: 00 00 00 00                                      ....       
diff --git a/fwts-test/mpam-0001/acpidump-0002.log b/fwts-test/mpam-0001/acpidump-0002.log
new file mode 100644
index 00000000..f6061994
--- /dev/null
+++ b/fwts-test/mpam-0001/acpidump-0002.log
@@ -0,0 +1,48 @@ 
+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                                      ....
+
+MPAM @ 0x00000000
+  0000: 4D 50 41 4D 54 01 00 00 02 34 48 49 53 49 20 20  MPAM.....4HISI  
+  0010: 54 45 4D 50 4C 41 54 45 02 00 00 00 49 4E 54 4C  TEMPLATE....INTL
+  0020: 20 10 22 20 60 00 01 02 01 00 00 00 00 00 00 C0   ." `...........
+  0030: 00 00 00 00 00 00 01 00 00 00 00 00 02 00 00 FF  ................
+  0040: 00 00 02 00 00 00 00 00 00 00 00 00 02 00 00 11  ................
+  0050: 00 00 00 FF 00 00 00 00 32 00 00 00 00 00 00 00  ........2.......
+  0060: 00 00 00 00 00 00 00 00 01 00 00 00 11 00 00 00  ................
+  0070: 00 00 00 01 20 00 00 00 00 00 00 00 00 00 00 11  .... ...........
+  0080: 00 00 00 00 D0 00 00 00 02 00 00 00 00 00 00 D0  ....x...........
+  0090: 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00  ................
+  00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+  00b0: 00 00 00 00 00 00 00 00 32 00 00 00 00 00 00 00  ........2.......
+  00c0: 00 00 00 00 00 00 00 00 05 00 00 00 12 00 00 00  ................
+  00d0: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 02 00  ................
+  00e0: 00 00 00 00 13 00 00 00 01 00 00 FF 02 00 00 00  ................
+  00f0: 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00  ................
+  0100: 01 00 00 03 11 00 00 00 00 00 00 01 02 00 00 00  ................
+  0110: 00 00 00 00 15 00 00 00 01 00 00 04 11 22 33 44  ................
+  0120: 55 66 77 88 99 AA BB CC 00 00 00 00 16 00 00 00  ................
+  0130: 01 00 00 02 03 00 00 00 00 00 00 00 00 00 00 11  ................
+  0140: 02 00 00 00 11 22 33 44 00 00 00 00 AA BB CC DD  ................
+  0150: 00 00 00 22                                      ....       
diff --git a/fwts-test/mpam-0001/mpam-0001.log b/fwts-test/mpam-0001/mpam-0001.log
new file mode 100644
index 00000000..3f79b88f
--- /dev/null
+++ b/fwts-test/mpam-0001/mpam-0001.log
@@ -0,0 +1,111 @@ 
+mpam            mpam: MPAM Memory System Resource Partitioning And
+mpam            Monitoring Table test.
+mpam            ----------------------------------------------------------
+mpam            Test 1 of 1: Validate MPAM table.
+mpam            MPAM Memory System Resource Partitioning And Monitoring Table:
+mpam            MPAM MSC node:
+mpam              Length:                              0x0060
+mpam              Interface type:                      0x00
+mpam              Reserved:                            0x00
+mpam              Identifier:                          0x00000001
+mpam              Base address:                        0x00000000c0000000
+mpam              MMIO size:                           0x00010000
+mpam              Overflow interrupt:                  0x00000000
+mpam              Overflow interrupt flags:            0x00000000
+mpam              Reserved1:                           0x00000000
+mpam              Overflow interrupt affinity:         0x00000000
+mpam              Error interrupt:                     0x00000000
+mpam              Error interrupt flags:               0x00000000
+mpam              Reserved2:                           0x00000000
+mpam              Error interrupt affinity:            0x00000000
+mpam              MAX_NRDY_USEC:                       0x00000032
+mpam              Hardware ID of linked device:        0x0000000000000000
+mpam              Instance ID of linked device:        0x00000000
+mpam              Number of resource nodes:            0x00000001
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000011
+mpam                RIS Index:                         0x00
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x01
+mpam                Locator:
+mpam                  Memory locator:
+mpam                    20 00 00 00 00 00 00 00 00 00 00 00 
+mpam                Number of functional dependencies: 0x00000000
+mpam            
+mpam            MPAM MSC node:
+mpam              Length:                              0x00d0
+mpam              Interface type:                      0x00
+mpam              Reserved:                            0x00
+mpam              Identifier:                          0x00000002
+mpam              Base address:                        0x00000000d0000000
+mpam              MMIO size:                           0x00010000
+mpam              Overflow interrupt:                  0x00000000
+mpam              Overflow interrupt flags:            0x00000000
+mpam              Reserved1:                           0x00000000
+mpam              Overflow interrupt affinity:         0x00000000
+mpam              Error interrupt:                     0x00000000
+mpam              Error interrupt flags:               0x00000000
+mpam              Reserved2:                           0x00000000
+mpam              Error interrupt affinity:            0x00000000
+mpam              MAX_NRDY_USEC:                       0x00000032
+mpam              Hardware ID of linked device:        0x0000000000000000
+mpam              Instance ID of linked device:        0x00000000
+mpam              Number of resource nodes:            0x00000005
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000012
+mpam                RIS Index:                         0x00
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x00
+mpam                Locator:
+mpam                  Processor cache locator:
+mpam                    01 00 00 00 00 00 00 00 00 00 00 00 
+mpam                Number of functional dependencies: 0x00000000
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000013
+mpam                RIS Index:                         0x01
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0xff
+mpam                Locator:
+mpam                  Unknown locator:
+mpam                    02 00 00 00 00 00 00 00 00 00 00 00 
+mpam                Number of functional dependencies: 0x00000000
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000014
+mpam                RIS Index:                         0x01
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x03
+mpam                Locator:
+mpam                  Memory-side cache locator:
+mpam                    00 00 00 00 00 00 00 01 02 00 00 00 
+mpam                Number of functional dependencies: 0x00000000
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000015
+mpam                RIS Index:                         0x01
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x04
+mpam                Locator:
+mpam                  ACPI device locator:
+mpam                    11 22 33 44 55 66 77 88 99 AA BB CC 
+mpam                Number of functional dependencies: 0x00000000
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000016
+mpam                RIS Index:                         0x01
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x02
+mpam                Locator:
+mpam                  SMMU locator:
+mpam                    02 00 00 00 00 00 00 00 00 00 00 00 
+mpam                Number of functional dependencies: 0x00000002
+mpam                Functional dependency descriptor: 
+mpam                  Producer:			       0x44332211
+mpam                  Reserved:			       0x00000000
+mpam                Functional dependency descriptor: 
+mpam                  Producer:			       0xddccbbaa
+mpam                  Reserved:			       0x00000000
+mpam            
+mpam            PASSED: Test 1, No issues found in MPAM table.
+mpam            
+mpam            ==========================================================
+mpam            1 passed, 0 failed, 0 warning, 0 aborted, 0 skipped, 0
+mpam            info only.
+mpam            ==========================================================
diff --git a/fwts-test/mpam-0001/mpam-0002.log b/fwts-test/mpam-0001/mpam-0002.log
new file mode 100644
index 00000000..ffc2b6f3
--- /dev/null
+++ b/fwts-test/mpam-0001/mpam-0002.log
@@ -0,0 +1,160 @@ 
+mpam            mpam: MPAM Memory System Resource Partitioning And
+mpam            Monitoring Table test.
+mpam            ----------------------------------------------------------
+mpam            Test 1 of 1: Validate MPAM table.
+mpam            MPAM Memory System Resource Partitioning And Monitoring Table:
+mpam            MPAM MSC node:
+mpam              Length:                              0x0060
+mpam              Interface type:                      0x01
+mpam              Reserved:                            0x02
+mpam              Identifier:                          0x00000001
+mpam              Base address:                        0x00000000c0000000
+mpam              MMIO size:                           0x00010000
+mpam              Overflow interrupt:                  0x00000000
+mpam              Overflow interrupt flags:            0xff000002
+mpam              Reserved1:                           0x00020000
+mpam              Overflow interrupt affinity:         0x00000000
+mpam              Error interrupt:                     0x00000000
+mpam              Error interrupt flags:               0x11000002
+mpam              Reserved2:                           0xff000000
+mpam              Error interrupt affinity:            0x00000000
+mpam              MAX_NRDY_USEC:                       0x00000032
+mpam              Hardware ID of linked device:        0x0000000000000000
+mpam              Instance ID of linked device:        0x00000000
+mpam              Number of resource nodes:            0x00000001
+mpam            FAILED [HIGH] MPAMBadInterfaceType: Test 1, MPAM MSC node
+mpam            interface type must have value with 0 or 0x0a, got 0x01
+mpam            instead
+mpam            FAILED [MEDIUM] MPAMReservedNonZero: Test 1, MPAM Reserved
+mpam            field must be zero, got 0x02 instead
+mpam            FAILED [HIGH] MPAMReservedBitsNonZero: Test 1, MPAM
+mpam            Overflow interrupt flags Bits [2..1] must be zero, got
+mpam            0xff000002 instead
+mpam            FAILED [HIGH] MPAMReservedBitsNonZero: Test 1, MPAM
+mpam            Overflow interrupt flags Bits [31..5] must be zero, got
+mpam            0xff000002 instead
+mpam            FAILED [MEDIUM] MPAMReservedNonZero: Test 1, MPAM
+mpam            Reserved1 field must be zero, got 0x00020000 instead
+mpam            FAILED [HIGH] MPAMReservedBitsNonZero: Test 1, MPAM Error
+mpam            interrupt flags Bits [2..1] must be zero, got 0x11000002
+mpam            instead
+mpam            FAILED [HIGH] MPAMReservedBitsNonZero: Test 1, MPAM Error
+mpam            interrupt flags Bits [31..5] must be zero, got 0x11000002
+mpam            instead
+mpam            FAILED [MEDIUM] MPAMReservedNonZero: Test 1, MPAM
+mpam            Reserved2 field must be zero, got 0xff000000 instead
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000011
+mpam                RIS Index:                         0x00
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x01
+mpam                Locator:
+mpam                  Memory locator:
+mpam                    20 00 00 00 00 00 00 00 00 00 00 11 
+mpam            FAILED [MEDIUM] MPAMReservedNonZero: Test 1, MPAM Locator
+mpam            field must be all zero, got below instead
+mpam              Locator [00] = 0x00
+mpam              Locator [01] = 0x00
+mpam              Locator [02] = 0x00
+mpam              Locator [03] = 0x11
+mpam                Number of functional dependencies: 0x00000000
+mpam            
+mpam            MPAM MSC node:
+mpam              Length:                              0x00d0
+mpam              Interface type:                      0x00
+mpam              Reserved:                            0x00
+mpam              Identifier:                          0x00000002
+mpam              Base address:                        0x00000000d0000000
+mpam              MMIO size:                           0x00010000
+mpam              Overflow interrupt:                  0x00000000
+mpam              Overflow interrupt flags:            0x00000000
+mpam              Reserved1:                           0x00000000
+mpam              Overflow interrupt affinity:         0x00000000
+mpam              Error interrupt:                     0x00000000
+mpam              Error interrupt flags:               0x00000000
+mpam              Reserved2:                           0x00000000
+mpam              Error interrupt affinity:            0x00000000
+mpam              MAX_NRDY_USEC:                       0x00000032
+mpam              Hardware ID of linked device:        0x0000000000000000
+mpam              Instance ID of linked device:        0x00000000
+mpam              Number of resource nodes:            0x00000005
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000012
+mpam                RIS Index:                         0x00
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x00
+mpam                Locator:
+mpam                  Processor cache locator:
+mpam                    01 00 00 00 00 00 00 00 00 00 02 00 
+mpam            FAILED [MEDIUM] MPAMReservedNonZero: Test 1, MPAM Locator
+mpam            field must be all zero, got below instead
+mpam              Locator [00] = 0x00
+mpam              Locator [01] = 0x00
+mpam              Locator [02] = 0x02
+mpam              Locator [03] = 0x00
+mpam                Number of functional dependencies: 0x00000000
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000013
+mpam                RIS Index:                         0x01
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0xff
+mpam                Locator:
+mpam                  Unknown locator:
+mpam                    02 00 00 00 00 00 00 00 00 00 00 00 
+mpam                Number of functional dependencies: 0x00000000
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000014
+mpam                RIS Index:                         0x01
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x03
+mpam                Locator:
+mpam                  Memory-side cache locator:
+mpam                    11 00 00 00 00 00 00 01 02 00 00 00 
+mpam            FAILED [MEDIUM] MPAMReservedNonZero: Test 1, MPAM Locator
+mpam            field must be all zero, got below instead
+mpam              Locator [00] = 0x11
+mpam              Locator [01] = 0x00
+mpam              Locator [02] = 0x00
+mpam              Locator [03] = 0x00
+mpam              Locator [04] = 0x00
+mpam              Locator [05] = 0x00
+mpam              Locator [06] = 0x00
+mpam                Number of functional dependencies: 0x00000000
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000015
+mpam                RIS Index:                         0x01
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x04
+mpam                Locator:
+mpam                  ACPI device locator:
+mpam                    11 22 33 44 55 66 77 88 99 AA BB CC 
+mpam                Number of functional dependencies: 0x00000000
+mpam              List of resource nodes: 
+mpam                Identifier:                        0x00000016
+mpam                RIS Index:                         0x01
+mpam                Reserved1:                         0x0000
+mpam                Locator type:                      0x02
+mpam                Locator:
+mpam                  SMMU locator:
+mpam                    03 00 00 00 00 00 00 00 00 00 00 11 
+mpam            FAILED [MEDIUM] MPAMReservedNonZero: Test 1, MPAM Locator
+mpam            field must be all zero, got below instead
+mpam              Locator [00] = 0x00
+mpam              Locator [01] = 0x00
+mpam              Locator [02] = 0x00
+mpam              Locator [03] = 0x11
+mpam                Number of functional dependencies: 0x00000002
+mpam                Functional dependency descriptor: 
+mpam                  Producer:			       0x44332211
+mpam                  Reserved:			       0x00000000
+mpam                Functional dependency descriptor: 
+mpam                  Producer:			       0xddccbbaa
+mpam                  Reserved:			       0x22000000
+mpam            FAILED [MEDIUM] MPAMReservedNonZero: Test 1, MPAM
+mpam            Reserved1 field must be zero, got 0x22000000 instead
+mpam            
+mpam            
+mpam            ==========================================================
+mpam            0 passed, 13 failed, 0 warning, 0 aborted, 0 skipped, 0
+mpam            info only.
+mpam            ==========================================================
diff --git a/fwts-test/mpam-0001/test-0001.sh b/fwts-test/mpam-0001/test-0001.sh
new file mode 100755
index 00000000..b1fb361d
--- /dev/null
+++ b/fwts-test/mpam-0001/test-0001.sh
@@ -0,0 +1,23 @@ 
+#!/bin/bash
+#
+TEST="Test acpitables against MPAM"
+NAME=test-0001.sh
+TMPLOG=$TMP/mpam.log.$$
+
+$FWTS --show-tests | grep mpam > /dev/null
+if [ $? -eq 1 ]; then
+	echo SKIP: $TEST, $NAME
+	exit 77
+fi
+
+$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/mpam-0001/acpidump-0001.log mpam - | cut -c7- | grep "^mpam" > $TMPLOG
+diff $TMPLOG $FWTSTESTDIR/mpam-0001/mpam-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/mpam-0001/test-0002.sh b/fwts-test/mpam-0001/test-0002.sh
new file mode 100755
index 00000000..5ebd0a77
--- /dev/null
+++ b/fwts-test/mpam-0001/test-0002.sh
@@ -0,0 +1,23 @@ 
+#!/bin/bash
+#
+TEST="Test acpitables against MPAM"
+NAME=test-0001.sh
+TMPLOG=$TMP/mpam.log.$$
+
+$FWTS --show-tests | grep mpam > /dev/null
+if [ $? -eq 1 ]; then
+	echo SKIP: $TEST, $NAME
+	exit 77
+fi
+
+$FWTS --log-format="%line %owner " -w 80 --dumpfile=$FWTSTESTDIR/mpam-0001/acpidump-0002.log mpam - | cut -c7- | grep "^mpam" > $TMPLOG
+diff $TMPLOG $FWTSTESTDIR/mpam-0001/mpam-0002.log >> $FAILURE_LOG
+ret=$?
+if [ $ret -eq 0 ]; then
+	echo PASSED: $TEST, $NAME
+else
+	echo FAILED: $TEST, $NAME
+fi
+
+rm $TMPLOG
+exit $ret