Re: git: 56970c3c4b0b - main - loader: Prefer comma-separated list of values for "console"

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.stable,gmane.os.freebsd.current.scm
Message-ID <[email protected]>
On 1/29/26 08:31, Michael Osipov wrote:
> On 2026-01-29 17:22, Mark Millard wrote:
>> On 1/29/26 00:45, Michael Osipov wrote:
>>> The branch main has been updated by michaelo:
>>>
>>> URL: https://deu01.safelinks.protection.outlook.com/?
>>> url=https%3A%2F%2Fcgit.freebsd.org%2Fsrc%2Fcommit%2F%3Fid%3D56970c3c4b0bc61d972837661a31cc2b9e8e8d7c&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005625974477%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=PsvT9MHa5qWyE2CBQGLbDG30GT8AWpltNOu3JrYO%2BK4%3D&reserved=0
>>>
>>> commit 56970c3c4b0bc61d972837661a31cc2b9e8e8d7c
>>> Author:     Michael Osipov <[email protected]>
>>> AuthorDate: 2026-01-28 09:02:33 +0000
>>> Commit:     Michael Osipov <[email protected]>
>>> CommitDate: 2026-01-29 08:44:45 +0000
>>>
>>>      loader: Prefer comma-separated list of values for "console"
>>>           PR:             292595
>>>      Reviewed by:    imp
>>>      MFC after:      1 week
>>>      Differential Revision:  https://
>>> deu01.safelinks.protection.outlook.com/?
>>> url=https%3A%2F%2Freviews.freebsd.org%2FD54923&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005625994409%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=fqqWtXQep%2FyB%2BinUOiod%2FO%2BqDOOQ4UC5O4KzvM36C7Q%3D&reserved=0
>>> ---
>>>   release/tools/azure.conf     | 2 +-
>>>   release/tools/openstack.conf | 2 +-
>>>   stand/efi/loader/main.c      | 4 ++--
>>>   stand/i386/loader/main.c     | 4 ++--
>>>   4 files changed, 6 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/release/tools/azure.conf b/release/tools/azure.conf
>>> index 981e40566a1c..4fa6ba4d924d 100644
>>> --- a/release/tools/azure.conf
>>> +++ b/release/tools/azure.conf
>>> @@ -59,7 +59,7 @@ autoboot_delay="-1"
>>>   beastie_disable="YES"
>>>   loader_logo="none"
>>>   hw.memtest.tests="0"
>>> -console="comconsole efi vidconsole"
>>> +console="comconsole,efi,vidconsole"
>>>   comconsole_speed="115200"
>>>   boot_multicons="YES"
>>>   boot_serial="YES"
>>> diff --git a/release/tools/openstack.conf b/release/tools/openstack.conf
>>> index 9ce65a75c3c5..6cfb02bab9af 100644
>>> --- a/release/tools/openstack.conf
>>> +++ b/release/tools/openstack.conf
>>> @@ -33,7 +33,7 @@ vm_extra_pre_umount() {
>>>       echo 'autoboot_delay="-1"' >> ${DESTDIR}/boot/loader.conf
>>>       echo 'beastie_disable="YES"' >> ${DESTDIR}/boot/loader.conf
>>>       echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf
>>> -    echo 'console="comconsole vidconsole"' >> ${DESTDIR}/boot/
>>> loader.conf
>>> +    echo 'console="comconsole,vidconsole"' >> ${DESTDIR}/boot/
>>> loader.conf
>>>       echo 'comconsole_speed="115200"' >> ${DESTDIR}/boot/loader.conf
>>>         # Reboot quickly, Don't wait at the panic screen
>>> diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c
>>> index 22dbd10a0f37..7ff2cf188509 100644
>>> --- a/stand/efi/loader/main.c
>>> +++ b/stand/efi/loader/main.c
>>> @@ -1316,10 +1316,10 @@ main(int argc, CHAR16 *argv[])
>>>                   setenv("console", "comconsole", 1);
>>>                   break;
>>>               case VID_SER_BOTH:
>>> -                setenv("console", "efi comconsole", 1);
>>> +                setenv("console", "efi,comconsole", 1);
>>>                   break;
>>>               case SER_VID_BOTH:
>>> -                setenv("console", "comconsole efi", 1);
>>> +                setenv("console", "comconsole,efi", 1);
>>>                   break;
>>>                   /* case VIDEO_ONLY can't happen -- it's the first
>>> if above */
>>>               }
>>
>> [Note: I CC'd Warner just because I'm not sure anyone else knows for
>> sure about this area's complicated history and issues.]
>>
>>
>> This looks possibly wrong to me for efi for all but amd64 --but for the
>> references to comconsole, not the space vs. comma issue.
>>
>>
>> stand: efi create eficom console device.
>> (2023-05-11)
>>
>> QUOTE of <https://deu01.safelinks.protection.outlook.com/?
>> url=https%3A%2F%2Fcgit.freebsd.org%2Fsrc%2Fcommit%2Fstand%2Fefi%3Fid%3D2f131435bc22&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005626005673%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=b7UCUYk%2BJZ4wfJpjvdpv3zW7Vjuep0reJkcNgpl%2B3Gk%3D&reserved=0>
>> console=comconsole talks to the hardware directly. This is available
>> only on amd64. It is not available anywhere else (and so requires
>> changes for people doing comconsole on aarch64)
>>
>> console=eficom talks to the console via EFI protocols.  It's available
>> on amd64, aarch64 and riscv64. It's the first port that we find, though
>> it can be overriden by efi_com_port (which should be set to the UID of
>> the serial port, not the I/O port, despite the name). devinfo -v
>> will give the UID to uartX mapping.
>>
>> This is an incompatible change for HYPER-V on amd64. It only works with
>> eficom console, so you'll need to change your configuration in
>> loader.conf. No compatibility hack will ever be provided for this (since
>> it requires renamig, which the loader cannot reliably do).
>>
>> It's also an incompatible change for aarch64. comconsole will need to
>> change to eficom. There might be a comconsole "shim" for this.
>> END QUOTE
>>
>>
>> stand: add comconsole backwards compatibility shim for aarch64
>> (2023-05-11)
>>
>> QUOTE of <https://deu01.safelinks.protection.outlook.com/?
>> url=https%3A%2F%2Fcgit.freebsd.org%2Fsrc%2Fcommit%2Fstand%2Fefi%3Fid%3Df93416d67743&data=05%7C02%7Cmichael.osipov%40innomotics.com%7C599792c98cac445815a108de5f529e81%7C698c6ffb74e34a84be68f22d8d3201a3%7C0%7C0%7C639053005626016462%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=%2BcXcfrBSDtWBYluSYlONTo%2FzYP761LUbk5mfxjQ3Brg%3D&reserved=0>
>> Add a compat shim for the "comconsole" name so that people with a
>> "console=comconsole" in their loader.conf on aarch64 will continue to
>> work (though with a warning).
>>
>> This is only aarch64: it will never be there for amd64 (where comconsole
>> always means talk to the hardware directly). To do that is too hard.
>> END QUOTE
>>
>>
>> But that last (f93416d67743) is only for:
>>
>> +#if defined(__aarch64__) && __FreeBSD_version < 1500000
>> +/* Hack for backward compatibility -- but only for a while */
>> +extern struct console comconsole;
>> +#endif
>> . . .
>> +#if defined(__aarch64__) && __FreeBSD_version < 1500000
>> +    &comconsole,
>> +#endif
>> . . . (and so on) . . .
>>
>> So, as of FreeBSD 15+, aarch64 does not have comconsole as far as I can
>> tell.
>>
>>
>> It looks to me like for FreeBSD 15+ eficom should be referenced mostly,
>> instead of comconsole, comconsole being only for amd64.
>>
>> For FreeBSD 14.3+ and stable/14 it may be that comconsole should be used
>> for amd64 and aarch64. (stable/13 does not have the commits at all.)
>>
>>
>> There is also a prior:
>>
>>         if (efi_has_gop())
>>             how |= RB_MULTIPLE;
>>         else
>>             how |= RB_MULTIPLE | RB_SERIAL;
>>         setenv("console", "efi,comconsole", 1);
>>
>> and:
>>
>> #if defined(__riscv)
>>     /*
>>      * This workaround likely is papering over a real issue
>>      */
>>     if ((uhowto & RB_SERIAL) != 0)
>>         setenv("console", "comconsole", 1);
>> #endif
>>
>> that may well both be wrong for stand/efi/loader/main.c too.
> 
> Hi Mark,
> 
> thanks for raising. I do not fully understand the point you are trying
> to make. This change is a spinoff from https://reviews.freebsd.org/
> D54843 where we identified that comma is the preferred separator, but
> space is allowed as well. For consistency reasons I have updated
> everything to comma. I didn't change the actual values.
> 
> Can you clarify?
> 
> Michael
> 
> 

Sounds like you were not the right person to reference for this and you
might not be involved if anything does happen related to my
notes/questions. Also: not tied to what you report for the context for
your change. I was just prompted to think of the issue by the text
presented in the commit. I had not been tracking the prior stages of
your activity.

I expect that my basic questions about the use of comconsole in
stand/efi/loader/main.c are still appropriate, even if you would not be
involved in answering them.

I think I'll try to move this to freebsd-stable@ since it is off topic
to your purpose in your commit. Future replies could omit:
dev-commits-src-main@


-- 
===
Mark Millard
marklmi at yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.