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-all mailing list