public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: chandni cherukuri <chandni.cherukuri@arm.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: thomas.abraham@arm.com, edk2-devel@lists.01.org,
	 nariman.poushin@linaro.org
Subject: Re: [PATCH edk2-platforms 0/3] drop GUIDs from NOR flash bank descriptors
Date: Thu, 22 Nov 2018 16:49:09 +0530	[thread overview]
Message-ID: <CADXzzgpV37gKzmSYYrEyZgs_1B33AmJAnYJHwdA3Hvuax_djcw@mail.gmail.com> (raw)
In-Reply-To: <CAKv+Gu9A3W5cEgF5uQF4ub9oeLsPw3rzYaivgKW_uVbWPDYgyA@mail.gmail.com>

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


  reply	other threads:[~2018-11-22 11:19 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-21 12:01 [PATCH edk2-platforms 0/3] drop GUIDs from NOR flash bank descriptors Ard Biesheuvel
2018-11-21 12:01 ` [PATCH edk2-platforms 1/3] Platform/ARM: replace hardcoded VenHW() device paths referring to NOR flash Ard Biesheuvel
2018-11-21 12:01 ` [PATCH edk2-platforms 2/3] Silicon/SynQuacer: drop per-bank NOR flash GUIDs Ard Biesheuvel
2018-11-21 12:01 ` [PATCH edk2-platforms 3/3] Platform/ARM: " Ard Biesheuvel
2018-11-21 13:48 ` [PATCH edk2-platforms 0/3] drop GUIDs from NOR flash bank descriptors Thomas Abraham
2018-11-21 22:16   ` Ard Biesheuvel
2018-11-22  4:01     ` Thomas Abraham
2018-11-22  7:50       ` Ard Biesheuvel
2018-11-22 11:19         ` chandni cherukuri [this message]
2018-11-22 11:37           ` Ard Biesheuvel
2018-11-22 12:54             ` Thomas Abraham
2018-11-22 13:08             ` Ard Biesheuvel
2018-11-22 13:33               ` Thomas Abraham
2018-11-22 16:30               ` Laszlo Ersek
2018-11-22 16:37                 ` Ard Biesheuvel
2018-11-26 15:15 ` Leif Lindholm
2018-11-26 17:26   ` Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADXzzgpV37gKzmSYYrEyZgs_1B33AmJAnYJHwdA3Hvuax_djcw@mail.gmail.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox