git: 4c7a3a70e047 - main - loader.efi: fix console output after BS off
Konstantin Belousov
kostikbel at gmail.com
Fri Sep 3 01:14:22 UTC 2021
On Thu, Sep 02, 2021 at 09:50:34PM +0000, Toomas Soome wrote:
> The branch main has been updated by tsoome:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=4c7a3a70e047fbba2a3ce4a0168eaf2baddca76b
>
> commit 4c7a3a70e047fbba2a3ce4a0168eaf2baddca76b
> Author: Toomas Soome <tsoome at FreeBSD.org>
> AuthorDate: 2021-09-02 21:17:32 +0000
> Commit: Toomas Soome <tsoome at FreeBSD.org>
> CommitDate: 2021-09-02 21:48:56 +0000
>
> loader.efi: fix console output after BS off
>
> When Boot Services (BS) are switched off, we can not use BS
> functions any more. Since drawn console does implement our own
> Blt(), we can use it to draw the console.
>
> However, SimpleTextOutput protocol based console output must be
> blocked.
>
> Tested by inserting printf() after ExitBootServices() call.
>
> MFC after: 1 week
> ---
> stand/common/gfx_fb.c | 14 +++++---------
> stand/efi/libefi/efi_console.c | 22 +++++++++++++++++++++-
> 2 files changed, 26 insertions(+), 10 deletions(-)
>
> diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c
> index 45d0072bd858..99968e10d8fe 100644
> --- a/stand/common/gfx_fb.c
> +++ b/stand/common/gfx_fb.c
> @@ -751,12 +751,15 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation,
> #if defined(EFI)
> EFI_STATUS status;
> EFI_GRAPHICS_OUTPUT *gop = gfx_state.tg_private;
> + extern int boot_services_gone;
I suspect the time come to move boot_services_done declaration into
some common header for UEFI loader.
> + EFI_TPL tpl;
More information about the dev-commits-src-main
mailing list