Hi Leif,

 

Actaully I don¡¦t understand the logic in BdsEntry.c. I also paste the logic in below.

 

  FilePath = FileDevicePath (NULL, EFI_REMOVABLE_MEDIA_FILE_NAME);

  Status = EfiBootManagerInitializeLoadOption (

             &LoadOption,

             LoadOptionNumberUnassigned,

             LoadOptionTypePlatformRecovery,

             LOAD_OPTION_ACTIVE,

             L"Default PlatformRecovery",

             FilePath,

             NULL,

             0

             );

 

At here, the FilePath is ¡§\EFI\BOOT\BOOTAA64.EFI¡¨. But the device path isn¡¦t assigned. I think that it should be the default device path. What¡¦s the default one? FS0? I doubt that it should be FS0, so I have the question in previous mail.

 

Best Regards

Haojian

 

From: Leif Lindholm
Sent: 2017
¦~1¤ë20¤é 21:52
To: haojian.zhuang@linaro.org
Cc: ard.biesheuvel@linaro.org; linaro-uefi@lists.linaro.org
Subject: Re: how to get mapped FS0 in UEFI shell

 

Hi Haojian,

On Fri, Jan 20, 2017 at 09:53:20AM +0800, haojian.zhuang@linaro.org wrote:
> After I switched to generic BDS, I can¡¦t find FS0 in UEFI shell. Is
> it right behavior?

What are you expecting to see? A partition on the eMMC?
I would have thought EfiBootManagerConnectAll() (called from
ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c) would have the
same effect as the call to BdsLibConnectAll().

Was something in the ArmBds manually wiring up specific controllers?
Is there some reason why the eMMC is not detected?

Regards,

Leif