Index: stand/efi/loader/arch/arm/Makefile.inc =================================================================== --- stand/efi/loader/arch/arm/Makefile.inc +++ stand/efi/loader/arch/arm/Makefile.inc @@ -4,4 +4,8 @@ efiserialio.c \ start.S +.PATH: ${BOOTSRC}/i386/libi386 +SRCS+= nullconsole.c \ + spinconsole.c + HAVE_FDT=yes Index: stand/efi/loader/arch/arm64/Makefile.inc =================================================================== --- stand/efi/loader/arch/arm64/Makefile.inc +++ stand/efi/loader/arch/arm64/Makefile.inc @@ -6,6 +6,10 @@ efiserialio.c \ start.S +.PATH: ${BOOTSRC}/i386/libi386 +SRCS+= nullconsole.c \ + spinconsole.c + .PATH: ${BOOTSRC}/arm64/libarm64 CFLAGS+=-I${BOOTSRC}/arm64/libarm64 SRCS+= cache.c Index: stand/efi/loader/arch/riscv/Makefile.inc =================================================================== --- stand/efi/loader/arch/riscv/Makefile.inc +++ stand/efi/loader/arch/riscv/Makefile.inc @@ -5,3 +5,7 @@ SRCS+= exec.c \ efiserialio.c \ start.S + +.PATH: ${BOOTSRC}/i386/libi386 +SRCS+= nullconsole.c \ + spinconsole.c Index: stand/efi/loader/conf.c =================================================================== --- stand/efi/loader/conf.c +++ stand/efi/loader/conf.c @@ -74,17 +74,13 @@ extern struct console efi_console; extern struct console comconsole; -#if defined(__amd64__) || defined(__i386__) extern struct console nullconsole; extern struct console spinconsole; -#endif struct console *consoles[] = { &efi_console, &comconsole, -#if defined(__amd64__) || defined(__i386__) &nullconsole, &spinconsole, -#endif NULL }; Index: stand/efi/loader/main.c =================================================================== --- stand/efi/loader/main.c +++ stand/efi/loader/main.c @@ -697,7 +697,7 @@ * method is flawed for non-ASCII characters). */ howto = 0; - for (i = 1; i < argc; i++) { + for (i = 0; i < argc; i++) { cpy16to8(argv[i], var, sizeof(var)); howto |= boot_parse_arg(var); } @@ -928,6 +928,11 @@ if ((uhowto & RB_SERIAL) != 0) setenv("console", "comconsole", 1); #endif + + howto = parse_args(argc, argv); + if ((howto & RB_MUTE) != 0) + setenv("console", "nullconsole", 1); + cons_probe(); /* Init the time source */ @@ -957,7 +962,6 @@ * args (eg -h) or via the UEFI ConOut variable. */ has_kbd = has_keyboard(); - howto = parse_args(argc, argv); if (!has_kbd && (howto & RB_PROBE)) howto |= RB_SERIAL | RB_MULTIPLE; howto &= ~RB_PROBE;