Skip to content
This repository was archived by the owner on Aug 13, 2025. It is now read-only.

Commit bcdc76a

Browse files
committed
FastbootMenu: print lovely logo when mainline optimization is enabled
Thank you for everything, you are wonderful. Change-Id: Id980aac9101ba7efd2cf720cc49579feb2dc3755 Signed-off-by: Alexander Martinz <[email protected]>
1 parent 91d804e commit bcdc76a

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed

QcomModulePkg/Include/Library/DrawUI.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ typedef enum {
9393
BGR_YELLOW,
9494
BGR_RED,
9595
BGR_GREEN,
96+
BGR_GREEN_DARK,
9697
BGR_BLUE,
9798
BGR_CYAN,
9899
BGR_SILVER,

QcomModulePkg/Library/BootLib/DrawUI.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ STATIC EFI_GRAPHICS_OUTPUT_BLT_PIXEL mColors[] = {
5656
[BGR_YELLOW] = {0x00, 0xff, 0xff, 0x00},
5757
[BGR_RED] = {0x00, 0x00, 0x98, 0x00},
5858
[BGR_GREEN] = {0x00, 0xff, 0x00, 0x00},
59+
[BGR_GREEN_DARK] = {0x00, 0x99, 0x00, 0x00},
5960
[BGR_BLUE] = {0xff, 0x00, 0x00, 0x00},
6061
[BGR_CYAN] = {0xff, 0xff, 0x00, 0x00},
6162
[BGR_SILVER] = {0xc0, 0xc0, 0xc0, 0x00},

QcomModulePkg/Library/BootLib/FastbootMenu.c

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ STATIC MENU_MSG_INFO mFastbootOptionTitle[] = {
102102
#define FASTBOOT_MSG_INDEX_SECURE_BOOT 10
103103
#define FASTBOOT_MSG_INDEX_DEVICE_STATE_UNLOCKED 11
104104
#define FASTBOOT_MSG_INDEX_DEVICE_STATE_LOCKED 12
105+
#define FASTBOOT_MSG_INDEX_MAINLINE 13
105106

106107
STATIC MENU_MSG_INFO mFastbootCommonMsgInfo[] = {
107108
{{"\nPress volume key to select, "
@@ -196,6 +197,26 @@ STATIC MENU_MSG_INFO mFastbootCommonMsgInfo[] = {
196197
COMMON,
197198
0,
198199
NOACTION},
200+
{{"\n"},
201+
COMMON_FACTOR,
202+
BGR_GREEN_DARK,
203+
BGR_BLACK,
204+
COMMON,
205+
0,
206+
NOACTION},
207+
};
208+
209+
STATIC CONST CHAR8 MAINLINE_LOGO_PMOS[][MAX_RSP_SIZE] = {
210+
" /\\\n",
211+
" / \\\n",
212+
" / \\\n",
213+
" \\__ \\\n",
214+
" /\\__ \\ \\\n",
215+
" / / \\ _\\\n",
216+
" / / \\/ __\n",
217+
" / / ______/ \\\n",
218+
" / \\ \\ \\\n",
219+
"/_____/ /__________\\\n",
199220
};
200221

201222
/**
@@ -264,6 +285,7 @@ FastbootMenuShowScreen (OPTION_MENU_INFO *OptionMenuInfo)
264285
UINT32 OptionItem = 0;
265286
UINT32 Height = 0;
266287
UINT32 i = 0;
288+
UINT32 j = 0;
267289
CHAR8 StrTemp[MAX_RSP_SIZE] = "";
268290
CHAR8 StrTemp1[MAX_RSP_SIZE] = "";
269291
CHAR8 VersionTemp[MAX_VERSION_LEN] = "";
@@ -374,6 +396,17 @@ FastbootMenuShowScreen (OPTION_MENU_INFO *OptionMenuInfo)
374396
if (IsUnlocked ())
375397
continue;
376398
break;
399+
case FASTBOOT_MSG_INDEX_MAINLINE:
400+
/* Print random mainline logo (right now only pmOS though) */
401+
if (!IsMainlineOptimizationEnabled ())
402+
continue;
403+
404+
for (j = 0; j < ARRAY_SIZE (MAINLINE_LOGO_PMOS); j++) {
405+
AsciiStrnCatS (
406+
mFastbootCommonMsgInfo[i].Msg, sizeof (mFastbootCommonMsgInfo[i].Msg),
407+
MAINLINE_LOGO_PMOS[j], sizeof (MAINLINE_LOGO_PMOS[j]));
408+
}
409+
break;
377410
}
378411

379412
mFastbootCommonMsgInfo[i].Location = Location;

0 commit comments

Comments
 (0)