On Fri, 5 Jan 2024 at 12:49, levi.yun <yeoreum....@arm.com> wrote: > > Serial port used by the DEBUG macro is initialised in StandaloneMmMain > by the DebugLib constructor. > > When we use a serial port initialised by TF-A it is not a problem. > However, if we use a serial port that is not initialised by TF-A, > the debug log prints hangs. > > Therefore, initialise the serial port early on in the entry point. > > Signed-off-by: levi.yun <yeoreum....@arm.com> > --- > These changes can be seen at > https://github.com/LeviYeoReum/edk2/tree/levi/2956_init_serial too. >
So now we will always initialize the serial port in the entrypoint only because DebugLib might use it later with doing the initialization. That doesn't sound quite correct to me. Could you explain why we cannot rely on DebugLib to call the initializer / constructor at the right time? > StandaloneMmPkg/StandaloneMmPkg.dsc > | 1 + > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf > | 1 + > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.c > | 3 +++ > 3 files changed, 5 insertions(+) > > diff --git a/StandaloneMmPkg/StandaloneMmPkg.dsc > b/StandaloneMmPkg/StandaloneMmPkg.dsc > index > 8012f93b7dcc38ea8fdd2de98912bbc09157ec53..040a4aa5b3d268fdfaaec9a975cfc6ff31aa37b4 > 100644 > --- a/StandaloneMmPkg/StandaloneMmPkg.dsc > +++ b/StandaloneMmPkg/StandaloneMmPkg.dsc > @@ -66,6 +66,7 @@ [LibraryClasses.AARCH64, LibraryClasses.ARM] > ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf > > CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf > > PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf > + > SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf > > NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf > NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf > > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf > index > 75cfb98c0e75cd7cee2a59723035679612da4528..086639ecfbc983627aed73817815e2485104375e > 100644 > --- > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf > +++ > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf > @@ -42,6 +42,7 @@ [LibraryClasses] > DebugLib > > [LibraryClasses.ARM, LibraryClasses.AARCH64] > + SerialPortLib > StandaloneMmMmuLib > ArmSvcLib > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.c > > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.c > index > 96de10405af829c66e3f43ed4692f785d8df113e..66b56bdfe4959d5ab6152ff024caa6e900e7a948 > 100644 > --- > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.c > +++ > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.c > @@ -335,6 +335,9 @@ _ModuleEntryPoint ( > UINTN TeDataSize; > EFI_PHYSICAL_ADDRESS ImageBase; > > + // Initialize the Serial Port early to print debug log before > StandaloneMmMain. > + SerialPortInitialize (); > + > // Get Secure Partition Manager Version Information > Status = GetSpmVersion (); > if (EFI_ERROR (Status)) { > -- > Guid("CE165669-3EF3-493F-B85D-6190EE5B9759") > > IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113299): https://edk2.groups.io/g/devel/message/113299 Mute This Topic: https://groups.io/mt/103540969/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-