Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/mips/dec/prom/console.c
10818 views
1
/*
2
* DECstation PROM-based early console support.
3
*
4
* Copyright (C) 2004, 2007 Maciej W. Rozycki
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version
9
* 2 of the License, or (at your option) any later version.
10
*/
11
#include <linux/console.h>
12
#include <linux/init.h>
13
#include <linux/kernel.h>
14
#include <linux/string.h>
15
16
#include <asm/dec/prom.h>
17
18
static void __init prom_console_write(struct console *con, const char *s,
19
unsigned int c)
20
{
21
char buf[81];
22
unsigned int chunk = sizeof(buf) - 1;
23
24
while (c > 0) {
25
if (chunk > c)
26
chunk = c;
27
memcpy(buf, s, chunk);
28
buf[chunk] = '\0';
29
prom_printf("%s", buf);
30
s += chunk;
31
c -= chunk;
32
}
33
}
34
35
static struct console promcons __initdata = {
36
.name = "prom",
37
.write = prom_console_write,
38
.flags = CON_BOOT | CON_PRINTBUFFER,
39
.index = -1,
40
};
41
42
void __init register_prom_console(void)
43
{
44
register_console(&promcons);
45
}
46
47