git: 0c839497c174 - stable/13 - loader.efi: There are systems without ConOut, also use ConOutDev

Toomas Soome tsoome at me.com
Fri Feb 5 06:38:44 UTC 2021



> On 5. Feb 2021, at 01:56, Warner Losh <imp at bsdimp.com> wrote:
> 
> 
> And why the instaMFC? Changes are supposed to cook force days before merging... I have questions about the wisdom of this change...
> 
> Warner 
> 

Reason is in PR. There is someone with the system without ConOut but ConOutDev is set. Instead of falling back to arbitrary device (which in this case was totally wrong choice), we can try the possible devices list. We do not change the ConOut parsing.

If it would appear, there are systems with unusable devices listed in ConOutDev, then we need to think how to handle such case.

Thanks,
Toomas

>> On Thu, Feb 4, 2021, 2:34 PM Toomas Soome <tsoome at freebsd.org> wrote:
>> The branch stable/13 has been updated by tsoome:
>> 
>> URL: https://cgit.FreeBSD.org/src/commit/?id=0c839497c174e961fc71f7d3329d05b10ec5525b
>> 
>> commit 0c839497c174e961fc71f7d3329d05b10ec5525b
>> Author:     Toomas Soome <tsoome at FreeBSD.org>
>> AuthorDate: 2021-02-04 20:49:02 +0000
>> Commit:     Toomas Soome <tsoome at FreeBSD.org>
>> CommitDate: 2021-02-04 21:33:15 +0000
>> 
>>     loader.efi: There are systems without ConOut, also use ConOutDev
>> 
>>     Conout does contian the default output device name.
>>     ConOutDev does contain all possible output device names, so we can
>>     use it as fallback, when there is no ConOut.
>> 
>>     PR: 253253
>> 
>>     (cherry picked from commit 2bd4ff2d8911009283e4e615ca4aad35a845f48b)
>> ---
>>  stand/efi/loader/main.c | 2 ++
>>  1 file changed, 2 insertions(+)
>> 
>> diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c
>> index ca41cd4a2610..32b278950745 100644
>> --- a/stand/efi/loader/main.c
>> +++ b/stand/efi/loader/main.c
>> @@ -735,6 +735,8 @@ parse_uefi_con_out(void)
>>         how = 0;
>>         sz = sizeof(buf);
>>         rv = efi_global_getenv("ConOut", buf, &sz);
>> +       if (rv != EFI_SUCCESS)
>> +               rv = efi_global_getenv("ConOutDev", buf, &sz);
>>         if (rv != EFI_SUCCESS) {
>>                 /* If we don't have any ConOut default to serial */
>>                 how = RB_SERIAL;


More information about the dev-commits-src-all mailing list