2021-08-29 12:54:17

by Heinrich Schuchardt

[permalink] [raw]
Subject: [PATCH] efi/libstub: "Exiting bootservices" message

The message

"Exiting boot services and installing virtual address map...\n"

is even shown if we have efi=novamap on the command line or the firmware
does not provide EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP.

To avoid confusion we should print

"Exiting boot services...\n"

in this case.

Signed-off-by: Heinrich Schuchardt <[email protected]>
---
drivers/firmware/efi/libstub/fdt.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/firmware/efi/libstub/fdt.c b/drivers/firmware/efi/libstub/fdt.c
index 365c3a43a198..d871b1ac4d8b 100644
--- a/drivers/firmware/efi/libstub/fdt.c
+++ b/drivers/firmware/efi/libstub/fdt.c
@@ -271,7 +271,10 @@ efi_status_t allocate_new_fdt_and_exit_boot(void *handle,
return status;
}

- efi_info("Exiting boot services and installing virtual address map...\n");
+ if (efi_novamap)
+ efi_info("Exiting boot services...\n");
+ else
+ efi_info("Exiting boot services and installing virtual address map...\n");

map.map = &memory_map;
status = efi_allocate_pages(MAX_FDT_SIZE, new_fdt_addr, ULONG_MAX);
--
2.30.2


2021-08-29 12:54:28

by Ard Biesheuvel

[permalink] [raw]
Subject: Re: [PATCH] efi/libstub: "Exiting bootservices" message

On Sun, 29 Aug 2021 at 14:50, Heinrich Schuchardt
<[email protected]> wrote:
>
> The message
>
> "Exiting boot services and installing virtual address map...\n"
>
> is even shown if we have efi=novamap on the command line or the firmware
> does not provide EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP.
>
> To avoid confusion we should print
>
> "Exiting boot services...\n"
>
> in this case.
>
> Signed-off-by: Heinrich Schuchardt <[email protected]>

Hello Heinrich,

I agree with the analysis but I'd prefer to simply go with the shorter
string in all cases.

Thanks,
Ard.

> -
> drivers/firmware/efi/libstub/fdt.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/efi/libstub/fdt.c b/drivers/firmware/efi/libstub/fdt.c
> index 365c3a43a198..d871b1ac4d8b 100644
> --- a/drivers/firmware/efi/libstub/fdt.c
> +++ b/drivers/firmware/efi/libstub/fdt.c
> @@ -271,7 +271,10 @@ efi_status_t allocate_new_fdt_and_exit_boot(void *handle,
> return status;
> }
>
> - efi_info("Exiting boot services and installing virtual address map...\n");
> + if (efi_novamap)
> + efi_info("Exiting boot services...\n");
> + else
> + efi_info("Exiting boot services and installing virtual address map...\n");
>
> map.map = &memory_map;
> status = efi_allocate_pages(MAX_FDT_SIZE, new_fdt_addr, ULONG_MAX);
> --
> 2.30.2
>