1 /*
2 * Copyright (C) 2011 Richard Weinberger <richrd@nod.at>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9 #include <linux/kernel.h>
10 #include <linux/console.h>
11 #include <linux/init.h>
12 #include <os.h>
13
early_console_write(struct console * con,const char * s,unsigned int n)14 static void early_console_write(struct console *con, const char *s, unsigned int n)
15 {
16 um_early_printk(s, n);
17 }
18
19 static struct console early_console_dev = {
20 .name = "earlycon",
21 .write = early_console_write,
22 .flags = CON_BOOT,
23 .index = -1,
24 };
25
setup_early_printk(char * buf)26 static int __init setup_early_printk(char *buf)
27 {
28 if (!early_console) {
29 early_console = &early_console_dev;
30 register_console(&early_console_dev);
31 }
32 return 0;
33 }
34
35 early_param("earlyprintk", setup_early_printk);
36