Hi, Thanks for your explanations.
Emmanuel Dreyfus <[email protected]> writes: > On Wed, Oct 15, 2025 at 01:23:30AM +0900, Ryo ONODERA wrote: >> However with this changes and probabley related commits, >> bootx64.efi prevents kernel boot for my laptops. >> Kernel boot process just stopped after loaded. > > I realize that I tested a lot on real hardware, but not > with screen and keyboard console hooked. > > The problem was that console defaulted to com0. The machine > did not crash, it just displayed elsewhere. > > The atatched patch fixes the problem. Is it fine for you? And your patch resolves my problem. Thank you very much. > -- > Emmanuel Dreyfus > [email protected] > Index: sys/arch/i386/stand/efiboot/eficons.c > =================================================================== > RCS file: /cvsroot/src/sys/arch/i386/stand/efiboot/eficons.c,v > retrieving revision 1.17 > diff -U 4 -r1.17 eficons.c > --- sys/arch/i386/stand/efiboot/eficons.c 14 Oct 2025 07:16:18 -0000 > 1.17 > +++ sys/arch/i386/stand/efiboot/eficons.c 15 Oct 2025 08:57:57 -0000 > @@ -140,8 +140,9 @@ > efi_com_putc('(') && > awaitkey(7, 0)) > goto ok; > } > + goto nocom; > ok: > break; > > case CONSDEV_COM0: > @@ -164,9 +165,9 @@ > > case CONSDEV_COM0KBD: > case CONSDEV_COM1KBD: > case CONSDEV_COM2KBD: > - case CONSDEV_COM3KBD: /* XXXmanu */ > + case CONSDEV_COM3KBD: > consname = "com"; > btinfo_console.addr = getcomaddr(unit); > > if (!switchcons) > @@ -200,12 +201,12 @@ > if (!switchcons) > break; > internal_putchar = efi_cons_putc; > kbd: > - consname = "com"; > if (!switchcons) > break; > - com_unit = unit; > + if (unit != -1) > + com_unit = unit; > internal_getchar = efi_cons_getc; > internal_iskey = efi_cons_iskey; > internal_waitforinputevent = efi_cons_waitforinputevent; > memset(keybuf, 0, sizeof(keybuf)); -- Ryo ONODERA // [email protected] PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
