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 (#91643): https://edk2.groups.io/g/devel/message/91643 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] -=-=-=-=-=-=-=-=-=-=-=-