mbox series

[edk2,edk2-platforms,0/3] drop GUIDs from NOR flash bank descriptors

Message ID 20181121120145.3148-1-ard.biesheuvel@linaro.org
Headers show
Series drop GUIDs from NOR flash bank descriptors | expand

Message

Ard Biesheuvel Nov. 21, 2018, 12:01 p.m. UTC
Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank
NOR flash GUIDs.

Ard Biesheuvel (3):
  Platform/ARM: replace hardcoded VenHW() device paths referring to NOR
    flash
  Silicon/SynQuacer: drop per-bank NOR flash GUIDs
  Platform/ARM: drop per-bank NOR flash GUIDs

 Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-
 Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-
 .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --
 .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --
 Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-
 Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-
 Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-
 .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----
 .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------
 .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++
 .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------
 11 files changed, 15 insertions(+), 26 deletions(-)

-- 
2.17.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Thomas Abraham Nov. 21, 2018, 1:48 p.m. UTC | #1
Hi Ard,

On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
>

> Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> NOR flash GUIDs.

>

> Ard Biesheuvel (3):

>   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

>     flash

>   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

>   Platform/ARM: drop per-bank NOR flash GUIDs

>

>  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

>  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

>  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

>  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

>  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

>  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

>  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

>  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

>  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

>  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

>  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

>  11 files changed, 15 insertions(+), 26 deletions(-)


Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,
ArmVirtPkg: discover NOR flash banks from DTB" patch series on the
Juno board. With these patches applied, the boot fails on Juno board
with the following messages. I have not yet tried to debug the issue
but wanted to let you know this.

[...]
Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi
add-symbol-file
/home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll
0xF8300000
Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi
add-symbol-file
/home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll
0xF82EE000
Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi
Found image: fip in block 5.
Found image: norkern in block 20.
Found image: ramdisk.img in block 116.
Found image: hdlcdclk in block 151.
Found image: selftest in block 152.
Found image: board.dtb in block 156.
Found image: scp_bl1 in block 249.
Found image: bl1 in block 251.
Found image: startup.nsh in block 252.
ASSERT [BootMonFs]
/home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):
((UINTN) String & 0x00000001) == 0

Thanks,
Thomas.



>

> --

> 2.17.1

>

> _______________________________________________

> edk2-devel mailing list

> edk2-devel@lists.01.org

> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 21, 2018, 10:16 p.m. UTC | #2
On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:
>

> Hi Ard,

>

> On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel

> <ard.biesheuvel@linaro.org> wrote:

> >

> > Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> > NOR flash GUIDs.

> >

> > Ard Biesheuvel (3):

> >   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

> >     flash

> >   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

> >   Platform/ARM: drop per-bank NOR flash GUIDs

> >

> >  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

> >  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

> >  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

> >  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

> >  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

> >  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

> >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

> >  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

> >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

> >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

> >  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

> >  11 files changed, 15 insertions(+), 26 deletions(-)

>

> Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,

> ArmVirtPkg: discover NOR flash banks from DTB" patch series on the

> Juno board. With these patches applied, the boot fails on Juno board

> with the following messages. I have not yet tried to debug the issue

> but wanted to let you know this.

>

> [...]

> Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi

> add-symbol-file

> /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> 0xF8300000

> Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi

> add-symbol-file

> /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> 0xF82EE000

> Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi

> Found image: fip in block 5.

> Found image: norkern in block 20.

> Found image: ramdisk.img in block 116.

> Found image: hdlcdclk in block 151.

> Found image: selftest in block 152.

> Found image: board.dtb in block 156.

> Found image: scp_bl1 in block 249.

> Found image: bl1 in block 251.

> Found image: startup.nsh in block 252.

> ASSERT [BootMonFs]

> /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> ((UINTN) String & 0x00000001) == 0

>


Hi Thomas,

Thanks for testing.

Could you please apply this patch and re-test:

--- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
+++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc
@@ -299,7 +299,7 @@
 !if $(TARGET) == RELEASE
   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
 !else
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x3f
 !endif

   #  DEBUG_INIT      0x00000001  // Initialization

This will produce a backtrace when an ASSERT() is triggered, and from
this we can figure out what the call stack looks like exactly (The
ASSERT() occurs in StrLen (), which is called with a misaligned
unicode string, but I cannot figure out where the call is made)

Please share the backtrace and all the .dlls listed in it if you can please.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Thomas Abraham Nov. 22, 2018, 4:01 a.m. UTC | #3
Hi Ard,

On Thu, Nov 22, 2018 at 3:46 AM Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
>

> On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:

> >

> > Hi Ard,

> >

> > On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel

> > <ard.biesheuvel@linaro.org> wrote:

> > >

> > > Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> > > NOR flash GUIDs.

> > >

> > > Ard Biesheuvel (3):

> > >   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

> > >     flash

> > >   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

> > >   Platform/ARM: drop per-bank NOR flash GUIDs

> > >

> > >  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

> > >  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

> > >  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

> > >  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

> > >  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

> > >  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

> > >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

> > >  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

> > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

> > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

> > >  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

> > >  11 files changed, 15 insertions(+), 26 deletions(-)

> >

> > Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,

> > ArmVirtPkg: discover NOR flash banks from DTB" patch series on the

> > Juno board. With these patches applied, the boot fails on Juno board

> > with the following messages. I have not yet tried to debug the issue

> > but wanted to let you know this.

> >

> > [...]

> > Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi

> > add-symbol-file

> > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> > 0xF8300000

> > Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi

> > add-symbol-file

> > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> > 0xF82EE000

> > Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi

> > Found image: fip in block 5.

> > Found image: norkern in block 20.

> > Found image: ramdisk.img in block 116.

> > Found image: hdlcdclk in block 151.

> > Found image: selftest in block 152.

> > Found image: board.dtb in block 156.

> > Found image: scp_bl1 in block 249.

> > Found image: bl1 in block 251.

> > Found image: startup.nsh in block 252.

> > ASSERT [BootMonFs]

> > /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> > ((UINTN) String & 0x00000001) == 0

> >

>

> Hi Thomas,

>

> Thanks for testing.

>

> Could you please apply this patch and re-test:

>

> --- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> +++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> @@ -299,7 +299,7 @@

>  !if $(TARGET) == RELEASE

>    gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21

>  !else

> -  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f

> +  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x3f

>  !endif

>

>    #  DEBUG_INIT      0x00000001  // Initialization

>

> This will produce a backtrace when an ASSERT() is triggered, and from

> this we can figure out what the call stack looks like exactly (The

> ASSERT() occurs in StrLen (), which is called with a misaligned

> unicode string, but I cannot figure out where the call is made)

>

> Please share the backtrace and all the .dlls listed in it if you can please.


The following is the log with the above diff applied on top of your
patch series.

Loading driver at 0x000F8309000 EntryPoint=0x000F83182A4 IScsiDxe.efi
add-symbol-file
/home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll
0xF82FD000
Loading driver at 0x000F82FC000 EntryPoint=0x000F8303DE8 Udp4Dxe.efi
add-symbol-file
/home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll
0xF82EA000
Loading driver at 0x000F82E9000 EntryPoint=0x000F82F46E4 FdtPlatformDxe.efi
Found image: fip in block 5.
Found image: norkern in block 20.
Found image: ramdisk.img in block 116.
Found image: hdlcdclk in block 151.
Found image: selftest in block 152.
Found image: board.dtb in block 156.
Found image: scp_bl1 in block 249.
Found image: bl1 in block 251.
Found image: startup.nsh in block 252.
ASSERT [BootMonFs]
/home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):
((UINTN) String & 0x00000001) == 0


Synchronous Exception at 0x00000000FD8F5584
PC 0x0000FD8F5584 (0x0000FD8EF000+0x00006584) [ 0] BootMonFs.dll
PC 0x0000FD8F01A8 (0x0000FD8EF000+0x000011A8) [ 0] BootMonFs.dll
PC 0x0000FD8F09AC (0x0000FD8EF000+0x000019AC) [ 0] BootMonFs.dll
PC 0x0000FD8F0A18 (0x0000FD8EF000+0x00001A18) [ 0] BootMonFs.dll
PC 0x0000FD8F3EC8 (0x0000FD8EF000+0x00004EC8) [ 0] BootMonFs.dll
PC 0x0000F82EE158 (0x0000F82E9000+0x00005158) [ 1] FdtPlatformDxe.dll
PC 0x0000F82EE66C (0x0000F82E9000+0x0000566C) [ 1] FdtPlatformDxe.dll
PC 0x0000F82EEE70 (0x0000F82E9000+0x00005E70) [ 1] FdtPlatformDxe.dll
PC 0x0000F82F4B58 (0x0000F82E9000+0x0000BB58) [ 1] FdtPlatformDxe.dll
PC 0x0000FDB0AC0C (0x0000FDB02000+0x00008C0C) [ 2] DxeCore.dll
PC 0x0000FDB18420 (0x0000FDB02000+0x00016420) [ 2] DxeCore.dll
PC 0x0000FDB0EA88 (0x0000FDB02000+0x0000CA88) [ 2] DxeCore.dll
PC 0x0000E000820C
PC 0x0000E0008474

[ 0] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll
[ 1] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll
[ 2] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll

  X0 0x000000000000000A   X1 0x00000000FE8167C0   X2
0x0000000000000001   X3 0x0000000000000000
  X4 0x0000000000000001   X5 0x0000000000000001   X6
0x0000000000000000   X7 0x00000000FD8F584F
  X8 0x0000000000000002   X9 0x0000000000000000  X10
0x0000000000000002  X11 0x0000000000000000
 X12 0x0000000000000002  X13 0x0000000000000002  X14
0x0000000000000001  X15 0x00000000000000FF
 X16 0x00000000FE816B20  X17 0x00000000FFFFA6AC  X18
0x0000000000000000  X19 0x00000000FE816846
 X20 0x00000000FE816846  X21 0x000000007FF80018  X22
0x000000007FF80000  X23 0x0000000000000001
 X24 0x00000000FE8169E8  X25 0x0000000000000000  X26
0x00000000FD8C8018  X27 0x00000000FD8C62AD
 X28 0x0000000000000001   FP 0x00000000FE816790   LR 0x00000000FD8F01A8

  V0 0xAFAFAFAFAFAFAFAF AFAFAFAFAFAFAFAF   V1 0xAB1C5ED5923F82A4
59F111F13956C25B
  V2 0x550C7DC3243185BE 12835B01D807AA98   V3 0xC19BF1749BDC06A7
80DEB1FE72BE5D74
  V4 0x240CA1CC0FC19DC6 EFBE4786E49B69C1   V5 0x76F988DA5CB0A9DC
4A7484AA2DE92C6F
  V6 0xBF597FC7B00327C8 A831C66D983E5152   V7 0x1429296706CA6351
D5A79147C6E00BF3
  V8 0x0000000000000000 2E1B213827B70A85   V9 0x0000000000000000
766A0ABB650A7354
 V10 0x0000000000000000 A81A664BA2BFE8A1  V11 0x0000000000000000
D6990624D192E819
 V12 0x0000000000000000 1E376C0819A4C116  V13 0x0000000000000000
4ED8AA4A391C0CB3
 V14 0x0000000000000000 78A5636F748F82EE  V15 0x0000000000000000
A4506CEB90BEFFFA
 V16 0x3C83709547545153 BC990E9F897D4FA8  V17 0xBEBEF297C5EC0578
E1D99AE8C2B92607
 V18 0x13242833C5F05BAB 101C24C521387481  V19 0x0A50ABCAD0BDDA12
996865483E880969
 V20 0x6C4ABAA53A9BE1CB 4416D9F479B08221  V21 0x60952147C3A68574
55B8AE51435C1A1A
 V22 0x9FEB2A3B4AB8D3BF 88C1883495C7F76F  V23 0xD0C224BC8FB77E09
3DB8D233CF470963
 V24 0x0E72963E02D21C93 C95B757DA62B3A12  V25 0x2A77DBA1E4EE5D5C
E08479A1B557DFA8
 V26 0xB593F86668CA8129 927A0019CDEC1A76  V27 0x2014000680902002
81A0200000101002
 V28 0x1821004001120581 8800842100020010  V29 0x1002000A80081080
2410800460840820
 V30 0x0400000600040000 0404040100000049  V31 0x0044880025110005
8400000080090000

  SP 0x00000000FE816790  ELR 0x00000000FD8F5584  SPSR 0x60000209  FPSR
0x00000000
 ESR 0x5600DBDB          FAR 0x400000A4600D0B98

 ESR : EC 0x15  IL 0x1  ISS 0x0000DBDB

 SVC executed in AArch64

Stack dump:
  00000FE816690: 55B8AE51435C1A1A 60952147C3A68574 88C1883495C7F76F
9FEB2A3B4AB8D3BF
  00000FE8166B0: 3DB8D233CF470963 D0C224BC8FB77E09 C95B757DA62B3A12
0E72963E02D21C93
  00000FE8166D0: E08479A1B557DFA8 2A77DBA1E4EE5D5C 927A0019CDEC1A76
B593F86668CA8129
  00000FE8166F0: 81A0200000101002 2014000680902002 8800842100020010
1821004001120581
  00000FE816710: 2410800460840820 1002000A80081080 0404040100000049
0400000600040000
  00000FE816730: 8400000080090000 0044880025110005 00000000FD8F03A8
0000000040000209
  00000FE816750: 0000000000000000 0000000080001700 400000A4600D0B98
00000000FD8C62B1
  00000FE816770: 00000000FE816790 00000000FD8F01C0 00000000FE816845
00000000FE8169E8
> 00000FE816790: 00000000FE8168C0 00000000FD8F09AC 0000000000000000 00000000FD8C62B1

  00000FE8167B0: 00000000F82FA000 00000000F82FA000 5B20545245535341
