cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

console.c (815B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 *	DECstation PROM-based early console support.
      4 *
      5 *	Copyright (C) 2004, 2007  Maciej W. Rozycki
      6 */
      7#include <linux/console.h>
      8#include <linux/init.h>
      9#include <linux/kernel.h>
     10#include <linux/string.h>
     11
     12#include <asm/dec/prom.h>
     13
     14static void __init prom_console_write(struct console *con, const char *s,
     15				      unsigned int c)
     16{
     17	char buf[81];
     18	unsigned int chunk = sizeof(buf) - 1;
     19
     20	while (c > 0) {
     21		if (chunk > c)
     22			chunk = c;
     23		memcpy(buf, s, chunk);
     24		buf[chunk] = '\0';
     25		prom_printf("%s", buf);
     26		s += chunk;
     27		c -= chunk;
     28	}
     29}
     30
     31static struct console promcons __initdata = {
     32	.name	= "prom",
     33	.write	= prom_console_write,
     34	.flags	= CON_BOOT | CON_PRINTBUFFER,
     35	.index	= -1,
     36};
     37
     38void __init register_prom_console(void)
     39{
     40	register_console(&promcons);
     41}