From 0ee9a036e2a7a397ac8e657c6b4ef136b4ca18a5 Mon Sep 17 00:00:00 2001 From: Sophon Date: Wed, 19 Jan 2022 18:13:39 +0800 Subject: [PATCH] (testing)Add built-in mainline Linux kernel The built-in Linux kernel will automatically set up USB Mass Storage gadget. Bootconsole (efifb) is currently enabled for debugging. Only tested on polaris. Signed-off-by: Sophon Linux kernel and initrd by Signed-off-by: BigfootACA --- sdm845Pkg/Binary | 2 +- sdm845Pkg/Devices/polaris-8g.dsc | 2 +- sdm845Pkg/Devices/polaris.dsc | 2 +- sdm845Pkg/Devices/polaris.fdf | 1 + .../Library/PlatformBootManagerLib/PlatformBm.c | 12 ++++++++++-- .../PlatformBootManagerLib.inf | 1 + sdm845Pkg/sdm845Pkg.dec | 1 + sdm845Pkg/sdm845Pkg.dsc | 1 + 8 files changed, 17 insertions(+), 5 deletions(-) diff --git a/sdm845Pkg/Binary b/sdm845Pkg/Binary index 38c7c37..82296a9 160000 --- a/sdm845Pkg/Binary +++ b/sdm845Pkg/Binary @@ -1 +1 @@ -Subproject commit 38c7c37133d5d2c2117c5b674379f44920ec7ed3 +Subproject commit 82296a90c9296f1686d87f9fe33409c34faff91c diff --git a/sdm845Pkg/Devices/polaris-8g.dsc b/sdm845Pkg/Devices/polaris-8g.dsc index 2346f07..4301f38 100644 --- a/sdm845Pkg/Devices/polaris-8g.dsc +++ b/sdm845Pkg/Devices/polaris-8g.dsc @@ -12,7 +12,7 @@ !include sdm845Pkg/sdm845Pkg.dsc [BuildOptions.common] - GCC:*_*_AARCH64_CC_FLAGS = -DXIAOMI_PIL_FIXED=1 -DMEMORY_8G=1 -DDISPLAY_DPI=440 -DENABLE_SIMPLE_INIT + GCC:*_*_AARCH64_CC_FLAGS = -DXIAOMI_PIL_FIXED=1 -DMEMORY_8G=1 -DDISPLAY_DPI=440 -DENABLE_SIMPLE_INIT -DBUILTIN_LINUX_TEST=1 [PcdsFixedAtBuild.common] # System Memory (7GB) diff --git a/sdm845Pkg/Devices/polaris.dsc b/sdm845Pkg/Devices/polaris.dsc index 233bc77..54f08db 100644 --- a/sdm845Pkg/Devices/polaris.dsc +++ b/sdm845Pkg/Devices/polaris.dsc @@ -12,7 +12,7 @@ !include sdm845Pkg/sdm845Pkg.dsc [BuildOptions.common] - GCC:*_*_AARCH64_CC_FLAGS = -DXIAOMI_PIL_FIXED=1 -DDISPLAY_DPI=440 -DENABLE_SIMPLE_INIT + GCC:*_*_AARCH64_CC_FLAGS = -DXIAOMI_PIL_FIXED=1 -DDISPLAY_DPI=440 -DENABLE_SIMPLE_INIT -DBUILTIN_LINUX_TEST=1 [PcdsFixedAtBuild.common] # System Memory (5GB) diff --git a/sdm845Pkg/Devices/polaris.fdf b/sdm845Pkg/Devices/polaris.fdf index 0e03239..2524c05 100644 --- a/sdm845Pkg/Devices/polaris.fdf +++ b/sdm845Pkg/Devices/polaris.fdf @@ -562,6 +562,7 @@ APRIORI DXE { !endif #$(INCLUDE_TFTP_COMMAND) INF sdm845Pkg/Binary/845/UsbfnMsdApp/UsbfnMsdApp.inf + INF sdm845Pkg/Binary/845/BuiltinLinuxKrl/BuiltinLinuxKrl.inf # # Bds diff --git a/sdm845Pkg/Library/PlatformBootManagerLib/PlatformBm.c b/sdm845Pkg/Library/PlatformBootManagerLib/PlatformBm.c index baf8c91..60b85a1 100644 --- a/sdm845Pkg/Library/PlatformBootManagerLib/PlatformBm.c +++ b/sdm845Pkg/Library/PlatformBootManagerLib/PlatformBm.c @@ -683,10 +683,18 @@ VOID EFIAPI PlatformBootManagerAfterConsole(VOID) &gUefiShellFileGuid, L"UEFI Shell", LOAD_OPTION_ACTIVE); // - // Register Mass Storage App + // Register Qualcomm Mass Storage App // PlatformRegisterFvBootOption( - &gUsbfnMsdAppFileGuid, L"Mass Storage", LOAD_OPTION_ACTIVE); + &gUsbfnMsdAppFileGuid, L"UEFI Mass Storage", LOAD_OPTION_ACTIVE); + +#ifdef BUILTIN_LINUX_TEST + // + // Register Built-in Linux Kernel + // + PlatformRegisterFvBootOption( + &gBuiltinLinuxKrlFileGuid, L"Linux Mass Storage", LOAD_OPTION_ACTIVE); +#endif #ifdef AB_SLOTS_SUPPORT // diff --git a/sdm845Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/sdm845Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf index c67d83f..7fdfd80 100644 --- a/sdm845Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf +++ b/sdm845Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf @@ -78,6 +78,7 @@ gEfiTtyTermGuid gUefiShellFileGuid gUsbfnMsdAppFileGuid + gBuiltinLinuxKrlFileGuid gSwitchSlotsAppFileGuid gSimpleInitFileGuid diff --git a/sdm845Pkg/sdm845Pkg.dec b/sdm845Pkg/sdm845Pkg.dec index 3fca7ee..ff95c44 100644 --- a/sdm845Pkg/sdm845Pkg.dec +++ b/sdm845Pkg/sdm845Pkg.dec @@ -48,6 +48,7 @@ gUsbfnMsdAppFileGuid = { 0x1C207232, 0x4086, 0x9BE7, { 0xDB, 0x16, 0x15, 0x9D, 0x66, 0xAB, 0x46, 0x6A } } gSwitchSlotsAppFileGuid = { 0xD5BC0FB1, 0xA833, 0x4607, { 0xB7, 0xB6, 0x5E, 0xF9, 0xD1, 0x0B, 0xEE, 0xB7 } } gSimpleInitFileGuid = { 0x6D77B2BB, 0x69EB, 0x42AB, { 0xBE, 0xCF, 0x4F, 0x40, 0xC8, 0x95, 0x68, 0xC3 } } + gBuiltinLinuxKrlFileGuid = { 0x2a24787e, 0xe09c, 0x43ce, { 0xb5, 0xcf, 0xd0, 0x30, 0x66, 0xf6, 0x09, 0x2f } } [PcdsFixedAtBuild.common] # Simple FrameBuffer diff --git a/sdm845Pkg/sdm845Pkg.dsc b/sdm845Pkg/sdm845Pkg.dsc index a549f45..2e38eab 100644 --- a/sdm845Pkg/sdm845Pkg.dsc +++ b/sdm845Pkg/sdm845Pkg.dsc @@ -344,3 +344,4 @@ sdm845Pkg/Binary/845/UsbfnMsdApp/UsbfnMsdApp.inf + sdm845Pkg/Binary/845/BuiltinLinuxKrl/BuiltinLinuxKrl.inf