466E6F4D746F6F42
  00000FE8167D0: 656D6F682F205D73 306E61706F68742F 2F6C657665642F31
6665752F6F6E756A
  00000FE8167F0: 652F696665752F69 5065644D2F326B64 617262694C2F676B
4C657361422F7972
  00000FE816810: 6E697274532F6269 2933373128632E67 544E49552828203A
6E6972745320294E
  00000FE816830: 3030783020262067 2029313030303030 00000A0D30203D3D
00000000FD8C8018
  00000FE816850: 00000000000000FF 00000000FD8F3CD0 00000000FE816890
00000000FD8F1B98
  00000FE816870: 00000000FD8C7518 0000000003FBFF78 00000000FD8C74C0
00000004FD8C8018
ASSERT [ArmCpuDxe]
/home/thopan01/devel/juno/uefi/uefi/edk2/ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c(271):
((BOOLEAN)(0==1))

Recursive exception occurred while dumping the CPU state

CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7 | VT102 | Offline |
ttyS0

> _______________________________________________

> edk2-devel mailing list

> edk2-devel@lists.01.org

> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 22, 2018, 7:50 a.m. UTC | #4
On Thu, 22 Nov 2018 at 05:01, Thomas Abraham <thomas.abraham@arm.com> wrote:
>

> Hi Ard,

>

> On Thu, Nov 22, 2018 at 3:46 AM Ard Biesheuvel

> <ard.biesheuvel@linaro.org> wrote:

> >

> > On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > >

> > > Hi Ard,

> > >

> > > On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel

> > > <ard.biesheuvel@linaro.org> wrote:

> > > >

> > > > Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> > > > NOR flash GUIDs.

> > > >

> > > > Ard Biesheuvel (3):

> > > >   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

> > > >     flash

> > > >   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

> > > >   Platform/ARM: drop per-bank NOR flash GUIDs

> > > >

> > > >  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

> > > >  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

> > > >  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

> > > >  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

> > > >  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

> > > >  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

> > > >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

> > > >  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

> > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

> > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

> > > >  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

> > > >  11 files changed, 15 insertions(+), 26 deletions(-)

> > >

> > > Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,

> > > ArmVirtPkg: discover NOR flash banks from DTB" patch series on the

> > > Juno board. With these patches applied, the boot fails on Juno board

> > > with the following messages. I have not yet tried to debug the issue

> > > but wanted to let you know this.

> > >

> > > [...]

> > > Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi

> > > add-symbol-file

> > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> > > 0xF8300000

> > > Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi

> > > add-symbol-file

> > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> > > 0xF82EE000

> > > Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi

> > > Found image: fip in block 5.

> > > Found image: norkern in block 20.

> > > Found image: ramdisk.img in block 116.

> > > Found image: hdlcdclk in block 151.

> > > Found image: selftest in block 152.

> > > Found image: board.dtb in block 156.

> > > Found image: scp_bl1 in block 249.

> > > Found image: bl1 in block 251.

> > > Found image: startup.nsh in block 252.

> > > ASSERT [BootMonFs]

> > > /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> > > ((UINTN) String & 0x00000001) == 0

> > >

> >

> > Hi Thomas,

> >

> > Thanks for testing.

> >

> > Could you please apply this patch and re-test:

> >

> > --- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> > +++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> > @@ -299,7 +299,7 @@

> >  !if $(TARGET) == RELEASE

> >    gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21

> >  !else

> > -  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f

> > +  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x3f

> >  !endif

> >

> >    #  DEBUG_INIT      0x00000001  // Initialization

> >

> > This will produce a backtrace when an ASSERT() is triggered, and from

> > this we can figure out what the call stack looks like exactly (The

> > ASSERT() occurs in StrLen (), which is called with a misaligned

> > unicode string, but I cannot figure out where the call is made)

> >

> > Please share the backtrace and all the .dlls listed in it if you can please.

>

> The following is the log with the above diff applied on top of your

> patch series.

>


Thanks!

Could you please share the output of

nm -n /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

as well so I can cross reference the addresses with the functions? Thanks.


> Loading driver at 0x000F8309000 EntryPoint=0x000F83182A4 IScsiDxe.efi

> add-symbol-file

> /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> 0xF82FD000

> Loading driver at 0x000F82FC000 EntryPoint=0x000F8303DE8 Udp4Dxe.efi

> add-symbol-file

> /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> 0xF82EA000

> Loading driver at 0x000F82E9000 EntryPoint=0x000F82F46E4 FdtPlatformDxe.efi

> Found image: fip in block 5.

> Found image: norkern in block 20.

> Found image: ramdisk.img in block 116.

> Found image: hdlcdclk in block 151.

> Found image: selftest in block 152.

> Found image: board.dtb in block 156.

> Found image: scp_bl1 in block 249.

> Found image: bl1 in block 251.

> Found image: startup.nsh in block 252.

> ASSERT [BootMonFs]

> /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> ((UINTN) String & 0x00000001) == 0

>

>

> Synchronous Exception at 0x00000000FD8F5584

> PC 0x0000FD8F5584 (0x0000FD8EF000+0x00006584) [ 0] BootMonFs.dll

> PC 0x0000FD8F01A8 (0x0000FD8EF000+0x000011A8) [ 0] BootMonFs.dll

> PC 0x0000FD8F09AC (0x0000FD8EF000+0x000019AC) [ 0] BootMonFs.dll

> PC 0x0000FD8F0A18 (0x0000FD8EF000+0x00001A18) [ 0] BootMonFs.dll

> PC 0x0000FD8F3EC8 (0x0000FD8EF000+0x00004EC8) [ 0] BootMonFs.dll

> PC 0x0000F82EE158 (0x0000F82E9000+0x00005158) [ 1] FdtPlatformDxe.dll

> PC 0x0000F82EE66C (0x0000F82E9000+0x0000566C) [ 1] FdtPlatformDxe.dll

> PC 0x0000F82EEE70 (0x0000F82E9000+0x00005E70) [ 1] FdtPlatformDxe.dll

> PC 0x0000F82F4B58 (0x0000F82E9000+0x0000BB58) [ 1] FdtPlatformDxe.dll

> PC 0x0000FDB0AC0C (0x0000FDB02000+0x00008C0C) [ 2] DxeCore.dll

> PC 0x0000FDB18420 (0x0000FDB02000+0x00016420) [ 2] DxeCore.dll

> PC 0x0000FDB0EA88 (0x0000FDB02000+0x0000CA88) [ 2] DxeCore.dll

> PC 0x0000E000820C

> PC 0x0000E0008474

>

> [ 0] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

> [ 1] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> [ 2] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll

>

>   X0 0x000000000000000A   X1 0x00000000FE8167C0   X2

> 0x0000000000000001   X3 0x0000000000000000

>   X4 0x0000000000000001   X5 0x0000000000000001   X6

> 0x0000000000000000   X7 0x00000000FD8F584F

>   X8 0x0000000000000002   X9 0x0000000000000000  X10

> 0x0000000000000002  X11 0x0000000000000000

>  X12 0x0000000000000002  X13 0x0000000000000002  X14

> 0x0000000000000001  X15 0x00000000000000FF

>  X16 0x00000000FE816B20  X17 0x00000000FFFFA6AC  X18

> 0x0000000000000000  X19 0x00000000FE816846

>  X20 0x00000000FE816846  X21 0x000000007FF80018  X22

> 0x000000007FF80000  X23 0x0000000000000001

>  X24 0x00000000FE8169E8  X25 0x0000000000000000  X26

> 0x00000000FD8C8018  X27 0x00000000FD8C62AD

>  X28 0x0000000000000001   FP 0x00000000FE816790   LR 0x00000000FD8F01A8

>

>   V0 0xAFAFAFAFAFAFAFAF AFAFAFAFAFAFAFAF   V1 0xAB1C5ED5923F82A4

> 59F111F13956C25B

>   V2 0x550C7DC3243185BE 12835B01D807AA98   V3 0xC19BF1749BDC06A7

> 80DEB1FE72BE5D74

>   V4 0x240CA1CC0FC19DC6 EFBE4786E49B69C1   V5 0x76F988DA5CB0A9DC

> 4A7484AA2DE92C6F

>   V6 0xBF597FC7B00327C8 A831C66D983E5152   V7 0x1429296706CA6351

> D5A79147C6E00BF3

>   V8 0x0000000000000000 2E1B213827B70A85   V9 0x0000000000000000

> 766A0ABB650A7354

>  V10 0x0000000000000000 A81A664BA2BFE8A1  V11 0x0000000000000000

> D6990624D192E819

>  V12 0x0000000000000000 1E376C0819A4C116  V13 0x0000000000000000

> 4ED8AA4A391C0CB3

>  V14 0x0000000000000000 78A5636F748F82EE  V15 0x0000000000000000

> A4506CEB90BEFFFA

>  V16 0x3C83709547545153 BC990E9F897D4FA8  V17 0xBEBEF297C5EC0578

> E1D99AE8C2B92607

>  V18 0x13242833C5F05BAB 101C24C521387481  V19 0x0A50ABCAD0BDDA12

> 996865483E880969

>  V20 0x6C4ABAA53A9BE1CB 4416D9F479B08221  V21 0x60952147C3A68574

> 55B8AE51435C1A1A

>  V22 0x9FEB2A3B4AB8D3BF 88C1883495C7F76F  V23 0xD0C224BC8FB77E09

> 3DB8D233CF470963

>  V24 0x0E72963E02D21C93 C95B757DA62B3A12  V25 0x2A77DBA1E4EE5D5C

> E08479A1B557DFA8

>  V26 0xB593F86668CA8129 927A0019CDEC1A76  V27 0x2014000680902002

> 81A0200000101002

>  V28 0x1821004001120581 8800842100020010  V29 0x1002000A80081080

> 2410800460840820

>  V30 0x0400000600040000 0404040100000049  V31 0x0044880025110005

> 8400000080090000

>

>   SP 0x00000000FE816790  ELR 0x00000000FD8F5584  SPSR 0x60000209  FPSR

> 0x00000000

>  ESR 0x5600DBDB          FAR 0x400000A4600D0B98

>

>  ESR : EC 0x15  IL 0x1  ISS 0x0000DBDB

>

>  SVC executed in AArch64

>

> Stack dump:

>   00000FE816690: 55B8AE51435C1A1A 60952147C3A68574 88C1883495C7F76F

> 9FEB2A3B4AB8D3BF

>   00000FE8166B0: 3DB8D233CF470963 D0C224BC8FB77E09 C95B757DA62B3A12

> 0E72963E02D21C93

>   00000FE8166D0: E08479A1B557DFA8 2A77DBA1E4EE5D5C 927A0019CDEC1A76

> B593F86668CA8129

>   00000FE8166F0: 81A0200000101002 2014000680902002 8800842100020010

> 1821004001120581

>   00000FE816710: 2410800460840820 1002000A80081080 0404040100000049

> 0400000600040000

>   00000FE816730: 8400000080090000 0044880025110005 00000000FD8F03A8

> 0000000040000209

>   00000FE816750: 0000000000000000 0000000080001700 400000A4600D0B98

> 00000000FD8C62B1

>   00000FE816770: 00000000FE816790 00000000FD8F01C0 00000000FE816845

> 00000000FE8169E8

> > 00000FE816790: 00000000FE8168C0 00000000FD8F09AC 0000000000000000 00000000FD8C62B1

>   00000FE8167B0: 00000000F82FA000 00000000F82FA000 5B20545245535341

> 466E6F4D746F6F42

>   00000FE8167D0: 656D6F682F205D73 306E61706F68742F 2F6C657665642F31

> 6665752F6F6E756A

>   00000FE8167F0: 652F696665752F69 5065644D2F326B64 617262694C2F676B

> 4C657361422F7972

>   00000FE816810: 6E697274532F6269 2933373128632E67 544E49552828203A

> 6E6972745320294E

>   00000FE816830: 3030783020262067 2029313030303030 00000A0D30203D3D

> 00000000FD8C8018

>   00000FE816850: 00000000000000FF 00000000FD8F3CD0 00000000FE816890

> 00000000FD8F1B98

>   00000FE816870: 00000000FD8C7518 0000000003FBFF78 00000000FD8C74C0

> 00000004FD8C8018

> ASSERT [ArmCpuDxe]

> /home/thopan01/devel/juno/uefi/uefi/edk2/ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c(271):

> ((BOOLEAN)(0==1))

>

> Recursive exception occurred while dumping the CPU state

>

> CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7 | VT102 | Offline |

> ttyS0

>

> > _______________________________________________

> > edk2-devel mailing list

> > edk2-devel@lists.01.org

> > https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
chandni cherukuri Nov. 22, 2018, 11:19 a.m. UTC | #5
On Thu, Nov 22, 2018 at 1:20 PM Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
>

> On Thu, 22 Nov 2018 at 05:01, Thomas Abraham <thomas.abraham@arm.com> wrote:

> >

> > Hi Ard,

> >

> > On Thu, Nov 22, 2018 at 3:46 AM Ard Biesheuvel

> > <ard.biesheuvel@linaro.org> wrote:

> > >

> > > On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > > >

> > > > Hi Ard,

> > > >

> > > > On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel

> > > > <ard.biesheuvel@linaro.org> wrote:

> > > > >

> > > > > Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> > > > > NOR flash GUIDs.

> > > > >

> > > > > Ard Biesheuvel (3):

> > > > >   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

> > > > >     flash

> > > > >   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

> > > > >   Platform/ARM: drop per-bank NOR flash GUIDs

> > > > >

> > > > >  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

> > > > >  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

> > > > >  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

> > > > >  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

> > > > >  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

> > > > >  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

> > > > >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

> > > > >  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

> > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

> > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

> > > > >  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

> > > > >  11 files changed, 15 insertions(+), 26 deletions(-)

> > > >

> > > > Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,

> > > > ArmVirtPkg: discover NOR flash banks from DTB" patch series on the

> > > > Juno board. With these patches applied, the boot fails on Juno board

> > > > with the following messages. I have not yet tried to debug the issue

> > > > but wanted to let you know this.

> > > >

> > > > [...]

> > > > Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi

> > > > add-symbol-file

> > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> > > > 0xF8300000

> > > > Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi

> > > > add-symbol-file

> > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> > > > 0xF82EE000

> > > > Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi

> > > > Found image: fip in block 5.

> > > > Found image: norkern in block 20.

> > > > Found image: ramdisk.img in block 116.

> > > > Found image: hdlcdclk in block 151.

> > > > Found image: selftest in block 152.

> > > > Found image: board.dtb in block 156.

> > > > Found image: scp_bl1 in block 249.

> > > > Found image: bl1 in block 251.

> > > > Found image: startup.nsh in block 252.

> > > > ASSERT [BootMonFs]

> > > > /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> > > > ((UINTN) String & 0x00000001) == 0

> > > >

> > >

> > > Hi Thomas,

> > >

> > > Thanks for testing.

> > >

> > > Could you please apply this patch and re-test:

> > >

> > > --- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> > > +++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> > > @@ -299,7 +299,7 @@

> > >  !if $(TARGET) == RELEASE

> > >    gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21

> > >  !else

> > > -  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f

> > > +  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x3f

> > >  !endif

> > >

> > >    #  DEBUG_INIT      0x00000001  // Initialization

> > >

> > > This will produce a backtrace when an ASSERT() is triggered, and from

> > > this we can figure out what the call stack looks like exactly (The

> > > ASSERT() occurs in StrLen (), which is called with a misaligned

> > > unicode string, but I cannot figure out where the call is made)

> > >

> > > Please share the backtrace and all the .dlls listed in it if you can please.

> >

> > The following is the log with the above diff applied on top of your

> > patch series.

> >

>

> Thanks!

>

> Could you please share the output of

>

> nm -n /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

>

> as well so I can cross reference the addresses with the functions? Thanks.

>

>

Hi Ard,

With the following diff applied on top of your patches we see that the
ASSERT no longer comes in Juno and it boots till the UEFI Shell.

--- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c
+++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c
@@ -129,7 +129,7 @@ NorFlashCreateInstance (
   Instance->Media.LastBlock = (NorFlashSize / BlockSize)-1;

   CopyGuid (&Instance->DevicePath.Vendor.Guid, &gEfiCallerIdGuid);
-  Instance->DevicePath.Index = (UINT8)Index;
+  Instance->DevicePath.Index = (UINT16)Index;^M

   Instance->ShadowBuffer = AllocateRuntimePool (BlockSize);;
   if (Instance->ShadowBuffer == NULL) {
diff --git a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h
b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h
index 8886aa4..c40255e 100644
--- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h
+++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h
@@ -125,7 +125,7 @@ typedef struct _NOR_FLASH_INSTANCE
NOR_FLASH_INSTANCE;
 #pragma pack(1)
 typedef struct {
   VENDOR_DEVICE_PATH                  Vendor;
-  UINT8                               Index;
+  UINT16                              Index;^M
   EFI_DEVICE_PATH_PROTOCOL            End;
 } NOR_FLASH_DEVICE_PATH;
 #pragma pack()

Thanks
Chandni

> > Loading driver at 0x000F8309000 EntryPoint=0x000F83182A4 IScsiDxe.efi

> > add-symbol-file

> > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> > 0xF82FD000

> > Loading driver at 0x000F82FC000 EntryPoint=0x000F8303DE8 Udp4Dxe.efi

> > add-symbol-file

> > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> > 0xF82EA000

> > Loading driver at 0x000F82E9000 EntryPoint=0x000F82F46E4 FdtPlatformDxe.efi

> > Found image: fip in block 5.

> > Found image: norkern in block 20.

> > Found image: ramdisk.img in block 116.

> > Found image: hdlcdclk in block 151.

> > Found image: selftest in block 152.

> > Found image: board.dtb in block 156.

> > Found image: scp_bl1 in block 249.

> > Found image: bl1 in block 251.

> > Found image: startup.nsh in block 252.

> > ASSERT [BootMonFs]

> > /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> > ((UINTN) String & 0x00000001) == 0

> >

> >

> > Synchronous Exception at 0x00000000FD8F5584

> > PC 0x0000FD8F5584 (0x0000FD8EF000+0x00006584) [ 0] BootMonFs.dll

> > PC 0x0000FD8F01A8 (0x0000FD8EF000+0x000011A8) [ 0] BootMonFs.dll

> > PC 0x0000FD8F09AC (0x0000FD8EF000+0x000019AC) [ 0] BootMonFs.dll

> > PC 0x0000FD8F0A18 (0x0000FD8EF000+0x00001A18) [ 0] BootMonFs.dll

> > PC 0x0000FD8F3EC8 (0x0000FD8EF000+0x00004EC8) [ 0] BootMonFs.dll

> > PC 0x0000F82EE158 (0x0000F82E9000+0x00005158) [ 1] FdtPlatformDxe.dll

> > PC 0x0000F82EE66C (0x0000F82E9000+0x0000566C) [ 1] FdtPlatformDxe.dll

> > PC 0x0000F82EEE70 (0x0000F82E9000+0x00005E70) [ 1] FdtPlatformDxe.dll

> > PC 0x0000F82F4B58 (0x0000F82E9000+0x0000BB58) [ 1] FdtPlatformDxe.dll

> > PC 0x0000FDB0AC0C (0x0000FDB02000+0x00008C0C) [ 2] DxeCore.dll

> > PC 0x0000FDB18420 (0x0000FDB02000+0x00016420) [ 2] DxeCore.dll

> > PC 0x0000FDB0EA88 (0x0000FDB02000+0x0000CA88) [ 2] DxeCore.dll

> > PC 0x0000E000820C

> > PC 0x0000E0008474

> >

> > [ 0] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

> > [ 1] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> > [ 2] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll

> >

> >   X0 0x000000000000000A   X1 0x00000000FE8167C0   X2

> > 0x0000000000000001   X3 0x0000000000000000

> >   X4 0x0000000000000001   X5 0x0000000000000001   X6

> > 0x0000000000000000   X7 0x00000000FD8F584F

> >   X8 0x0000000000000002   X9 0x0000000000000000  X10

> > 0x0000000000000002  X11 0x0000000000000000

> >  X12 0x0000000000000002  X13 0x0000000000000002  X14

> > 0x0000000000000001  X15 0x00000000000000FF

> >  X16 0x00000000FE816B20  X17 0x00000000FFFFA6AC  X18

> > 0x0000000000000000  X19 0x00000000FE816846

> >  X20 0x00000000FE816846  X21 0x000000007FF80018  X22

> > 0x000000007FF80000  X23 0x0000000000000001

> >  X24 0x00000000FE8169E8  X25 0x0000000000000000  X26

> > 0x00000000FD8C8018  X27 0x00000000FD8C62AD

> >  X28 0x0000000000000001   FP 0x00000000FE816790   LR 0x00000000FD8F01A8

> >

> >   V0 0xAFAFAFAFAFAFAFAF AFAFAFAFAFAFAFAF   V1 0xAB1C5ED5923F82A4

> > 59F111F13956C25B

> >   V2 0x550C7DC3243185BE 12835B01D807AA98   V3 0xC19BF1749BDC06A7

> > 80DEB1FE72BE5D74

> >   V4 0x240CA1CC0FC19DC6 EFBE4786E49B69C1   V5 0x76F988DA5CB0A9DC

> > 4A7484AA2DE92C6F

> >   V6 0xBF597FC7B00327C8 A831C66D983E5152   V7 0x1429296706CA6351

> > D5A79147C6E00BF3

> >   V8 0x0000000000000000 2E1B213827B70A85   V9 0x0000000000000000

> > 766A0ABB650A7354

> >  V10 0x0000000000000000 A81A664BA2BFE8A1  V11 0x0000000000000000

> > D6990624D192E819

> >  V12 0x0000000000000000 1E376C0819A4C116  V13 0x0000000000000000

> > 4ED8AA4A391C0CB3

> >  V14 0x0000000000000000 78A5636F748F82EE  V15 0x0000000000000000

> > A4506CEB90BEFFFA

> >  V16 0x3C83709547545153 BC990E9F897D4FA8  V17 0xBEBEF297C5EC0578

> > E1D99AE8C2B92607

> >  V18 0x13242833C5F05BAB 101C24C521387481  V19 0x0A50ABCAD0BDDA12

> > 996865483E880969

> >  V20 0x6C4ABAA53A9BE1CB 4416D9F479B08221  V21 0x60952147C3A68574

> > 55B8AE51435C1A1A

> >  V22 0x9FEB2A3B4AB8D3BF 88C1883495C7F76F  V23 0xD0C224BC8FB77E09

> > 3DB8D233CF470963

> >  V24 0x0E72963E02D21C93 C95B757DA62B3A12  V25 0x2A77DBA1E4EE5D5C

> > E08479A1B557DFA8

> >  V26 0xB593F86668CA8129 927A0019CDEC1A76  V27 0x2014000680902002

> > 81A0200000101002

> >  V28 0x1821004001120581 8800842100020010  V29 0x1002000A80081080

> > 2410800460840820

> >  V30 0x0400000600040000 0404040100000049  V31 0x0044880025110005

> > 8400000080090000

> >

> >   SP 0x00000000FE816790  ELR 0x00000000FD8F5584  SPSR 0x60000209  FPSR

> > 0x00000000

> >  ESR 0x5600DBDB          FAR 0x400000A4600D0B98

> >

> >  ESR : EC 0x15  IL 0x1  ISS 0x0000DBDB

> >

> >  SVC executed in AArch64

> >

> > Stack dump:

> >   00000FE816690: 55B8AE51435C1A1A 60952147C3A68574 88C1883495C7F76F

> > 9FEB2A3B4AB8D3BF

> >   00000FE8166B0: 3DB8D233CF470963 D0C224BC8FB77E09 C95B757DA62B3A12

> > 0E72963E02D21C93

> >   00000FE8166D0: E08479A1B557DFA8 2A77DBA1E4EE5D5C 927A0019CDEC1A76

> > B593F86668CA8129

> >   00000FE8166F0: 81A0200000101002 2014000680902002 8800842100020010

> > 1821004001120581

> >   00000FE816710: 2410800460840820 1002000A80081080 0404040100000049

> > 0400000600040000

> >   00000FE816730: 8400000080090000 0044880025110005 00000000FD8F03A8

> > 0000000040000209

> >   00000FE816750: 0000000000000000 0000000080001700 400000A4600D0B98

> > 00000000FD8C62B1

> >   00000FE816770: 00000000FE816790 00000000FD8F01C0 00000000FE816845

> > 00000000FE8169E8

> > > 00000FE816790: 00000000FE8168C0 00000000FD8F09AC 0000000000000000 00000000FD8C62B1

> >   00000FE8167B0: 00000000F82FA000 00000000F82FA000 5B20545245535341

> > 466E6F4D746F6F42

> >   00000FE8167D0: 656D6F682F205D73 306E61706F68742F 2F6C657665642F31

> > 6665752F6F6E756A

> >   00000FE8167F0: 652F696665752F69 5065644D2F326B64 617262694C2F676B

> > 4C657361422F7972

> >   00000FE816810: 6E697274532F6269 2933373128632E67 544E49552828203A

> > 6E6972745320294E

> >   00000FE816830: 3030783020262067 2029313030303030 00000A0D30203D3D

> > 00000000FD8C8018

> >   00000FE816850: 00000000000000FF 00000000FD8F3CD0 00000000FE816890

> > 00000000FD8F1B98

> >   00000FE816870: 00000000FD8C7518 0000000003FBFF78 00000000FD8C74C0

> > 00000004FD8C8018

> > ASSERT [ArmCpuDxe]

> > /home/thopan01/devel/juno/uefi/uefi/edk2/ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c(271):

> > ((BOOLEAN)(0==1))

> >

> > Recursive exception occurred while dumping the CPU state

> >

> > CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.7 | VT102 | Offline |

> > ttyS0

> >

> > > _______________________________________________

> > > edk2-devel mailing list

> > > edk2-devel@lists.01.org

> > > https://lists.01.org/mailman/listinfo/edk2-devel

> _______________________________________________

> edk2-devel mailing list

> edk2-devel@lists.01.org

> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 22, 2018, 11:37 a.m. UTC | #6
On Thu, 22 Nov 2018 at 12:19, chandni cherukuri
<chandni.cherukuri@arm.com> wrote:
>

> On Thu, Nov 22, 2018 at 1:20 PM Ard Biesheuvel

> <ard.biesheuvel@linaro.org> wrote:

> >

> > On Thu, 22 Nov 2018 at 05:01, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > >

> > > Hi Ard,

> > >

> > > On Thu, Nov 22, 2018 at 3:46 AM Ard Biesheuvel

> > > <ard.biesheuvel@linaro.org> wrote:

> > > >

> > > > On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > > > >

> > > > > Hi Ard,

> > > > >

> > > > > On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel

> > > > > <ard.biesheuvel@linaro.org> wrote:

> > > > > >

> > > > > > Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> > > > > > NOR flash GUIDs.

> > > > > >

> > > > > > Ard Biesheuvel (3):

> > > > > >   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

> > > > > >     flash

> > > > > >   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

> > > > > >   Platform/ARM: drop per-bank NOR flash GUIDs

> > > > > >

> > > > > >  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

> > > > > >  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

> > > > > >  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

> > > > > >  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

> > > > > >  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

> > > > > >  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

> > > > > >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

> > > > > >  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

> > > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

> > > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

> > > > > >  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

> > > > > >  11 files changed, 15 insertions(+), 26 deletions(-)

> > > > >

> > > > > Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,

> > > > > ArmVirtPkg: discover NOR flash banks from DTB" patch series on the

> > > > > Juno board. With these patches applied, the boot fails on Juno board

> > > > > with the following messages. I have not yet tried to debug the issue

> > > > > but wanted to let you know this.

> > > > >

> > > > > [...]

> > > > > Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi

> > > > > add-symbol-file

> > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> > > > > 0xF8300000

> > > > > Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi

> > > > > add-symbol-file

> > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> > > > > 0xF82EE000

> > > > > Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi

> > > > > Found image: fip in block 5.

> > > > > Found image: norkern in block 20.

> > > > > Found image: ramdisk.img in block 116.

> > > > > Found image: hdlcdclk in block 151.

> > > > > Found image: selftest in block 152.

> > > > > Found image: board.dtb in block 156.

> > > > > Found image: scp_bl1 in block 249.

> > > > > Found image: bl1 in block 251.

> > > > > Found image: startup.nsh in block 252.

> > > > > ASSERT [BootMonFs]

> > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> > > > > ((UINTN) String & 0x00000001) == 0

> > > > >

> > > >

> > > > Hi Thomas,

> > > >

> > > > Thanks for testing.

> > > >

> > > > Could you please apply this patch and re-test:

> > > >

> > > > --- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> > > > +++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> > > > @@ -299,7 +299,7 @@

> > > >  !if $(TARGET) == RELEASE

> > > >    gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21

> > > >  !else

> > > > -  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f

> > > > +  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x3f

> > > >  !endif

> > > >

> > > >    #  DEBUG_INIT      0x00000001  // Initialization

> > > >

> > > > This will produce a backtrace when an ASSERT() is triggered, and from

> > > > this we can figure out what the call stack looks like exactly (The

> > > > ASSERT() occurs in StrLen (), which is called with a misaligned

> > > > unicode string, but I cannot figure out where the call is made)

> > > >

> > > > Please share the backtrace and all the .dlls listed in it if you can please.

> > >

> > > The following is the log with the above diff applied on top of your

> > > patch series.

> > >

> >

> > Thanks!

> >

> > Could you please share the output of

> >

> > nm -n /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

> >

> > as well so I can cross reference the addresses with the functions? Thanks.

> >

> >

> Hi Ard,

>

> With the following diff applied on top of your patches we see that the

> ASSERT no longer comes in Juno and it boots till the UEFI Shell.

>

> --- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c

> +++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c

> @@ -129,7 +129,7 @@ NorFlashCreateInstance (

>    Instance->Media.LastBlock = (NorFlashSize / BlockSize)-1;

>

>    CopyGuid (&Instance->DevicePath.Vendor.Guid, &gEfiCallerIdGuid);

> -  Instance->DevicePath.Index = (UINT8)Index;

> +  Instance->DevicePath.Index = (UINT16)Index;^M

>

>    Instance->ShadowBuffer = AllocateRuntimePool (BlockSize);;

>    if (Instance->ShadowBuffer == NULL) {

> diff --git a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h

> b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h

> index 8886aa4..c40255e 100644

> --- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h

> +++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h

> @@ -125,7 +125,7 @@ typedef struct _NOR_FLASH_INSTANCE

> NOR_FLASH_INSTANCE;

>  #pragma pack(1)

>  typedef struct {

>    VENDOR_DEVICE_PATH                  Vendor;

> -  UINT8                               Index;

> +  UINT16                              Index;^M

>    EFI_DEVICE_PATH_PROTOCOL            End;

>  } NOR_FLASH_DEVICE_PATH;

>  #pragma pack()

>



Thank you! That is really helpful. However, it still means there is a
bug in the BootMonFs driver somewhere, so I'd still like a peek at the
symbols.

Could you please share the backtrace and the results of

nm -n Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

for the failing case?

Thanks.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Thomas Abraham Nov. 22, 2018, 12:54 p.m. UTC | #7
Hi Ard,

On Thu, Nov 22, 2018 at 5:08 PM Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
>

> On Thu, 22 Nov 2018 at 12:19, chandni cherukuri

> <chandni.cherukuri@arm.com> wrote:

> >

> > On Thu, Nov 22, 2018 at 1:20 PM Ard Biesheuvel

> > <ard.biesheuvel@linaro.org> wrote:

> > >

> > > On Thu, 22 Nov 2018 at 05:01, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > > >

> > > > Hi Ard,

> > > >

> > > > On Thu, Nov 22, 2018 at 3:46 AM Ard Biesheuvel

> > > > <ard.biesheuvel@linaro.org> wrote:

> > > > >

> > > > > On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > > > > >

> > > > > > Hi Ard,

> > > > > >

> > > > > > On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel

> > > > > > <ard.biesheuvel@linaro.org> wrote:

> > > > > > >

> > > > > > > Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> > > > > > > NOR flash GUIDs.

> > > > > > >

> > > > > > > Ard Biesheuvel (3):

> > > > > > >   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

> > > > > > >     flash

> > > > > > >   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

> > > > > > >   Platform/ARM: drop per-bank NOR flash GUIDs

> > > > > > >

> > > > > > >  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

> > > > > > >  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

> > > > > > >  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

> > > > > > >  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

> > > > > > >  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

> > > > > > >  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

> > > > > > >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

> > > > > > >  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

> > > > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

> > > > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

> > > > > > >  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

> > > > > > >  11 files changed, 15 insertions(+), 26 deletions(-)

> > > > > >

> > > > > > Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,

> > > > > > ArmVirtPkg: discover NOR flash banks from DTB" patch series on the

> > > > > > Juno board. With these patches applied, the boot fails on Juno board

> > > > > > with the following messages. I have not yet tried to debug the issue

> > > > > > but wanted to let you know this.

> > > > > >

> > > > > > [...]

> > > > > > Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi

> > > > > > add-symbol-file

> > > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> > > > > > 0xF8300000

> > > > > > Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi

> > > > > > add-symbol-file

> > > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> > > > > > 0xF82EE000

> > > > > > Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi

> > > > > > Found image: fip in block 5.

> > > > > > Found image: norkern in block 20.

> > > > > > Found image: ramdisk.img in block 116.

> > > > > > Found image: hdlcdclk in block 151.

> > > > > > Found image: selftest in block 152.

> > > > > > Found image: board.dtb in block 156.

> > > > > > Found image: scp_bl1 in block 249.

> > > > > > Found image: bl1 in block 251.

> > > > > > Found image: startup.nsh in block 252.

> > > > > > ASSERT [BootMonFs]

> > > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> > > > > > ((UINTN) String & 0x00000001) == 0

> > > > > >

> > > > >

> > > > > Hi Thomas,

> > > > >

> > > > > Thanks for testing.

> > > > >

> > > > > Could you please apply this patch and re-test:

> > > > >

> > > > > --- a/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> > > > > +++ b/Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc

> > > > > @@ -299,7 +299,7 @@

> > > > >  !if $(TARGET) == RELEASE

> > > > >    gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21

> > > > >  !else

> > > > > -  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f

> > > > > +  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x3f

> > > > >  !endif

> > > > >

> > > > >    #  DEBUG_INIT      0x00000001  // Initialization

> > > > >

> > > > > This will produce a backtrace when an ASSERT() is triggered, and from

> > > > > this we can figure out what the call stack looks like exactly (The

> > > > > ASSERT() occurs in StrLen (), which is called with a misaligned

> > > > > unicode string, but I cannot figure out where the call is made)

> > > > >

> > > > > Please share the backtrace and all the .dlls listed in it if you can please.

> > > >

> > > > The following is the log with the above diff applied on top of your

> > > > patch series.

> > > >

> > >

> > > Thanks!

> > >

> > > Could you please share the output of

> > >

> > > nm -n /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

> > >

> > > as well so I can cross reference the addresses with the functions? Thanks.

> > >

> > >

> > Hi Ard,

> >

> > With the following diff applied on top of your patches we see that the

> > ASSERT no longer comes in Juno and it boots till the UEFI Shell.

> >

> > --- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c

> > +++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c

> > @@ -129,7 +129,7 @@ NorFlashCreateInstance (

> >    Instance->Media.LastBlock = (NorFlashSize / BlockSize)-1;

> >

> >    CopyGuid (&Instance->DevicePath.Vendor.Guid, &gEfiCallerIdGuid);

> > -  Instance->DevicePath.Index = (UINT8)Index;

> > +  Instance->DevicePath.Index = (UINT16)Index;^M

> >

> >    Instance->ShadowBuffer = AllocateRuntimePool (BlockSize);;

> >    if (Instance->ShadowBuffer == NULL) {

> > diff --git a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h

> > b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h

> > index 8886aa4..c40255e 100644

> > --- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h

> > +++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h

> > @@ -125,7 +125,7 @@ typedef struct _NOR_FLASH_INSTANCE

> > NOR_FLASH_INSTANCE;

> >  #pragma pack(1)

> >  typedef struct {

> >    VENDOR_DEVICE_PATH                  Vendor;

> > -  UINT8                               Index;

> > +  UINT16                              Index;^M

> >    EFI_DEVICE_PATH_PROTOCOL            End;

> >  } NOR_FLASH_DEVICE_PATH;

> >  #pragma pack()

> >

>

>

> Thank you! That is really helpful. However, it still means there is a

> bug in the BootMonFs driver somewhere, so I'd still like a peek at the

> symbols.

>

> Could you please share the backtrace and the results of

>

> nm -n Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

>

> for the failing case?


The following is the symbol list of BootMonFs.dll

0000000000000010 N $d
0000000000000228 A PECOFF_HEADER_SIZE
0000000000001000 t DebugPrintLevelEnabled.constprop.15
0000000000001000 t $x
0000000000001008 t InternalAllocatePool.constprop.10
0000000000001008 t $x
0000000000001040 t BasePrintLibFillBuffer
0000000000001040 t $x
0000000000001074 t DebugPrintEnabled
0000000000001074 t $x
000000000000107c t DebugAssertEnabled
000000000000107c t $x
0000000000001084 t AsciiStrnLenS
0000000000001084 t $x
00000000000010c4 t InternalSafeStringIsOverlap
00000000000010c4 t $x
00000000000010fc t BootMonFsGetPhysicalSize
00000000000010fc t $x
0000000000001128 t BootMonFsDeleteFail
0000000000001128 t $x
0000000000001144 t DebugAssert
0000000000001144 t $x
00000000000011d0 t AsciiStrCpyS.constprop.3
00000000000011d0 t $x
0000000000001314 t MmioWrite32
0000000000001314 t $x
0000000000001368 t MmioRead32
0000000000001368 t $x
00000000000013b4 t BaseDebugLibSerialPortConstructor
00000000000013b4 t $x
000000000000149c t ReadUnaligned16
000000000000149c t $x
0000000000001508 t IsDevicePathEndType
0000000000001508 t $x
0000000000001578 t DevicePathNodeLength
0000000000001578 t $x
00000000000015cc t NextDevicePathNode
00000000000015cc t $x
0000000000001620 t DevicePathSubType
0000000000001620 t $x
000000000000166c t IsDevicePathEnd
000000000000166c t $x
00000000000016e0 t IsDevicePathValid.constprop.11
00000000000016e0 t $x
000000000000178c t UefiDevicePathLibGetDevicePathSize
000000000000178c t $x
00000000000017f4 t AsciiStrLen
00000000000017f4 t $x
00000000000018a4 t AsciiStrCmp
00000000000018a4 t $x
0000000000001950 t StrLen
0000000000001950 t $x
0000000000001a0c t StrSize
0000000000001a0c t $x
0000000000001a28 t StrnCmp.constprop.0
0000000000001a28 t $x
0000000000001ae0 t StrStr
0000000000001ae0 t $x
0000000000001ba0 t AsciiStrToUnicodeStrS
0000000000001ba0 t $x
0000000000001d50 t StrnLenS
0000000000001d50 t $x
0000000000001dcc t BasePrintLibSPrintMarker.constprop.20
0000000000001dcc t $x
0000000000002a4c t BasePrintLibSPrint.constprop.21
0000000000002a4c t $x
0000000000002aa0 t DebugPrint.constprop.16
0000000000002aa0 t $x
0000000000002b80 t FreePool
0000000000002b80 t $x
0000000000002bf8 t AsciiSPrint.constprop.18
0000000000002bf8 t $x
0000000000002c5c t UnicodeStrToAsciiStrS
0000000000002c5c t $x
0000000000002e50 t InitializeListHead
0000000000002e50 t $x
0000000000002ea0 t InternalBaseLibIsListValid
0000000000002ea0 t $x
0000000000002f58 t IsListEmpty
0000000000002f58 t $x
0000000000002fb4 t RemoveEntryList
0000000000002fb4 t $x
0000000000003018 t GetFirstNode
0000000000003018 t $x
000000000000306c t IsNull
000000000000306c t $x
00000000000030c8 t GetNextNode
00000000000030c8 t $x
0000000000003120 t BootMonFsGetImageLength
0000000000003120 t $x
00000000000031ac t InsertTailList
00000000000031ac t $x
0000000000003218 t InsertHeadList
0000000000003218 t $x
0000000000003280 t BootMonFsGetPositionUnsupported
0000000000003280 t $x
00000000000032b8 t BootMonFsGetPosition
00000000000032b8 t $x
0000000000003350 t BootMonFsSetPosition
0000000000003350 t $x
00000000000033e8 t BootMonFsFlushDirectory
00000000000033e8 t $x
00000000000034f8 t BootMonFsSetDirPosition
00000000000034f8 t $x
0000000000003574 t OpenBootMonFsOpenVolume
0000000000003574 t $x
00000000000035fc t BootMonFsCloseFile
00000000000035fc t $x
00000000000036b4 t BootMonFsDriverStop
00000000000036b4 t $x
0000000000003868 t BootMonGetFileFromAsciiFileName
0000000000003868 t $x
0000000000003968 t CopyMem
0000000000003968 t $x
0000000000003a18 t InternalAllocateCopyPool.constprop.9
0000000000003a18 t $x
0000000000003aa4 t UefiDevicePathLibDuplicateDevicePath
0000000000003aa4 t $x
0000000000003ad8 t PathCleanUpDirectories
0000000000003ad8 t $x
0000000000003d1c t CompareMem
0000000000003d1c t $x
0000000000003e00 t BootMonFsDriverSupported
0000000000003e00 t $x
0000000000003fe0 t $x
0000000000003fe0 t ZeroMem
000000000000405c t AllocateZeroPool
000000000000405c t $x
0000000000004090 t BootMonFsWriteFile
0000000000004090 t $x
00000000000041b0 t BootMonFsComputeFooterChecksum
00000000000041b0 t $x
0000000000004290 t WriteFileDescription
0000000000004290 t $x
000000000000441c t InvalidateImageDescription
000000000000441c t $x
0000000000004498 t BootMonFsDelete
0000000000004498 t $x
0000000000004604 t BootMonFsFlushFile
0000000000004604 t $x
0000000000004a4c t BootMonFsReadFile
0000000000004a4c t $x
0000000000004b88 t BootMonFsCreateFile
0000000000004b88 t $x
0000000000004c20 t BootMonFsInitialize
0000000000004c20 t $x
0000000000004e20 t BootMonFsOpenFile
0000000000004e20 t $x
000000000000512c t BootMonFsDriverStart
000000000000512c t $x
0000000000005334 t BootMonFsReadDirectory
0000000000005334 t $x
00000000000054e8 t CompareGuid
00000000000054e8 t $x
0000000000005554 t BootMonFsSetInfo
0000000000005554 t $x
00000000000058b0 t BootMonFsGetInfo
00000000000058b0 t $x
0000000000005c28 T _ModuleEntryPoint
0000000000005c28 t $x
0000000000006060 T InternalMemSetMem16
0000000000006060 t $x
000000000000606c T InternalMemSetMem32
0000000000006078 T InternalMemSetMem64
0000000000006084 T InternalMemZeroMem
000000000000608c T InternalMemSetMem
0000000000006260 t __memcpy
0000000000006260 t $x
00000000000063cc T InternalMemCopyMem
0000000000006480 T InternalMemCompareMem
0000000000006480 t $x
0000000000006560 T InternalMemCompareGuid
0000000000006560 t $x
0000000000006580 T CpuBreakpoint
0000000000006580 t $x
0000000000006a98 t $d
000000000000727c t $d
0000000000007286 t $d
0000000000007768 t $d
0000000000007770 t $d
0000000000007770 t _gPcd_FixedAtBuild_PcdBootMonFsSupportedDevicePaths
00000000000077d0 t $d
00000000000077d0 t mHexStr
00000000000077e0 t $d
00000000000077e0 t mStatusString
0000000000008000 d $d
0000000000008000 d gArmBootMonFsFileInfoGuid
0000000000008010 d $d
0000000000008010 d gEfiBlockIoProtocolGuid
0000000000008020 d $d
0000000000008020 d gEfiDevicePathFromTextProtocolGuid
0000000000008030 d $d
0000000000008030 d gEfiDevicePathProtocolGuid
0000000000008040 d $d
0000000000008040 d gEfiDiskIoProtocolGuid
0000000000008050 d $d
0000000000008050 d gEfiDriverBindingProtocolGuid
0000000000008060 d $d
0000000000008060 d gEfiFileInfoGuid
0000000000008070 d $d
0000000000008070 d gEfiFileSystemInfoGuid
0000000000008080 d $d
0000000000008080 d gEfiFileSystemVolumeLabelInfoIdGuid
0000000000008090 d $d
0000000000008090 d gEfiSimpleFileSystemProtocolGuid
00000000000080a0 d $d
00000000000080a0 d mBootMonFsDriverBinding
00000000000080d0 d $d
00000000000080d0 d mBootMonFsFileTemplate
0000000000008148 d $d
0000000000008148 d mBootMonFsRootTemplate
00000000000081c0 d $d
00000000000081c0 d gBS
00000000000081c8 d $d
00000000000081c8 d gImageHandle
00000000000081d0 d $d
00000000000081d0 d gRT
00000000000081d8 d $d
00000000000081d8 d gST
00000000000081e0 d $d
00000000000081e0 d mBootMonFsSupportedDevicePaths
00000000000081e8 d $d
00000000000081e8 d mInstances

The following is the corresponding boot log.

Loading driver at 0x000F8309000 EntryPoint=0x000F83182A4 IScsiDxe.efi
add-symbol-file
/home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll
0xF82FD000
Loading driver at 0x000F82FC000 EntryPoint=0x000F8303DE8 Udp4Dxe.efi
add-symbol-file
/home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll
0xF82EA000
Loading driver at 0x000F82E9000 EntryPoint=0x000F82F46E4 FdtPlatformDxe.efi
Found image: fip in block 5.
Found image: norkern in block 20.
Found image: ramdisk.img in block 116.
Found image: hdlcdclk in block 151.
Found image: selftest in block 152.
Found image: board.dtb in block 156.
Found image: scp_bl1 in block 249.
Found image: bl1 in block 251.
Found image: startup.nsh in block 252.
ASSERT [BootMonFs]
/home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):
((UINTN) String & 0x00000001) == 0


Synchronous Exception at 0x00000000FD8F5584
PC 0x0000FD8F5584 (0x0000FD8EF000+0x00006584) [ 0] BootMonFs.dll
PC 0x0000FD8F01A8 (0x0000FD8EF000+0x000011A8) [ 0] BootMonFs.dll
PC 0x0000FD8F09AC (0x0000FD8EF000+0x000019AC) [ 0] BootMonFs.dll
PC 0x0000FD8F0A18 (0x0000FD8EF000+0x00001A18) [ 0] BootMonFs.dll
PC 0x0000FD8F3EC8 (0x0000FD8EF000+0x00004EC8) [ 0] BootMonFs.dll
PC 0x0000F82EE158 (0x0000F82E9000+0x00005158) [ 1] FdtPlatformDxe.dll
PC 0x0000F82EE66C (0x0000F82E9000+0x0000566C) [ 1] FdtPlatformDxe.dll
PC 0x0000F82EEE70 (0x0000F82E9000+0x00005E70) [ 1] FdtPlatformDxe.dll
PC 0x0000F82F4B58 (0x0000F82E9000+0x0000BB58) [ 1] FdtPlatformDxe.dll
PC 0x0000FDB0AC0C (0x0000FDB02000+0x00008C0C) [ 2] DxeCore.dll
PC 0x0000FDB18420 (0x0000FDB02000+0x00016420) [ 2] DxeCore.dll
PC 0x0000FDB0EA88 (0x0000FDB02000+0x0000CA88) [ 2] DxeCore.dll
PC 0x0000E000820C
PC 0x0000E0008474

[ 0] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll
[ 1] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll
[ 2] /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll

  X0 0x000000000000000A   X1 0x00000000FE8167C0   X2
0x0000000000000001   X3 0x0000000000000000
  X4 0x0000000000000001   X5 0x0000000000000001   X6
0x0000000000000000   X7 0x00000000FD8F584F
  X8 0x0000000000000002   X9 0x0000000000000000  X10
0x0000000000000002  X11 0x0000000000000000
 X12 0x0000000000000002  X13 0x0000000000000002  X14
0x0000000000000001  X15 0x00000000000000FF
 X16 0x00000000FE816B20  X17 0x00000000FFFFA6AC  X18
0x0000000000000000  X19 0x00000000FE816846
 X20 0x00000000FE816846  X21 0x000000007FF80018  X22
0x000000007FF80000  X23 0x0000000000000001
 X24 0x00000000FE8169E8  X25 0x0000000000000000  X26
0x00000000FD8C8018  X27 0x00000000FD8C62AD
 X28 0x0000000000000001   FP 0x00000000FE816790   LR 0x00000000FD8F01A8

  V0 0xAFAFAFAFAFAFAFAF AFAFAFAFAFAFAFAF   V1 0xAB1C5ED5923F82A4
59F111F13956C25B
  V2 0x550C7DC3243185BE 12835B01D807AA98   V3 0xC19BF1749BDC06A7
80DEB1FE72BE5D74
  V4 0x240CA1CC0FC19DC6 EFBE4786E49B69C1   V5 0x76F988DA5CB0A9DC
4A7484AA2DE92C6F
  V6 0xBF597FC7B00327C8 A831C66D983E5152   V7 0x1429296706CA6351
D5A79147C6E00BF3
  V8 0x0000000000000000 2E1B213827B70A85   V9 0x0000000000000000
766A0ABB650A7354
 V10 0x0000000000000000 A81A664BA2BFE8A1  V11 0x0000000000000000
D6990624D192E819
 V12 0x0000000000000000 1E376C0819A4C116  V13 0x0000000000000000
4ED8AA4A391C0CB3
 V14 0x0000000000000000 78A5636F748F82EE  V15 0x0000000000000000
A4506CEB90BEFFFA
 V16 0x3C83709547545153 BC990E9F897D4FA8  V17 0xBEBEF297C5EC0578
E1D99AE8C2B92607
 V18 0x13242833C5F05BAB 101C24C521387481  V19 0x0A50ABCAD0BDDA12
996865483E880969
 V20 0x6C4ABAA53A9BE1CB 4416D9F479B08221  V21 0x60952147C3A68574
55B8AE51435C1A1A
 V22 0x9FEB2A3B4AB8D3BF 88C1883495C7F76F  V23 0xD0C224BC8FB77E09
3DB8D233CF470963
 V24 0x0E72963E02D21C93 C95B757DA62B3A12  V25 0x2A77DBA1E4EE5D5C
E08479A1B557DFA8
 V26 0xB593F86668CA8129 927A0019CDEC1A76  V27 0x6010000680C00002
8120200000101002
 V28 0x1821004001100581 8800842300020010  V29 0x1002000A80091080
24108004E0844820
 V30 0x0400000200000000 2400040100000049  V31 0x0044880025110005
8400000080090000

  SP 0x00000000FE816790  ELR 0x00000000FD8F5584  SPSR 0x60000209  FPSR
0x00000000
 ESR 0x5600DBDB          FAR 0x400000A0600C0B18

 ESR : EC 0x15  IL 0x1  ISS 0x0000DBDB

 SVC executed in AArch64

Stack dump:
  00000FE816690: 55B8AE51435C1A1A 60952147C3A68574 88C1883495C7F76F
9FEB2A3B4AB8D3BF
  00000FE8166B0: 3DB8D233CF470963 D0C224BC8FB77E09 C95B757DA62B3A12
0E72963E02D21C93
  00000FE8166D0: E08479A1B557DFA8 2A77DBA1E4EE5D5C 927A0019CDEC1A76
B593F86668CA8129
  00000FE8166F0: 8120200000101002 6010000680C00002 8800842300020010
1821004001100581
  00000FE816710: 24108004E0844820 1002000A80091080 2400040100000049
0400000200000000
  00000FE816730: 8400000080090000 0044880025110005 00000000FD8F03A8
0000000040000209
  00000FE816750: 0000000000000000 0000000080001700 400000A0600C0B18
00000000FD8C62B1
  00000FE816770: 00000000FE816790 00000000FD8F01C0 00000000FE816845
00000000FE8169E8
> 00000FE816790: 00000000FE8168C0 00000000FD8F09AC 0000000000000000 00000000FD8C62B1

  00000FE8167B0: 00000000F82FA000 00000000F82FA000 5B20545245535341
466E6F4D746F6F42
  00000FE8167D0: 656D6F682F205D73 306E61706F68742F 2F6C657665642F31
6665752F6F6E756A
  00000FE8167F0: 652F696665752F69 5065644D2F326B64 617262694C2F676B
4C657361422F7972
  00000FE816810: 6E697274532F6269 2933373128632E67 544E49552828203A
6E6972745320294E
  00000FE816830: 3030783020262067 2029313030303030 00000A0D30203D3D
00000000FD8C8018
  00000FE816850: 00000000000000FF 00000000FD8F3CD0 00000000FE816890
00000000FD8F1B98
  00000FE816870: 00000000FD8C7518 0000000003FBFF78 00000000FD8C74C0
00000004FD8C8018
ASSERT [ArmCpuDxe]
/home/thopan01/devel/juno/uefi/uefi/edk2/ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c(271):
((BOOLEAN)(0==1))

Recursive exception occurred while dumping the CPU state

>

> Thanks.

> _______________________________________________

> edk2-devel mailing list

> edk2-devel@lists.01.org

> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 22, 2018, 1:08 p.m. UTC | #8
On Thu, 22 Nov 2018 at 12:37, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>

> On Thu, 22 Nov 2018 at 12:19, chandni cherukuri

> <chandni.cherukuri@arm.com> wrote:

> >

> > On Thu, Nov 22, 2018 at 1:20 PM Ard Biesheuvel

> > <ard.biesheuvel@linaro.org> wrote:

> > >

> > > On Thu, 22 Nov 2018 at 05:01, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > > >

> > > > Hi Ard,

> > > >

> > > > On Thu, Nov 22, 2018 at 3:46 AM Ard Biesheuvel

> > > > <ard.biesheuvel@linaro.org> wrote:

> > > > >

> > > > > On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > > > > >

> > > > > > Hi Ard,

> > > > > >

> > > > > > On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel

> > > > > > <ard.biesheuvel@linaro.org> wrote:

> > > > > > >

> > > > > > > Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> > > > > > > NOR flash GUIDs.

> > > > > > >

> > > > > > > Ard Biesheuvel (3):

> > > > > > >   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

> > > > > > >     flash

> > > > > > >   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

> > > > > > >   Platform/ARM: drop per-bank NOR flash GUIDs

> > > > > > >

> > > > > > >  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

> > > > > > >  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

> > > > > > >  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

> > > > > > >  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

> > > > > > >  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

> > > > > > >  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

> > > > > > >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

> > > > > > >  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

> > > > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

> > > > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

> > > > > > >  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

> > > > > > >  11 files changed, 15 insertions(+), 26 deletions(-)

> > > > > >

> > > > > > Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,

> > > > > > ArmVirtPkg: discover NOR flash banks from DTB" patch series on the

> > > > > > Juno board. With these patches applied, the boot fails on Juno board

> > > > > > with the following messages. I have not yet tried to debug the issue

> > > > > > but wanted to let you know this.

> > > > > >

> > > > > > [...]

> > > > > > Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi

> > > > > > add-symbol-file

> > > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> > > > > > 0xF8300000

> > > > > > Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi

> > > > > > add-symbol-file

> > > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> > > > > > 0xF82EE000

> > > > > > Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi

> > > > > > Found image: fip in block 5.

> > > > > > Found image: norkern in block 20.

> > > > > > Found image: ramdisk.img in block 116.

> > > > > > Found image: hdlcdclk in block 151.

> > > > > > Found image: selftest in block 152.

> > > > > > Found image: board.dtb in block 156.

> > > > > > Found image: scp_bl1 in block 249.

> > > > > > Found image: bl1 in block 251.

> > > > > > Found image: startup.nsh in block 252.

> > > > > > ASSERT [BootMonFs]

> > > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> > > > > > ((UINTN) String & 0x00000001) == 0

> > > > > >

...
> Could you please share the backtrace and the results of

>

> nm -n Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

>

> for the failing case?

>


It seems like BootMonFsOpenFile() is being called from FdtClientDxe
with a misaligned CHAR16* argument for Filename.

Could you share the nm -n output of
/home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

as well please? Thanks.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Thomas Abraham Nov. 22, 2018, 1:33 p.m. UTC | #9
On Thu, Nov 22, 2018 at 6:38 PM Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
>

> On Thu, 22 Nov 2018 at 12:37, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

> >

> > On Thu, 22 Nov 2018 at 12:19, chandni cherukuri

> > <chandni.cherukuri@arm.com> wrote:

> > >

> > > On Thu, Nov 22, 2018 at 1:20 PM Ard Biesheuvel

> > > <ard.biesheuvel@linaro.org> wrote:

> > > >

> > > > On Thu, 22 Nov 2018 at 05:01, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > > > >

> > > > > Hi Ard,

> > > > >

> > > > > On Thu, Nov 22, 2018 at 3:46 AM Ard Biesheuvel

> > > > > <ard.biesheuvel@linaro.org> wrote:

> > > > > >

> > > > > > On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:

> > > > > > >

> > > > > > > Hi Ard,

> > > > > > >

> > > > > > > On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel

> > > > > > > <ard.biesheuvel@linaro.org> wrote:

> > > > > > > >

> > > > > > > > Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> > > > > > > > NOR flash GUIDs.

> > > > > > > >

> > > > > > > > Ard Biesheuvel (3):

> > > > > > > >   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

> > > > > > > >     flash

> > > > > > > >   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

> > > > > > > >   Platform/ARM: drop per-bank NOR flash GUIDs

> > > > > > > >

> > > > > > > >  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

> > > > > > > >  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

> > > > > > > >  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

> > > > > > > >  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

> > > > > > > >  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

> > > > > > > >  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

> > > > > > > >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

> > > > > > > >  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

> > > > > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

> > > > > > > >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

> > > > > > > >  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

> > > > > > > >  11 files changed, 15 insertions(+), 26 deletions(-)

> > > > > > >

> > > > > > > Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,

> > > > > > > ArmVirtPkg: discover NOR flash banks from DTB" patch series on the

> > > > > > > Juno board. With these patches applied, the boot fails on Juno board

> > > > > > > with the following messages. I have not yet tried to debug the issue

> > > > > > > but wanted to let you know this.

> > > > > > >

> > > > > > > [...]

> > > > > > > Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi

> > > > > > > add-symbol-file

> > > > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

> > > > > > > 0xF8300000

> > > > > > > Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi

> > > > > > > add-symbol-file

> > > > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

> > > > > > > 0xF82EE000

> > > > > > > Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi

> > > > > > > Found image: fip in block 5.

> > > > > > > Found image: norkern in block 20.

> > > > > > > Found image: ramdisk.img in block 116.

> > > > > > > Found image: hdlcdclk in block 151.

> > > > > > > Found image: selftest in block 152.

> > > > > > > Found image: board.dtb in block 156.

> > > > > > > Found image: scp_bl1 in block 249.

> > > > > > > Found image: bl1 in block 251.

> > > > > > > Found image: startup.nsh in block 252.

> > > > > > > ASSERT [BootMonFs]

> > > > > > > /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

> > > > > > > ((UINTN) String & 0x00000001) == 0

> > > > > > >

> ...

> > Could you please share the backtrace and the results of

> >

> > nm -n Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

> >

> > for the failing case?

> >

>

> It seems like BootMonFsOpenFile() is being called from FdtClientDxe

> with a misaligned CHAR16* argument for Filename.

>

> Could you share the nm -n output of

> /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

>

> as well please? Thanks.


Sure, it is listed below.

0000000000000010 N $d
0000000000000228 A PECOFF_HEADER_SIZE
0000000000001000 t ShellLibDestructor.constprop.46
0000000000001000 t $x
0000000000001118 t InternalAllocatePool.constprop.44
0000000000001118 t $x
0000000000001150 t BasePrintLibFillBuffer
0000000000001150 t $x
0000000000001184 t BdsPxeLoadImage
0000000000001184 t $x
00000000000012d8 t BdsFirmwareVolumeSupport
00000000000012d8 t $x
00000000000012f8 t BdsMemoryMapSupport
00000000000012f8 t $x
0000000000001334 t BdsFileSystemSupport
0000000000001334 t $x
0000000000001394 t BdsIsRemovableHd
0000000000001394 t $x
00000000000013b8 t AllocatePool
00000000000013b8 t $x
00000000000013bc t DebugPrintLevelEnabled
00000000000013bc t $x
00000000000013c8 t DebugPrintEnabled
00000000000013c8 t $x
00000000000013d0 t DebugAssertEnabled
00000000000013d0 t $x
00000000000013d8 t AsciiStrnLenS
00000000000013d8 t $x
0000000000001418 t InternalSafeStringNoStrOverlap
0000000000001418 t $x
0000000000001450 t SwapBytes16
0000000000001450 t $x
0000000000001458 t SwapBytes32
0000000000001458 t $x
0000000000001478 t fdt_check_header
0000000000001478 t $x
00000000000014fc t InternalMathSwapBytes64
00000000000014fc t $x
0000000000001524 t fdt_num_mem_rsv
0000000000001524 t $x
0000000000001568 t fdt_get_mem_rsv
0000000000001568 t $x
00000000000015c8 t EfiCodeToShellCode
00000000000015c8 t $x
000000000000165c t LShiftU64.constprop.4
000000000000165c t $x
0000000000001664 t DebugAssert
0000000000001664 t $x
00000000000016f0 t CopyGuid.constprop.35
00000000000016f0 t $x
0000000000001748 t InternalIsFlag.constprop.16
0000000000001748 t $x
0000000000001868 t MmioWrite32
0000000000001868 t $x
00000000000018bc t MmioRead32
00000000000018bc t $x
0000000000001908 t BaseDebugLibSerialPortConstructor
0000000000001908 t $x
00000000000019f0 t NetLibDestroyServiceChild
00000000000019f0 t $x
0000000000001a84 t NetLibCreateServiceChild
0000000000001a84 t $x
0000000000001b20 t DevicePathSubType
0000000000001b20 t $x
0000000000001b6c t DevicePathType
0000000000001b6c t $x
0000000000001bb8 t IsDevicePathEnd
0000000000001bb8 t $x
0000000000001c48 t BdsPxeSupport
0000000000001c48 t $x
0000000000001c9c t BdsIsRemovableUsb
0000000000001c9c t $x
0000000000001cfc t CompareMem
0000000000001cfc t $x
0000000000001de0 t ReadUnaligned16
0000000000001de0 t $x
0000000000001e4c t DevicePathNodeLength
0000000000001e4c t $x
0000000000001ea0 t NextDevicePathNode
0000000000001ea0 t $x
0000000000001ef4 t IsDevicePathValid.constprop.3
0000000000001ef4 t $x
0000000000001fa0 t UefiDevicePathLibGetDevicePathSize
0000000000001fa0 t $x
0000000000002008 t BdsTftpSupport
0000000000002008 t $x
00000000000020e4 t ReadUnaligned32
00000000000020e4 t $x
0000000000002144 t ReadUnaligned64
0000000000002144 t $x
00000000000021ac t InitializeListHead
00000000000021ac t $x
00000000000021fc t InternalBaseLibIsListValid
00000000000021fc t $x
00000000000022b4 t IsListEmpty
00000000000022b4 t $x
0000000000002310 t RemoveEntryList
0000000000002310 t $x
0000000000002374 t GetFirstNode
0000000000002374 t $x
00000000000023c8 t IsNull
00000000000023c8 t $x
0000000000002424 t GetNextNode
0000000000002424 t $x
000000000000247c t InsertHeadList
000000000000247c t $x
00000000000024e4 t CopyMem
00000000000024e4 t $x
0000000000002594 t InternalAllocateCopyPool.constprop.31
0000000000002594 t $x
0000000000002620 t UefiDevicePathLibDuplicateDevicePath
0000000000002620 t $x
0000000000002654 t UefiDevicePathLibAppendDevicePath
0000000000002654 t $x
000000000000270c t BdsGetDeviceUsb
000000000000270c t $x
00000000000028f8 t BdsMemoryMapLoadImage
00000000000028f8 t $x
0000000000002a34 t StrnLenS
0000000000002a34 t $x
0000000000002ab0 t BasePrintLibSPrintMarker.constprop.50
0000000000002ab0 t $x
0000000000003a88 t BasePrintLibSPrint.constprop.51
0000000000003a88 t $x
0000000000003adc t AsciiSPrint.constprop.48
0000000000003adc t $x
0000000000003b44 t SPrintLength
0000000000003b44 t $x
0000000000003b84 t UnicodeVSPrint
0000000000003b84 t $x
0000000000003c20 t UnicodeSPrint
0000000000003c20 t $x
0000000000003c70 t UnicodeStrToAsciiStrS
0000000000003c70 t $x
0000000000003e8c t StrnCatS
0000000000003e8c t $x
0000000000004100 t StrCatS
0000000000004100 t $x
0000000000004328 t StrCpyS
0000000000004328 t $x
00000000000044f8 t AsciiStrDecimalToUint64
00000000000044f8 t $x
0000000000004610 t AsciiStrLen
0000000000004610 t $x
00000000000046c0 t DebugPrint
00000000000046c0 t $x
00000000000047b8 t LibPcdGetPtr.constprop.30
00000000000047b8 t $x
0000000000004880 t StringNoCaseCompare
0000000000004880 t $x
000000000000493c t HiiRemovePackages
000000000000493c t $x
00000000000049ec t FreePool
00000000000049ec t $x
0000000000004a68 t ShellCommandLineFreeVarList
0000000000004a68 t $x
0000000000004ad8 t BdsConnectAndUpdateDevicePath.part.2
0000000000004ad8 t $x
0000000000004dfc t BdsFirmwareVolumeLoadImage
0000000000004dfc t $x
0000000000005080 t BdsFileSystemLoadImage
0000000000005080 t $x
0000000000005298 t Print
0000000000005298 t $x
0000000000005400 t Mtftp4CheckPacket
0000000000005400 t $x
0000000000005570 t InstallFdt
0000000000005570 t $x
0000000000005780 t AsciiStrnCmp
0000000000005780 t $x
0000000000005880 t StrLen
0000000000005880 t $x
000000000000593c t StrSize
000000000000593c t $x
0000000000005958 t InternalPrintTo
0000000000005958 t $x
0000000000005a1c t StrStr
0000000000005a1c t $x
0000000000005adc t StrnCmp
0000000000005adc t $x
0000000000005bcc t StrCmp
0000000000005bcc t $x
0000000000005c70 t RunFdtInstallation
0000000000005c70 t $x
0000000000005ec8 t ProcessLibraryDestructorList
0000000000005ec8 t $x
0000000000005f38 t $x
0000000000005f38 t ZeroMem
0000000000005fb4 t InternalReallocatePool.constprop.25
0000000000005fb4 t $x
0000000000006020 t UefiDevicePathLibCatPrint
0000000000006020 t $x
0000000000006174 t DevPathToTextNodeGeneric
0000000000006174 t $x
0000000000006278 t DevPathToTextEndInstance
0000000000006278 t $x
0000000000006284 t DevPathToTextBBS
0000000000006284 t $x
0000000000006330 t DevPathRelativeOffsetRange
0000000000006330 t $x
0000000000006340 t DevPathToTextFvFile
0000000000006340 t $x
0000000000006350 t DevPathToTextFv
0000000000006350 t $x
0000000000006360 t DevPathToTextMediaProtocol
0000000000006360 t $x
0000000000006370 t DevPathToTextFilePath
0000000000006370 t $x
0000000000006380 t DevPathToTextCDROM
0000000000006380 t $x
00000000000063ac t DevPathToTextHardDrive
00000000000063ac t $x
0000000000006440 t DevPathToTextUri
0000000000006440 t $x
00000000000064d8 t DevPathToTextBluetoothLE
00000000000064d8 t $x
000000000000651c t DevPathToTextWiFi
000000000000651c t $x
0000000000006560 t DevPathToTextBluetooth
0000000000006560 t $x
0000000000006584 t DevPathToTextVlan
0000000000006584 t $x
0000000000006594 t DevPathToTextiSCSI
0000000000006594 t $x
00000000000066a0 t DevPathToTextUart
00000000000066a0 t $x
00000000000067b4 t DevPathToTextInfiniBand
00000000000067b4 t $x
00000000000067d0 t CatIPv6Address
00000000000067d0 t $x
000000000000685c t CatIPv4Address
000000000000685c t $x
0000000000006878 t DevPathToTextDns
0000000000006878 t $x
0000000000006938 t CatNetworkProtocol
0000000000006938 t $x
0000000000006970 t DevPathToTextIPv6
0000000000006970 t $x
0000000000006a58 t DevPathToTextIPv4
0000000000006a58 t $x
0000000000006b48 t DevPathToTextMacAddr
0000000000006b48 t $x
0000000000006bd4 t DevPathToTextI2O
0000000000006bd4 t $x
0000000000006be4 t DevPathToTextSata
0000000000006be4 t $x
0000000000006bfc t DevPathToTextUsbClass
0000000000006bfc t $x
0000000000006dc4 t DevPathToTextLogicalUnit
0000000000006dc4 t $x
0000000000006dd4 t DevPathToTextUsbWWID
0000000000006dd4 t $x
0000000000006e88 t DevPathToTextUsb
0000000000006e88 t $x
0000000000006e9c t DevPathToText1394
0000000000006e9c t $x
0000000000006eac t DevPathToTextEmmc
0000000000006eac t $x
0000000000006ebc t DevPathToTextSd
0000000000006ebc t $x
0000000000006ecc t DevPathToTextUfs
0000000000006ecc t $x
0000000000006ee0 t DevPathToTextNVMe
0000000000006ee0 t $x
0000000000006f34 t DevPathToTextSasEx
0000000000006f34 t $x
00000000000070b8 t DevPathToTextFibreEx
00000000000070b8 t $x
0000000000007158 t DevPathToTextFibre
0000000000007158 t $x
0000000000007168 t DevPathToTextScsi
0000000000007168 t $x
000000000000717c t DevPathToTextAtapi
000000000000717c t $x
00000000000071dc t DevPathToTextAcpiAdr
00000000000071dc t $x
0000000000007274 t DevPathToTextAcpiEx
0000000000007274 t $x
00000000000074d4 t DevPathToTextAcpi
00000000000074d4 t $x
00000000000075a4 t DevPathToTextBmc
00000000000075a4 t $x
00000000000075e0 t DevPathToTextController
00000000000075e0 t $x
00000000000075f0 t DevPathToTextMemMap
00000000000075f0 t $x
0000000000007604 t DevPathToTextPccard
0000000000007604 t $x
0000000000007614 t DevPathToTextPci
0000000000007614 t $x
0000000000007628 t AllocateZeroPool
0000000000007628 t $x
000000000000765c t HiiAddPackages.constprop.34
000000000000765c t $x
00000000000077e8 t GetBestLanguage.constprop.28
00000000000077e8 t $x
0000000000007974 t StrnCatGrow.constprop.24
0000000000007974 t $x
0000000000007a4c t ShellCopySearchAndReplace.constprop.22
0000000000007a4c t $x
0000000000007bcc t ShellCommandLineGetFlag
0000000000007bcc t $x
0000000000007ccc t InternalCommandLineParse.part.11.constprop.14
0000000000007ccc t $x
00000000000080f0 t BdsTftpLoadImage
00000000000080f0 t $x
0000000000008854 t HiiGetString
0000000000008854 t $x
0000000000008b38 t ShellPrintHiiEx.constprop.20
0000000000008b38 t $x
000000000000903c t DisplayFdtDevicePaths
000000000000903c t $x
00000000000091a4 t ShellDynCmdSetFdtGetHelp
00000000000091a4 t $x
00000000000091b8 t ShellDynCmdDumpFdtGetHelp
00000000000091b8 t $x
00000000000091cc t CompareGuid
00000000000091cc t $x
0000000000009238 t ShellLibConstructorWorker.constprop.42
0000000000009238 t $x
000000000000953c t ShellInitialize.part.0
000000000000953c t $x
00000000000095bc t ShellDynCmdSetFdtHandler
00000000000095bc t $x
0000000000009b1c t DevPathToTextRamDisk
0000000000009b1c t $x
0000000000009c98 t DevPathToTextVendor
0000000000009c98 t $x
0000000000009fec t BdsGetDeviceHd
0000000000009fec t $x
000000000000a14c t $x
000000000000a150 t e843419@006b_00000a1b_18
000000000000a150 t $x
000000000000b14c t EfiGetSystemConfigurationTable
000000000000b14c t $x
000000000000b224 t ShellDynCmdDumpFdtHandler
000000000000b224 t $x
000000000000b6c4 T memcpy
000000000000b6c4 t $x
000000000000b6e4 T _ModuleEntryPoint
000000000000b6e4 t $x
000000000000bcb0 T CpuBreakpoint
000000000000bcb0 t $x
000000000000bcc0 T InternalMemSetMem16
000000000000bcc0 t $x
000000000000bccc T InternalMemSetMem32
000000000000bcd8 T InternalMemSetMem64
000000000000bce4 T InternalMemZeroMem
000000000000bcec T InternalMemSetMem
000000000000bec0 t __memcpy
000000000000bec0 t $x
000000000000c02c T InternalMemCopyMem
000000000000c0e0 T InternalMemCompareGuid
000000000000c0e0 t $x
000000000000c100 T InternalMemCompareMem
000000000000c100 t $x
000000000000c1e0 t $d
000000000000c1e4 t $d
000000000000c84c t $d
000000000000cb10 t CSWTCH.42
000000000000cb10 t $d
000000000000cb18 t CSWTCH.58
000000000000cb18 t $d
000000000000cb48 t $d
000000000000cb60 t $d
000000000000cbf0 t $d
000000000000ceb6 t $d
000000000000cede t $d
000000000000cefa t $d
000000000000cfbc t $d
000000000000cfe2 t $d
000000000000d10e t $d
000000000000d180 t $d
000000000000d1ac t $d
000000000000d1f4 t $d
000000000000d24e t $d
000000000000d26e t $d
000000000000d2b6 t $d
000000000000d2cc t $d
000000000000d2d6 t $d
000000000000d2ec t $d
000000000000d312 t $d
000000000000d328 t $d
000000000000d336 t $d
000000000000d34c t $d
000000000000d3b0 t $d
000000000000d3c4 t $d
000000000000d3e8 t $d
000000000000d468 t $d
000000000000d4b4 t $d
000000000000d4ca t $d
000000000000d4d4 t $d
000000000000d4e8 t $d
000000000000d526 t $d
000000000000d5ae t $d
000000000000d5c8 t $d
000000000000d5fa t $d
000000000000d6b0 t $d
000000000000d764 t $d
000000000000d78e t $d
000000000000d7ae t $d
000000000000d7c0 t $d
000000000000d81c t $d
000000000000d852 t $d
000000000000d862 t $d
000000000000d880 t $d
000000000000dae8 t $d
000000000000db1e t $d
000000000000db22 t $d
000000000000dc72 t $d
000000000000dc84 t $d
000000000000dc98 t $d
000000000000defe t $d
000000000000e168 t $d
000000000000e334 t $d
000000000000e440 t $d
000000000000e440 t ParamList
000000000000e6a4 t $d
000000000000e6b0 t $d
000000000000e754 t $d
000000000000e942 t $d
000000000000e95a t $d
000000000000f238 t $d
000000000000f238 t mEndOfPakageList
000000000000f240 t $d
000000000000f240 t mFdtPlatformDxeHiiGuid
000000000000f250 t $d
000000000000f250 t mHexStr
000000000000f260 t $d
000000000000f260 t mShellDynCmdProtocolDumpFdt
000000000000f278 t $d
000000000000f278 t mShellDynCmdProtocolSetFdt
000000000000f290 t $d
000000000000f290 t mStatusString
000000000000f3c8 t $d
000000000000f3c8 t mTftpProgressDelete
000000000000f438 t $d
000000000000f438 t mTftpProgressFrame
000000000000f490 t $d
000000000000f490 t mUefiDevicePathLibEndDevicePath
000000000000f498 t $d
000000000000f498 t mUefiDevicePathLibToTextTable
000000000000f7b8 t $d
000000000000f7b8 t mUefiDevicePathLibToTextTableGeneric
000000000000fa3c t $d
0000000000010000 d $d
0000000000010000 d FdtPlatformDxeStrings
00000000000116c0 d $d
00000000000116c0 d FileLoaders
0000000000011720 d $d
0000000000011720 d RemovableDeviceSupport
0000000000011740 d $d
0000000000011740 d gEfiDebugPortProtocolGuid
0000000000011750 d $d
0000000000011750 d gEfiDevicePathFromTextProtocolGuid
0000000000011760 d $d
0000000000011760 d gEfiDevicePathProtocolGuid
0000000000011770 d $d
0000000000011770 d gEfiDevicePathToTextProtocolGuid
0000000000011780 d $d
0000000000011780 d gEfiDhcp4ProtocolGuid
0000000000011790 d $d
0000000000011790 d gEfiDhcp4ServiceBindingProtocolGuid
00000000000117a0 d $d
00000000000117a0 d gEfiDiskIoProtocolGuid
00000000000117b0 d $d
00000000000117b0 d gEfiDxeServicesTableGuid
00000000000117c0 d $d
00000000000117c0 d gEfiFileInfoGuid
00000000000117d0 d $d
00000000000117d0 d gEfiFirmwareVolume2ProtocolGuid
00000000000117e0 d $d
00000000000117e0 d gEfiGlobalVariableGuid
00000000000117f0 d $d
00000000000117f0 d gEfiHiiConfigRoutingProtocolGuid
0000000000011800 d $d
0000000000011800 d gEfiHiiDatabaseProtocolGuid
0000000000011810 d $d
0000000000011810 d gEfiHiiFontProtocolGuid
0000000000011820 d $d
0000000000011820 d gEfiHiiImageProtocolGuid
0000000000011830 d $d
0000000000011830 d gEfiHiiStringProtocolGuid
0000000000011840 d $d
0000000000011840 d gEfiHobListGuid
0000000000011850 d $d
0000000000011850 d gEfiLoadFileProtocolGuid
0000000000011860 d $d
0000000000011860 d gEfiMtftp4ProtocolGuid
0000000000011870 d $d
0000000000011870 d gEfiMtftp4ServiceBindingProtocolGuid
0000000000011880 d $d
0000000000011880 d gEfiPcAnsiGuid
0000000000011890 d $d
0000000000011890 d gEfiPersistentVirtualCdGuid
00000000000118a0 d $d
00000000000118a0 d gEfiPersistentVirtualDiskGuid
00000000000118b0 d $d
00000000000118b0 d gEfiPxeBaseCodeProtocolGuid
00000000000118c0 d $d
00000000000118c0 d gEfiSasDevicePathGuid
00000000000118d0 d $d
00000000000118d0 d gEfiShellDynamicCommandProtocolGuid
00000000000118e0 d $d
00000000000118e0 d gEfiShellEnvironment2ExtGuid
00000000000118f0 d $d
00000000000118f0 d gEfiShellEnvironment2Guid
0000000000011900 d $d
0000000000011900 d gEfiShellInterfaceGuid
0000000000011910 d $d
0000000000011910 d gEfiShellParametersProtocolGuid
0000000000011920 d $d
0000000000011920 d gEfiShellProtocolGuid
0000000000011930 d $d
0000000000011930 d gEfiSimpleFileSystemProtocolGuid
0000000000011940 d $d
0000000000011940 d gEfiUartDevicePathGuid
0000000000011950 d $d
0000000000011950 d gEfiUnicodeCollation2ProtocolGuid
0000000000011960 d $d
0000000000011960 d gEfiUsbIoProtocolGuid
0000000000011970 d $d
0000000000011970 d gEfiVT100Guid
0000000000011980 d $d
0000000000011980 d gEfiVT100PlusGuid
0000000000011990 d $d
0000000000011990 d gEfiVTUTF8Guid
00000000000119a0 d $d
00000000000119a0 d gEfiVirtualCdGuid
00000000000119b0 d $d
00000000000119b0 d gEfiVirtualDiskGuid
00000000000119c0 d $d
00000000000119c0 d gFdtTableGuid
00000000000119d0 d $d
00000000000119d0 d gFdtVariableGuid
00000000000119e0 d $d
00000000000119e0 d gPcdProtocolGuid
00000000000119f0 d $d
00000000000119f0 d gBS
00000000000119f8 d $d
00000000000119f8 d gDS
0000000000011a00 d $d
0000000000011a00 d gEfiShellParametersProtocol
0000000000011a08 d $d
0000000000011a08 d gEfiShellProtocol
0000000000011a10 d $d
0000000000011a10 d gHiiConfigRouting
0000000000011a18 d $d
0000000000011a18 d gHiiDatabase
0000000000011a20 d $d
0000000000011a20 d gHiiFont
0000000000011a28 d $d
0000000000011a28 d gHiiImage
0000000000011a30 d $d
0000000000011a30 d gHiiString
0000000000011a38 d $d
0000000000011a38 d gImageHandle
0000000000011a40 d $d
0000000000011a40 d gRT
0000000000011a48 d $d
0000000000011a48 d gST
0000000000011a50 d $d
0000000000011a50 d mEfiShellEnvironment2
0000000000011a58 d $d
0000000000011a58 d mEfiShellEnvironment2Handle
0000000000011a60 d $d
0000000000011a60 d mEfiShellInterface
0000000000011a68 d $d
0000000000011a68 d mFdtPlatformDxeHiiHandle
0000000000011a70 d $d
0000000000011a70 d mHobList
0000000000011a78 d $d
0000000000011a78 d mPcd
0000000000011a80 d $d
0000000000011a80 d mUnicodeCollation

> _______________________________________________

> edk2-devel mailing list

> edk2-devel@lists.01.org

> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Laszlo Ersek Nov. 22, 2018, 4:30 p.m. UTC | #10
On 11/22/18 14:08, Ard Biesheuvel wrote:
> On Thu, 22 Nov 2018 at 12:37, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

>>

>> On Thu, 22 Nov 2018 at 12:19, chandni cherukuri

>> <chandni.cherukuri@arm.com> wrote:

>>>

>>> On Thu, Nov 22, 2018 at 1:20 PM Ard Biesheuvel

>>> <ard.biesheuvel@linaro.org> wrote:

>>>>

>>>> On Thu, 22 Nov 2018 at 05:01, Thomas Abraham <thomas.abraham@arm.com> wrote:

>>>>>

>>>>> Hi Ard,

>>>>>

>>>>> On Thu, Nov 22, 2018 at 3:46 AM Ard Biesheuvel

>>>>> <ard.biesheuvel@linaro.org> wrote:

>>>>>>

>>>>>> On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:

>>>>>>>

>>>>>>> Hi Ard,

>>>>>>>

>>>>>>> On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel

>>>>>>> <ard.biesheuvel@linaro.org> wrote:

>>>>>>>>

>>>>>>>> Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

>>>>>>>> NOR flash GUIDs.

>>>>>>>>

>>>>>>>> Ard Biesheuvel (3):

>>>>>>>>   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

>>>>>>>>     flash

>>>>>>>>   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

>>>>>>>>   Platform/ARM: drop per-bank NOR flash GUIDs

>>>>>>>>

>>>>>>>>  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

>>>>>>>>  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

>>>>>>>>  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

>>>>>>>>  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

>>>>>>>>  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

>>>>>>>>  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

>>>>>>>>  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

>>>>>>>>  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

>>>>>>>>  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

>>>>>>>>  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

>>>>>>>>  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

>>>>>>>>  11 files changed, 15 insertions(+), 26 deletions(-)

>>>>>>>

>>>>>>> Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,

>>>>>>> ArmVirtPkg: discover NOR flash banks from DTB" patch series on the

>>>>>>> Juno board. With these patches applied, the boot fails on Juno board

>>>>>>> with the following messages. I have not yet tried to debug the issue

>>>>>>> but wanted to let you know this.

>>>>>>>

>>>>>>> [...]

>>>>>>> Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi

>>>>>>> add-symbol-file

>>>>>>> /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll

>>>>>>> 0xF8300000

>>>>>>> Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi

>>>>>>> add-symbol-file

>>>>>>> /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll

>>>>>>> 0xF82EE000

>>>>>>> Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi

>>>>>>> Found image: fip in block 5.

>>>>>>> Found image: norkern in block 20.

>>>>>>> Found image: ramdisk.img in block 116.

>>>>>>> Found image: hdlcdclk in block 151.

>>>>>>> Found image: selftest in block 152.

>>>>>>> Found image: board.dtb in block 156.

>>>>>>> Found image: scp_bl1 in block 249.

>>>>>>> Found image: bl1 in block 251.

>>>>>>> Found image: startup.nsh in block 252.

>>>>>>> ASSERT [BootMonFs]

>>>>>>> /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):

>>>>>>> ((UINTN) String & 0x00000001) == 0

>>>>>>>

> ...

>> Could you please share the backtrace and the results of

>>

>> nm -n Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll

>>

>> for the failing case?

>>

> 

> It seems like BootMonFsOpenFile() is being called from FdtClientDxe


I think you mean "FdtPlatformDxe".

> with a misaligned CHAR16* argument for Filename.


Yup, that's not an infrequent bug.

Device paths are packed. Once we introduce a UINT8 field to a device
path node, the rest of the nodes in the same device path will shift by 1
byte. If there is a CHAR16 array field in one of those "later" device
path nodes, such as "FILEPATH_DEVICE_PATH.PathName", then it might go
from naturally aligned to mis-aligned, or vice versa. Therefore, passing
such CHAR16 fields to string functions in BaseLib, that is, right out of
the containing device path node, is never portable. If it happens to
work, that is by chance only.

For example:

  https://bugzilla.tianocore.org/show_bug.cgi?id=1003
  https://bugzilla.tianocore.org/show_bug.cgi?id=1008

I suggest grepping "FdtPlatformDxe" (or, well, rather "BootMonFs"!) for
"PathName", and wherever it is passed to StrLen() -- because
MdePkg/Library/BaseLib/String.c(173) is in StrLen() --, make sure the
pathname is first re-aligned naturally, temporarily. For example, with
AllocateCopyPool().

gBS->AllocatePool() guarantees 8-byte alignment per spec. While
AllocatePool() / AllocateCopyPool() from MemoryAllocationLib don't
explicitly guarantee the same "on the tin", I think that's not by
design, but by omission. FWIW, for TianoCore BZs 1003 and 1008 above, we
assumed AllocateCopyPool() would ensure 8-byte alignment as well.

Thanks
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 22, 2018, 4:37 p.m. UTC | #11
> On 22 Nov 2018, at 17:30, Laszlo Ersek <lersek@redhat.com> wrote:
> 
>> On 11/22/18 14:08, Ard Biesheuvel wrote:
>>> On Thu, 22 Nov 2018 at 12:37, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>>> 
>>> On Thu, 22 Nov 2018 at 12:19, chandni cherukuri
>>> <chandni.cherukuri@arm.com> wrote:
>>>> 
>>>> On Thu, Nov 22, 2018 at 1:20 PM Ard Biesheuvel
>>>> <ard.biesheuvel@linaro.org> wrote:
>>>>> 
>>>>>> On Thu, 22 Nov 2018 at 05:01, Thomas Abraham <thomas.abraham@arm.com> wrote:
>>>>>> 
>>>>>> Hi Ard,
>>>>>> 
>>>>>> On Thu, Nov 22, 2018 at 3:46 AM Ard Biesheuvel
>>>>>> <ard.biesheuvel@linaro.org> wrote:
>>>>>>> 
>>>>>>>> On Wed, 21 Nov 2018 at 14:48, Thomas Abraham <thomas.abraham@arm.com> wrote:
>>>>>>>> 
>>>>>>>> Hi Ard,
>>>>>>>> 
>>>>>>>> On Wed, Nov 21, 2018 at 5:31 PM Ard Biesheuvel
>>>>>>>> <ard.biesheuvel@linaro.org> wrote:
>>>>>>>>> 
>>>>>>>>> Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank
>>>>>>>>> NOR flash GUIDs.
>>>>>>>>> 
>>>>>>>>> Ard Biesheuvel (3):
>>>>>>>>>  Platform/ARM: replace hardcoded VenHW() device paths referring to NOR
>>>>>>>>>    flash
>>>>>>>>>  Silicon/SynQuacer: drop per-bank NOR flash GUIDs
>>>>>>>>>  Platform/ARM: drop per-bank NOR flash GUIDs
>>>>>>>>> 
>>>>>>>>> Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-
>>>>>>>>> Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-
>>>>>>>>> .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --
>>>>>>>>> .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --
>>>>>>>>> Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-
>>>>>>>>> Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-
>>>>>>>>> Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-
>>>>>>>>> .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----
>>>>>>>>> .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------
>>>>>>>>> .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++
>>>>>>>>> .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------
>>>>>>>>> 11 files changed, 15 insertions(+), 26 deletions(-)
>>>>>>>> 
>>>>>>>> Tested this patch series and "[PATCH v2 0/5] ArmPlatformPkg,
>>>>>>>> ArmVirtPkg: discover NOR flash banks from DTB" patch series on the
>>>>>>>> Juno board. With these patches applied, the boot fails on Juno board
>>>>>>>> with the following messages. I have not yet tried to debug the issue
>>>>>>>> but wanted to let you know this.
>>>>>>>> 
>>>>>>>> [...]
>>>>>>>> Loading driver at 0x000F830C000 EntryPoint=0x000F831B2AC IScsiDxe.efi
>>>>>>>> add-symbol-file
>>>>>>>> /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe/DEBUG/Udp4Dxe.dll
>>>>>>>> 0xF8300000
>>>>>>>> Loading driver at 0x000F82FF000 EntryPoint=0x000F8306DF0 Udp4Dxe.efi
>>>>>>>> add-symbol-file
>>>>>>>> /home/thopan01/devel/juno/uefi/uefi/edk2/Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe/DEBUG/FdtPlatformDxe.dll
>>>>>>>> 0xF82EE000
>>>>>>>> Loading driver at 0x000F82ED000 EntryPoint=0x000F82F76EC FdtPlatformDxe.efi
>>>>>>>> Found image: fip in block 5.
>>>>>>>> Found image: norkern in block 20.
>>>>>>>> Found image: ramdisk.img in block 116.
>>>>>>>> Found image: hdlcdclk in block 151.
>>>>>>>> Found image: selftest in block 152.
>>>>>>>> Found image: board.dtb in block 156.
>>>>>>>> Found image: scp_bl1 in block 249.
>>>>>>>> Found image: bl1 in block 251.
>>>>>>>> Found image: startup.nsh in block 252.
>>>>>>>> ASSERT [BootMonFs]
>>>>>>>> /home/thopan01/devel/juno/uefi/uefi/edk2/MdePkg/Library/BaseLib/String.c(173):
>>>>>>>> ((UINTN) String & 0x00000001) == 0
>>>>>>>> 
>> ...
>>> Could you please share the backtrace and the results of
>>> 
>>> nm -n Build/ArmJuno/DEBUG_GCC5/AARCH64/Platform/ARM/Drivers/BootMonFs/BootMonFs/DEBUG/BootMonFs.dll
>>> 
>>> for the failing case?
>>> 
>> 
>> It seems like BootMonFsOpenFile() is being called from FdtClientDxe
> 
> I think you mean "FdtPlatformDxe".
> 

Yes. Yay for multitasking :-)

>> with a misaligned CHAR16* argument for Filename.
> 
> Yup, that's not an infrequent bug.
> 
> Device paths are packed. Once we introduce a UINT8 field to a device
> path node, the rest of the nodes in the same device path will shift by 1
> byte. If there is a CHAR16 array field in one of those "later" device
> path nodes, such as "FILEPATH_DEVICE_PATH.PathName", then it might go
> from naturally aligned to mis-aligned, or vice versa. Therefore, passing
> such CHAR16 fields to string functions in BaseLib, that is, right out of
> the containing device path node, is never portable. If it happens to
> work, that is by chance only.
> 
> For example:
> 
>  https://bugzilla.tianocore.org/show_bug.cgi?id=1003
>  https://bugzilla.tianocore.org/show_bug.cgi?id=1008
> 
> I suggest grepping "FdtPlatformDxe" (or, well, rather "BootMonFs"!) for
> "PathName", and wherever it is passed to StrLen() -- because
> MdePkg/Library/BaseLib/String.c(173) is in StrLen() --, make sure the
> pathname is first re-aligned naturally, temporarily. For example, with
> AllocateCopyPool().
> 
> gBS->AllocatePool() guarantees 8-byte alignment per spec. While
> AllocatePool() / AllocateCopyPool() from MemoryAllocationLib don't
> explicitly guarantee the same "on the tin", I think that's not by
> design, but by omission. FWIW, for TianoCore BZs 1003 and 1008 above, we
> assumed AllocateCopyPool() would ensure 8-byte alignment as well.
> 

I tracked this down to BdsLib (a remnant of the illustrious ARM bds), which is a bit of a mess. I’ll have some patches out shortly.
Leif Lindholm Nov. 26, 2018, 3:15 p.m. UTC | #12
On Wed, Nov 21, 2018 at 01:01:42PM +0100, Ard Biesheuvel wrote:
> Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> NOR flash GUIDs.


For the series:
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>



> Ard Biesheuvel (3):

>   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

>     flash

>   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

>   Platform/ARM: drop per-bank NOR flash GUIDs

> 

>  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

>  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

>  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

>  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

>  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

>  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

>  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

>  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

>  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

>  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

>  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

>  11 files changed, 15 insertions(+), 26 deletions(-)

> 

> -- 

> 2.17.1

> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 26, 2018, 5:26 p.m. UTC | #13
On Mon, 26 Nov 2018 at 16:15, Leif Lindholm <leif.lindholm@linaro.org> wrote:
>

> On Wed, Nov 21, 2018 at 01:01:42PM +0100, Ard Biesheuvel wrote:

> > Align edk2-platform with upcoming changes to EDK2 to get rid of per-bank

> > NOR flash GUIDs.

>

> For the series:

> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

>


Thanks

Pushed as f98fb46d3a3d..86c75fc51f6d

>

> > Ard Biesheuvel (3):

> >   Platform/ARM: replace hardcoded VenHW() device paths referring to NOR

> >     flash

> >   Silicon/SynQuacer: drop per-bank NOR flash GUIDs

> >   Platform/ARM: drop per-bank NOR flash GUIDs

> >

> >  Platform/ARM/JunoPkg/ArmJuno.dec                   |  2 +-

> >  Platform/ARM/JunoPkg/ArmJuno.dsc                   |  2 +-

> >  .../JunoPkg/Library/NorFlashJunoLib/NorFlashJuno.c |  2 --

> >  .../ARM/SgiPkg/Library/NorFlashLib/NorFlashLib.c   |  2 --

> >  Platform/ARM/SgiPkg/SgiPlatform.dsc                |  2 +-

> >  Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc  |  2 +-

> >  Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc       |  2 +-

> >  .../NorFlashArmVExpressLib/NorFlashArmVExpress.c   |  4 ----

> >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c      | 14 +++++++-------

> >  .../SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.h      |  3 +++

> >  .../NorFlashSynQuacerLib/NorFlashSynQuacer.c       |  6 ------

> >  11 files changed, 15 insertions(+), 26 deletions(-)

> >

> > --

> > 2.17.1

> >

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel