efi loader: Address two nits with recent graphics changes

- We should be setting a known graphics mode on conout, but we aren't.
- We shouldn't be setting gop mode if we didn't find a good resolution to
  set, but we were. This made efi_max_resolution=1x1 effectively worthless,
  since it would always set gop mode 0 if nothing else.
This commit is contained in:
Kyle Evans 2018-04-19 03:31:41 +00:00
parent c343fa81a8
commit 807dbf2b94
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=332751
2 changed files with 10 additions and 6 deletions

View File

@ -415,6 +415,8 @@ efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE *Xsystab)
*/
conout = ST->ConOut;
conout->Reset(conout, TRUE);
/* Explicitly set conout to mode 0, 80x25 */
conout->SetMode(conout, 0);
conout->EnableCursor(conout, TRUE);
conout->ClearScreen(conout);

View File

@ -577,12 +577,14 @@ gop_autoresize(EFI_GRAPHICS_OUTPUT *gop)
}
}
status = gop->SetMode(gop, best_mode);
if (EFI_ERROR(status)) {
snprintf(command_errbuf, sizeof(command_errbuf),
"gop_autoresize: Unable to set mode to %u (error=%lu)",
mode, EFI_ERROR_CODE(status));
return (CMD_ERROR);
if (maxdim != 0) {
status = gop->SetMode(gop, best_mode);
if (EFI_ERROR(status)) {
snprintf(command_errbuf, sizeof(command_errbuf),
"gop_autoresize: Unable to set mode to %u (error=%lu)",
mode, EFI_ERROR_CODE(status));
return (CMD_ERROR);
}
}
return (CMD_OK);
}