From 43593ef75db66d35310aac0a5d2617a80c2431fd Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Tue, 11 Jan 2005 03:13:27 -0800 Subject: [PATCH] [PATCH] UML: Make a common misconfiguration impossible This patch makes UML produce error messages instead of silently exiting when one of several configuration mistakes are made. FD_CHAN is now mandatory so that people don't turn it off and complain about no boot messages. Some printks were turned into printfs in the tt mode gdb code so that they appear on the screen. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/um/Kconfig_char | 11 +---------- arch/um/defconfig | 3 +-- arch/um/drivers/Makefile | 3 +-- arch/um/drivers/chan_kern.c | 4 ---- arch/um/kernel/tt/gdb.c | 8 ++++---- 5 files changed, 7 insertions(+), 22 deletions(-) diff --git a/arch/um/Kconfig_char b/arch/um/Kconfig_char index 7a933d1b5d5b..fa34a9698586 100644 --- a/arch/um/Kconfig_char +++ b/arch/um/Kconfig_char @@ -23,15 +23,6 @@ config SSL Unless you have a specific reason for disabling this, say Y. -config FD_CHAN - bool "file descriptor channel support" - help - This option enables support for attaching UML consoles and serial - lines to already set up file descriptors. Generally, the main - console is attached to file descriptors 0 and 1 (stdin and stdout), - so it would be wise to leave this enabled unless you intend to - attach it to some other host device. - config NULL_CHAN bool "null channel support" help @@ -80,7 +71,7 @@ config XTERM_CHAN config NOCONFIG_CHAN bool - default !(XTERM_CHAN && TTY_CHAN && PTY_CHAN && PORT_CHAN && FD_CHAN && NULL_CHAN) + default !(XTERM_CHAN && TTY_CHAN && PTY_CHAN && PORT_CHAN && NULL_CHAN) config CON_ZERO_CHAN string "Default main console channel initialization" diff --git a/arch/um/defconfig b/arch/um/defconfig index 515581109029..66f902a9907b 100644 --- a/arch/um/defconfig +++ b/arch/um/defconfig @@ -92,13 +92,12 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_STDERR_CONSOLE=y CONFIG_STDIO_CONSOLE=y CONFIG_SSL=y -CONFIG_FD_CHAN=y CONFIG_NULL_CHAN=y CONFIG_PORT_CHAN=y CONFIG_PTY_CHAN=y CONFIG_TTY_CHAN=y CONFIG_XTERM_CHAN=y -# CONFIG_NOCONFIG_CHAN is not set +CONFIG_NOCONFIG_CHAN=y CONFIG_CON_ZERO_CHAN="fd:0,fd:1" CONFIG_CON_CHAN="xterm" CONFIG_SSL_CHAN="pty" diff --git a/arch/um/drivers/Makefile b/arch/um/drivers/Makefile index 3a3ac38017f4..e94da95ffdcf 100644 --- a/arch/um/drivers/Makefile +++ b/arch/um/drivers/Makefile @@ -20,7 +20,7 @@ ubd-objs := ubd_kern.o ubd_user.o port-objs := port_kern.o port_user.o harddog-objs := harddog_kern.o harddog_user.o -obj-y := stdio_console.o $(CHAN_OBJS) +obj-y := stdio_console.o fd.o $(CHAN_OBJS) obj-$(CONFIG_SSL) += ssl.o obj-$(CONFIG_STDERR_CONSOLE) += stderr_console.o @@ -34,7 +34,6 @@ obj-$(CONFIG_MCONSOLE) += mconsole.o obj-$(CONFIG_MMAPPER) += mmapper_kern.o obj-$(CONFIG_BLK_DEV_UBD) += ubd.o obj-$(CONFIG_HOSTAUDIO) += hostaudio.o -obj-$(CONFIG_FD_CHAN) += fd.o obj-$(CONFIG_NULL_CHAN) += null.o obj-$(CONFIG_PORT_CHAN) += port.o obj-$(CONFIG_PTY_CHAN) += pty.o diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c index bf4bb736e6af..f30ae1b0bcc0 100644 --- a/arch/um/drivers/chan_kern.c +++ b/arch/um/drivers/chan_kern.c @@ -399,11 +399,7 @@ struct chan_type { }; struct chan_type chan_table[] = { -#ifdef CONFIG_FD_CHAN { "fd", &fd_ops }, -#else - { "fd", ¬_configged_ops }, -#endif #ifdef CONFIG_NULL_CHAN { "null", &null_ops }, diff --git a/arch/um/kernel/tt/gdb.c b/arch/um/kernel/tt/gdb.c index 10db6d6ab7ea..22cbdbffbe3e 100644 --- a/arch/um/kernel/tt/gdb.c +++ b/arch/um/kernel/tt/gdb.c @@ -162,7 +162,7 @@ int gdb_remove(char *unused) void signal_usr1(int sig) { if(debugger_pid != -1){ - printk(UM_KERN_ERR "The debugger is already running\n"); + printf("The debugger is already running\n"); return; } debugger_pid = start_debugger(linux_prog, 0, 0, &debugger_fd); @@ -228,19 +228,19 @@ int debugger_signal(int status, pid_t pid){ return(0); } void child_signal(pid_t pid, int status){ } int init_ptrace_proxy(int idle_pid, int startup, int stop) { - printk(UM_KERN_ERR "debug requested when CONFIG_PT_PROXY is off\n"); + printf("debug requested when CONFIG_PT_PROXY is off\n"); kill_child_dead(idle_pid); exit(1); } void signal_usr1(int sig) { - printk(UM_KERN_ERR "debug requested when CONFIG_PT_PROXY is off\n"); + printf("debug requested when CONFIG_PT_PROXY is off\n"); } int attach_debugger(int idle_pid, int pid, int stop) { - printk(UM_KERN_ERR "attach_debugger called when CONFIG_PT_PROXY " + printf("attach_debugger called when CONFIG_PT_PROXY " "is off\n"); return(-1); } -- 2.39.5