> On Apr 1, 2015, at 2:27 PM, Narinder Dhillon <ndhillo...@gmail.com> wrote: > > Hi All, > > I add a boot option for PXE boot, pointed to a network interface, and boot > from it successfully. If I update my firmware, flash into spi-nor device and > then try pxe boot again, fails. > If I now delete the old boot option in boot manager and add a new one, then > PXE boot works. > > I have chased this down to a comparison in > MdeModulePkg/Core/Dxe/Hand/Locate.c and in function CoreLocateDevicePath, the > following comparison fails even though the device path strings look the same. > > ---------------------------------------------------------------------------------------------------------------- > if ((Size <= SourceSize) && CompareMem (SourcePath, TmpDevicePath, > (UINTN) Size) == 0) { > ---------------------------------------------------------------------------------------------------------------- > > I used the device path to text protocol to print both paths and they look the > same but I am not sure why this comparison is failing. > > Tmp Device Path 'PciRoot(0x2)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(123456789ABC,0x1)' > > Source Device Path > 'PciRoot(0x2)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(123456789ABC,0x1)' >
The text representation of a device path is a summary. The compare is done on the actual device path binary. The device paths are binary bits with no strings. The strings are just convention to make things human readable. So hexdump the device paths to see the difference. Thanks, Andrew Fish > Any suggestions on how I can debug this ? > Thanx, > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for all > things parallel software development, from weekly thought leadership blogs to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. > http://goparallel.sourceforge.net/_______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel