Hi Supreeth, The intention of the patch is to fix the LUN display issue in the iSCSI device path text. In the UEFI spec, the according definition is clarified as " The LUN is an 8 byte array that is displayed in hexadecimal format with byte 0 first (i.e., on the left) and byte 7 last (i.e, on the right), and is required. "
The current test has the mistake and need make sure the display order is correct. The input is required to check the TEXT to binary system format, vice versa. It is the reason for the magic string "iSCSI(MyTargetName,0x12AB,0x0000005678000000,CRC32C,None,CHAP_BI,TCP)" And the text format defined in the UEFI spec is: iSCSI(TargetName, PortalGroup, LUN, HeaderDigest, DataDigest, Authentication, Protocol) I will generate the new patch to do definition at first and then do initialization. Thank you for this comment. Best Regards Eric -----Original Message----- From: Supreeth Venkatesh <supreeth.venkat...@arm.com> Sent: Monday, October 15, 2018 10:23 AM To: Jin, Eric <eric....@intel.com>; edk2-devel@lists.01.org Cc: Wu, Jiaxin <jiaxin...@intel.com> Subject: Re: [PATCH] uefi-sct/SctPkg:The Lun display order issue in iSCSI device path text On 10/13/2018 05:33 PM, Eric Jin wrote: > Cc: Supreeth Venkatesh <supreeth.venkat...@arm.com> > Cc: Jiaxin Wu <jiaxin...@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Eric Jin <eric....@intel.com> > --- > .../BlackBoxTest/DevicePathFromTextBBTestCoverage.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git > a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackB > oxTest/DevicePathFromTextBBTestCoverage.c > b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackB > oxTest/DevicePathFromTextBBTestCoverage.c > index fc099d8e..6f97924a 100644 > --- > a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/BlackB > oxTest/DevicePathFromTextBBTestCoverage.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/DevicePathFromText/Bl > +++ ackBoxTest/DevicePathFromTextBBTestCoverage.c > @@ -1,7 +1,7 @@ > /** @file > > Copyright 2006 - 2017 Unified EFI, Inc.<BR> > - Copyright (c) 2010 - 2017, Intel Corporation. All rights > reserved.<BR> > + Copyright (c) 2010 - 2018, Intel Corporation. All rights > + reserved.<BR> > > This program and the accompanying materials > are licensed and made available under the terms and conditions of > the BSD License @@ -1442,7 +1442,7 @@ CreateiScsiDeviceNode ( > CHAR16 *DataDigestStr; > CHAR16 *AuthenticationStr; > CHAR16 *ProtocolStr; > - UINT64 LunNum; > + UINT64 LunNum = 0; EFI coding convention does not allow initialization during definition. > ISCSI_DEVICE_PATH_WITH_NAME *iSCSI; > > NameStr = SctSplitStr (&TextDeviceNode, L','); > @@ -1459,7 +1459,7 @@ CreateiScsiDeviceNode ( > ); > SctUnicodeToAscii (iSCSI->iSCSITargetName, NameStr, SctStrLen (NameStr)); > iSCSI->TargetPortalGroupTag = (UINT16) SctStrToUInt > (PortalGroupStr); > - SctStrToUInt64 (LunStr, &LunNum); > + StrToUInt8Array(LunStr, &LunNum); > iSCSI->Lun = LunNum; > > Options = 0x0000; > @@ -2846,12 +2846,12 @@ DevicePathFromTextConvertTextToDeviceNodeCoverageTest > ( > (UINTN)__LINE__ > ); > // > - // TDS 3.10.1.2.26 > + // TDS 3.10.1.2.26 0x5678 - byte 3 is 0x56 and byte4 is 0x78 > // > - SctStrCpy (text, > L"MyTargetName,0x12AB,5678,CRC32C,None,CHAP_BI,TCP"); > + SctStrCpy (text, > + L"MyTargetName,0x12AB,0x0000005678000000,CRC32C,None,CHAP_BI,TCP"); Magic String. > pDevicePath = CreateiScsiDeviceNode(text); > > - SctStrCpy (text, > L"iSCSI(MyTargetName,0x12AB,5678,CRC32C,None,CHAP_BI,TCP)"); > + SctStrCpy (text, > + L"iSCSI(MyTargetName,0x12AB,0x0000005678000000,CRC32C,None,CHAP_BI,T > + CP)"); Magic String. > pReDevicePath = DevicePathFromText->ConvertTextToDeviceNode (text); > if (SctCompareMem (pDevicePath, pReDevicePath, SctDevicePathNodeLength > ((EFI_DEVICE_PATH_PROTOCOL *) pReDevicePath)) == 0) { > AssertionType = EFI_TEST_ASSERTION_PASSED; _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel