summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/boot/i386/libi386/Makefile3
-rw-r--r--sys/boot/i386/libi386/bootinfo.c5
-rw-r--r--sys/boot/i386/loader/conf.c2
-rw-r--r--sys/boot/i386/loader/main.c2
4 files changed, 11 insertions, 1 deletions
diff --git a/sys/boot/i386/libi386/Makefile b/sys/boot/i386/libi386/Makefile
index 36ec6fddd0ca..94a5903a459e 100644
--- a/sys/boot/i386/libi386/Makefile
+++ b/sys/boot/i386/libi386/Makefile
@@ -8,7 +8,8 @@ INTERNALSTATICLIB= true
SRCS= aout_freebsd.c biosdisk.c biosmem.c biospnp.c biospci.c \
bootinfo.c comconsole.c devicename.c elf_freebsd.c gatea20.c \
- i386_copy.c i386_module.c time.c vidconsole.c pxe.c pxetramp.s
+ i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \
+ time.c vidconsole.c
CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../btx/lib \
-I${.CURDIR}/../../.. -I.
diff --git a/sys/boot/i386/libi386/bootinfo.c b/sys/boot/i386/libi386/bootinfo.c
index 33e2b63b195e..5000e0a42326 100644
--- a/sys/boot/i386/libi386/bootinfo.c
+++ b/sys/boot/i386/libi386/bootinfo.c
@@ -86,6 +86,9 @@ bi_getboothowto(char *kargs)
case 'd':
howto |= RB_KDB;
break;
+ case 'm':
+ howto |= RB_MUTE;
+ break;
case 'g':
howto |= RB_GDB;
break;
@@ -114,6 +117,8 @@ bi_getboothowto(char *kargs)
howto |= howto_names[i].mask;
if (!strcmp(getenv("console"), "comconsole"))
howto |= RB_SERIAL;
+ if (!strcmp(getenv("console"), "nullconsole"))
+ howto |= RB_MUTE;
return(howto);
}
diff --git a/sys/boot/i386/loader/conf.c b/sys/boot/i386/loader/conf.c
index dfdcc2c9bf9e..3e70f269f94f 100644
--- a/sys/boot/i386/loader/conf.c
+++ b/sys/boot/i386/loader/conf.c
@@ -90,10 +90,12 @@ struct module_format *module_formats[] = {
*/
extern struct console vidconsole;
extern struct console comconsole;
+extern struct console nullconsole;
struct console *consoles[] = {
&vidconsole,
&comconsole,
+ &nullconsole,
NULL
};
diff --git a/sys/boot/i386/loader/main.c b/sys/boot/i386/loader/main.c
index a078c6d0b501..09df1b2520d3 100644
--- a/sys/boot/i386/loader/main.c
+++ b/sys/boot/i386/loader/main.c
@@ -98,6 +98,8 @@ main(void)
*/
if (initial_howto & RB_SERIAL)
setenv("console", "comconsole", 1);
+ if (initial_howto & RB_MUTE)
+ setenv("console", "nullconsole", 1);
cons_probe();
/*