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
14static void early_console_write(struct console *con, const char *s, unsigned int n)
15{
16	um_early_printk(s, n);
17}
18
19static struct console early_console_dev = {
20	.name = "earlycon",
21	.write = early_console_write,
22	.flags = CON_BOOT,
23	.index = -1,
24};
25
26static 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
35early_param("earlyprintk", setup_early_printk);
36