浏览代码

[SPARC64]: Recognize "virtual-console" as input and output console device.

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller 19 年之前
父节点
当前提交
1a7a242c89
共有 4 个文件被更改,包括 15 次插入0 次删除
  1. 5 0
      arch/sparc64/kernel/setup.c
  2. 6 0
      arch/sparc64/prom/console.c
  3. 2 0
      include/asm-sparc/oplib.h
  4. 2 0
      include/asm-sparc64/oplib.h

+ 5 - 0
arch/sparc64/kernel/setup.c

@@ -405,6 +405,11 @@ static int __init set_preferred_console(void)
 		serial_console = 2;
 		serial_console = 2;
 	} else if (idev == PROMDEV_IRSC && odev == PROMDEV_ORSC) {
 	} else if (idev == PROMDEV_IRSC && odev == PROMDEV_ORSC) {
 		serial_console = 3;
 		serial_console = 3;
+	} else if (idev == PROMDEV_IVCONS && odev == PROMDEV_OVCONS) {
+		/* sunhv_console_init() doesn't check the serial_console
+		 * value anyways...
+		 */
+		serial_console = 4;
 	} else {
 	} else {
 		prom_printf("Inconsistent console: "
 		prom_printf("Inconsistent console: "
 			    "input %d, output %d\n",
 			    "input %d, output %d\n",

+ 6 - 0
arch/sparc64/prom/console.c

@@ -102,6 +102,9 @@ prom_query_input_device(void)
 	if (!strncmp (propb, "rsc", 3))
 	if (!strncmp (propb, "rsc", 3))
 		return PROMDEV_IRSC;
 		return PROMDEV_IRSC;
 
 
+	if (!strncmp (propb, "virtual-console", 3))
+		return PROMDEV_IVCONS;
+
 	if (strncmp (propb, "tty", 3) || !propb[3])
 	if (strncmp (propb, "tty", 3) || !propb[3])
 		return PROMDEV_I_UNK;
 		return PROMDEV_I_UNK;
 
 
@@ -143,6 +146,9 @@ prom_query_output_device(void)
 	if (!strncmp (propb, "rsc", 3))
 	if (!strncmp (propb, "rsc", 3))
 		return PROMDEV_ORSC;
 		return PROMDEV_ORSC;
 
 
+	if (!strncmp (propb, "virtual-console", 3))
+		return PROMDEV_OVCONS;
+
 	if (strncmp (propb, "tty", 3) || !propb[3])
 	if (strncmp (propb, "tty", 3) || !propb[3])
 		return PROMDEV_O_UNK;
 		return PROMDEV_O_UNK;
 
 

+ 2 - 0
include/asm-sparc/oplib.h

@@ -165,6 +165,7 @@ enum prom_input_device {
 	PROMDEV_ITTYA,			/* input from ttya */
 	PROMDEV_ITTYA,			/* input from ttya */
 	PROMDEV_ITTYB,			/* input from ttyb */
 	PROMDEV_ITTYB,			/* input from ttyb */
 	PROMDEV_IRSC,			/* input from rsc */
 	PROMDEV_IRSC,			/* input from rsc */
+	PROMDEV_IVCONS,			/* input from virtual-console */
 	PROMDEV_I_UNK,
 	PROMDEV_I_UNK,
 };
 };
 
 
@@ -177,6 +178,7 @@ enum prom_output_device {
 	PROMDEV_OTTYA,			/* to ttya */
 	PROMDEV_OTTYA,			/* to ttya */
 	PROMDEV_OTTYB,			/* to ttyb */
 	PROMDEV_OTTYB,			/* to ttyb */
 	PROMDEV_ORSC,			/* to rsc */
 	PROMDEV_ORSC,			/* to rsc */
+	PROMDEV_OVCONS,			/* to virtual-console */
 	PROMDEV_O_UNK,
 	PROMDEV_O_UNK,
 };
 };
 
 

+ 2 - 0
include/asm-sparc64/oplib.h

@@ -167,6 +167,7 @@ enum prom_input_device {
 	PROMDEV_ITTYA,			/* input from ttya */
 	PROMDEV_ITTYA,			/* input from ttya */
 	PROMDEV_ITTYB,			/* input from ttyb */
 	PROMDEV_ITTYB,			/* input from ttyb */
 	PROMDEV_IRSC,			/* input from rsc */
 	PROMDEV_IRSC,			/* input from rsc */
+	PROMDEV_IVCONS,			/* input from virtual-console */
 	PROMDEV_I_UNK,
 	PROMDEV_I_UNK,
 };
 };
 
 
@@ -179,6 +180,7 @@ enum prom_output_device {
 	PROMDEV_OTTYA,			/* to ttya */
 	PROMDEV_OTTYA,			/* to ttya */
 	PROMDEV_OTTYB,			/* to ttyb */
 	PROMDEV_OTTYB,			/* to ttyb */
 	PROMDEV_ORSC,			/* to rsc */
 	PROMDEV_ORSC,			/* to rsc */
+	PROMDEV_OVCONS,			/* to virtual-console */
 	PROMDEV_O_UNK,
 	PROMDEV_O_UNK,
 };
 };