Sorry for the noise. The SCTs have bugs in their parallel implementations that convert SAS and SASEX text device path nodes to binary device path nodes. I'll push this issue to the maintainers of the SCTs.
--Larry -----Original Message----- From: Larry Cleeton [mailto:larry.clee...@microsoft.com] Sent: Monday, November 18, 2013 2:41 PM To: edk2-devel@lists.sourceforge.net Subject: Re: [edk2] UefiDevicePathLib DevPathToTextSasEx() DevPathFromTextSasEx() inconsistency Upon further review I do see the subtraction in the in DevPathFromTextSasEx(). Let me debug this further. It could just be a bug in the SCT where it is initializing the original binary SasEx device node improperly. I'm aware that an SCT bug would go to that separate project. --Larry -----Original Message----- From: Larry Cleeton [mailto:larry.clee...@microsoft.com] Sent: Monday, November 18, 2013 1:59 PM To: edk2-devel@lists.sourceforge.net Subject: [edk2] UefiDevicePathLib DevPathToTextSasEx() DevPathFromTextSasEx() inconsistency I'm a long time lurker here but I now have permission to contribute. I'll start with something simple. If there is a better place to report bugs please redirect me. I see a reference to "Project Tracker" on the wiki but it doesn't have details about how to actually access it. In file MdePkg/Library/UefiDevicePathLib/DevicePathToText.c, function DevPathToTextSasEx(), lines 685-688, there is this code that is adding 1 when converting to a string: // // Value 0x0 thru 0xFF -> Drive 1 thru Drive 256 // UefiDevicePathLibCatPrint (Str, L"0x%x", ((SasEx->DeviceTopology >> 8) & 0xff) + 1);UefiDevicePathLibCatPrint (Str, L"0x%x", ((SasEx->DeviceTopology >> 8) & 0xff) + 1); In file MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c , function DevPathFromTextSasEx(), there is not an equivalent subtraction of 1 when converting the text representation to binary. This appears to have been changed in revision 14504. A UEFI SCT test case fails as it does a round trip from binary to text to binary and the resultant binary is off by +1 in this field. I'm not fully educated on the expected correct text representation. However, I can infer from the UEFI spec that the bug is in DevPathFromTextSasEx(). In other words the text representation should be human friendly and the values be from 1 to 256. The binary form only has 8 bits so it has to be 0 to 255. --Larry ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel