Reviewed-by: Andrei Warkentin <awarkentin@vmware.com>

A

From: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Sent: Wednesday, June 17, 2020 11:16 PM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>; Leif Lindholm <leif@nuviainc.com>; Andrei Warkentin <awarkentin@vmware.com>; Pete Batard <pete@akeo.ie>
Subject: [edk2-platform][PATCH v1 1/1] Platforms/RaspberryPi: Fix SMBIOS Type 9
 
FWTS reports an error with SMBIOS Type 9 Segment-Bus-DevFunc fields.
The SMBIOS specification requires that for non-PCIe slot devices to have
these fields reported as 0xFFFFF-0xFF-xFF. Instead, they were being
reported as 0x0000-0x00-0x00.

This fixes the FWTS SMBIOS Type 9 failure reported here:
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpftf%2FRPi4%2Fissues%2F75&amp;data=02%7C01%7Cawarkentin%40vmware.com%7C12c3f18cf4c542508b1008d8133e6ec5%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C1%7C637280506159613646&amp;sdata=SOdVyajdUz021jZ9PrJMTSw%2B3zef8FR88WMRp6Xckio%3D&amp;reserved=0

Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Andrei Warkentin <awarkentin@vmware.com>
Cc: Pete Batard <pete@akeo.ie>
Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@arm.com>
---
 Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
index 7b86e76a1248..78bdda18eb2d 100644
--- a/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
+++ b/Platform/RaspberryPi/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.c
@@ -380,9 +380,9 @@ SMBIOS_TABLE_TYPE9  mSysSlotInfoType9 = {
     0,  // SmbusSignalSupported    :1;
     0,  // Reserved                :5;  ///< Set to 0.
   },
-  0,    // SegmentGroupNum;
-  0,    // BusNum;
-  0,    // DevFuncNum;
+  0xFFFF, // SegmentGroupNum;
+  0xFF,   // BusNum;
+  0xFF,   // DevFuncNum;
 };
 CHAR8 *mSysSlotInfoType9Strings[] = {
   "SD Card",
--
2.17.1