Hi all, Is anybody still interested in this? Rohit's "Invoke constructors for SEC phase" patch was merged.
Link to the original thread: https://edk2.groups.io/g/devel/message/88884 Regards, Oliver On Thu, Jul 21, 2022 at 6:24 PM Sami Mujawar <sami.muja...@arm.com> wrote: > Hi Rebecca, Ard, > > On Tue, May 3, 2022 at 12:43 AM, Ard Biesheuvel wrote: > > // Data Cache enabled on Primary core when MMU is enabled. > ArmDisableDataCache (); > // Invalidate instruction cache > @@ -90,6 +95,18 @@ CEntryPoint ( > > // If not primary Jump to Secondary Main > if (ArmPlatformIsPrimaryCore (MpId)) { > + // Initialize the Serial Port > + SerialPortInitialize (); > + CharCount = AsciiSPrint ( > + Buffer, > + sizeof (Buffer), > + "UEFI firmware (version %s built at %a on %a)\n\r", > + (CHAR16 *)PcdGetPtr (PcdFirmwareVersionString), > > Given that this runs before any library constructors are called, I'd > be inclined to use FixedPcdGetPtr() here (and [FixedPcd] in the .INFs > below), to ensure that we don't dereference garbage. > > I also wonder whether we need a call to > ProcessLibraryConstructorList() somewhere. > > [SAMI] There is a patch at https://edk2.groups.io/g/devel/message/91113 > which aims to call ProcessLibraryConstructorList(). The idea being that the > DebugLib constructor would be called which initializes the serial port. > So, maybe these patches need adjustment so that we avoid calling > SerialPortInitialize () twice. > [/SAMI] > > regards, > > Sami Mujawar > > > + __TIME__, > + __DATE__ > + ); > + SerialPortWrite ((UINT8 *)Buffer, CharCount); > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#94047): https://edk2.groups.io/g/devel/message/94047 Mute This Topic: https://groups.io/mt/90452782/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-