Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src



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?

-- 
Emmanuel Dreyfus
manu%netbsd.org@localhost
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));


Home | Main Index | Thread Index | Old Index