Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2992c5a

Browse files
committed
Merged PR 714: Fixed boot policy cannot iterate through all boot options in the list
Fixed boot policy cannot iterate through all boot options in the list
1 parentd324a2a commit2992c5a

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

‎PcBdsPkg/MsBootPolicy/MsBootPolicy.c‎

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,7 @@ MsBootPolicyEntry(
533533
INEFI_SYSTEM_TABLE*SystemTable
534534
) {
535535
EFI_STATUSStatus;
536+
EFI_STATUSGraphicStatus;
536537
BOOT_SEQUENCE*BootSequence;// Pointer to array of boot sequence entries
537538
UINTNIndex;
538539
EFI_LOADED_IMAGE_PROTOCOL*ImageInfo=NULL;
@@ -595,9 +596,9 @@ MsBootPolicyEntry(
595596
switch (BootSequence[Index]) {
596597
caseMsBootPXE4:
597598
StartNetworking ();
598-
Status=SetGraphicsConsoleMode(GCM_LOW_RES);
599-
if (EFI_ERROR(Status)!= FALSE) {
600-
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,Status));
599+
GraphicStatus=SetGraphicsConsoleMode(GCM_LOW_RES);
600+
if (EFI_ERROR(GraphicStatus)!= FALSE) {
601+
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,GraphicStatus));
601602
}
602603
Status=SelectAndBootDevice(&gEfiLoadFileProtocolGuid,FilterOnlyIPv4);
603604
break;
@@ -611,26 +612,26 @@ MsBootPolicyEntry(
611612
}
612613
if (EnableIPv6) {
613614
StartNetworking();
614-
Status=SetGraphicsConsoleMode(GCM_LOW_RES);
615-
if (EFI_ERROR(Status)!= FALSE) {
616-
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,Status));
615+
GraphicStatus=SetGraphicsConsoleMode(GCM_LOW_RES);
616+
if (EFI_ERROR(GraphicStatus)!= FALSE) {
617+
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,GraphicStatus));
617618
}
618619
Status=SelectAndBootDevice(&gEfiLoadFileProtocolGuid,FilterOnlyIPv6);
619620
}else {
620621
Status=EFI_DEVICE_ERROR;
621622
}
622623
break;
623624
caseMsBootHDD:
624-
Status=SetGraphicsConsoleMode(GCM_NATIVE_RES);
625-
if (EFI_ERROR(Status)!= FALSE) {
626-
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,Status));
625+
GraphicStatus=SetGraphicsConsoleMode(GCM_NATIVE_RES);
626+
if (EFI_ERROR(GraphicStatus)!= FALSE) {
627+
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,GraphicStatus));
627628
}
628629
Status=SelectAndBootDevice(&gEfiSimpleFileSystemProtocolGuid,FilterNoUSB);
629630
break;
630631
caseMsBootUSB:
631-
Status=SetGraphicsConsoleMode(GCM_NATIVE_RES);
632-
if (EFI_ERROR(Status)!= FALSE) {
633-
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,Status));
632+
GraphicStatus=SetGraphicsConsoleMode(GCM_NATIVE_RES);
633+
if (EFI_ERROR(GraphicStatus)!= FALSE) {
634+
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,GraphicStatus));
634635
}
635636
Status=SelectAndBootDevice(&gEfiSimpleFileSystemProtocolGuid,FilterOnlyUSB);
636637
if (Status==EFI_NOT_FOUND)
@@ -661,14 +662,16 @@ MsBootPolicyEntry(
661662
}
662663
Index++;
663664
}
664-
Status=SetGraphicsConsoleMode(GCM_NATIVE_RES);
665-
if (EFI_ERROR(Status)!= FALSE) {
666-
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,Status));
665+
666+
// Need to populate GraphicStatus here, otherwise logo function return value will override boot result
667+
GraphicStatus=SetGraphicsConsoleMode(GCM_NATIVE_RES);
668+
if (EFI_ERROR(GraphicStatus)!= FALSE) {
669+
DEBUG((DEBUG_ERROR,"%a Unable to set console mode - %r\n",__FUNCTION__,GraphicStatus));
667670
gotoDone;
668671
}
669-
Status=DisplayBootGraphic(BG_SYSTEM_LOGO);
670-
if (EFI_ERROR(Status)!= FALSE) {
671-
DEBUG((DEBUG_ERROR,"%a Unable to set graphics - %r\n",__FUNCTION__,Status));
672+
GraphicStatus=DisplayBootGraphic(BG_SYSTEM_LOGO);
673+
if (EFI_ERROR(GraphicStatus)!= FALSE) {
674+
DEBUG((DEBUG_ERROR,"%a Unable to set graphics - %r\n",__FUNCTION__,GraphicStatus));
672675
}
673676

674677
Done:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp