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 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 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