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)'

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

Reply via email to