[AMD Official Use Only - General] > -----Original Message----- > From: Ashish Singhal <ashishsin...@nvidia.com> > Sent: Wednesday, November 15, 2023 11:12 AM > To: devel@edk2.groups.io; quic_llind...@quicinc.com; > ardb+tianoc...@kernel.org; Chang, Abner <abner.ch...@amd.com>; > g...@danielschaefer.me; jbra...@nvidia.com > Cc: Ashish Singhal <ashishsin...@nvidia.com> > Subject: [PATCH v2 2/2] EmbeddedPkg: Allow longer android kernel command > line > > Caution: This message originated from an External Source. Use proper caution > when opening attachments, clicking links, or responding. > > > AndroidBootImgLib allows for platforms to append to kernel command > line but does not allow for the overall kernel command line to go > beyond the limit set by the image header. Address this limitation > by adding a pcd where platform can tell how many extra characters > they expect on their platform in addition to what the image header > specifies. > > Signed-off-by: Ashish Singhal <ashishsin...@nvidia.com> > --- > EmbeddedPkg/EmbeddedPkg.dec | 5 +++++ > EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.c | 2 +- > EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.inf | 3 ++- > 3 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/EmbeddedPkg/EmbeddedPkg.dec > b/EmbeddedPkg/EmbeddedPkg.dec > index 341ef5e6a6..94dc3c9b76 100644 > --- a/EmbeddedPkg/EmbeddedPkg.dec > +++ b/EmbeddedPkg/EmbeddedPkg.dec > @@ -183,3 +183,8 @@ > # Selection between DT and ACPI as a default > # > gEmbeddedTokenSpaceGuid.PcdDefaultDtPref|TRUE|BOOLEAN|0x0000059 > + > + # > + # Expected Overflow Android Kernel Command Line Characters > + # > + > gEmbeddedTokenSpaceGuid.PcdAndroidKernelCommandLineOverflow|0|UI > NT32|0x000005C > diff --git a/EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.c > b/EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.c > index f63648e60d..d16929f2bb 100644 > --- a/EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.c > +++ b/EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.c > @@ -335,7 +335,7 @@ AndroidBootImgUpdateArgs ( > return Status; > } > > - NewKernelArgSize = ANDROID_BOOTIMG_KERNEL_ARGS_SIZE; > + NewKernelArgSize = ANDROID_BOOTIMG_KERNEL_ARGS_SIZE + PcdGet32 > (PcdAndroidKernelCommandLineOverflow);
I don't know the history of ANDROID_BOOTIMG_KERNEL_ARGS_SIZE, however, I am a little bit confused. Is this PCD introduced for the case the string size may greater than ANDROID_BOOTIMG_KERNEL_ARGS_SIZE? If yes, then why don't we just use StrSize (ImageKernelArgs) * sizeof(UINT16) as the buffer size? Regards, Abner > *KernelArgs = AllocateZeroPool (sizeof (CHAR16) * NewKernelArgSize); > if (*KernelArgs == NULL) { > DEBUG ((DEBUG_ERROR, "Fail to allocate memory\n")); > diff --git a/EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.inf > b/EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.inf > index 8eefeef4f9..9754664df5 100644 > --- a/EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.inf > +++ b/EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.inf > @@ -45,5 +45,6 @@ > gEfiAcpiTableGuid > gFdtTableGuid > > -[FeaturePcd] > +[Pcd] > gEmbeddedTokenSpaceGuid.PcdAndroidBootLoadFile2 > + gEmbeddedTokenSpaceGuid.PcdAndroidKernelCommandLineOverflow > -- > 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111470): https://edk2.groups.io/g/devel/message/111470 Mute This Topic: https://groups.io/mt/102598723/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-