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

early_printk.c (955B)


      1/*
      2 * This file is subject to the terms and conditions of the GNU General Public
      3 * License.  See the file "COPYING" in the main directory of this archive
      4 * for more details.
      5 *
      6 * Copyright (C) 2002, 2003, 06, 07 Ralf Baechle (ralf@linux-mips.org)
      7 * Copyright (C) 2007 MIPS Technologies, Inc.
      8 *   written by Ralf Baechle (ralf@linux-mips.org)
      9 */
     10#include <linux/kernel.h>
     11#include <linux/console.h>
     12#include <linux/printk.h>
     13#include <linux/init.h>
     14
     15#include <asm/setup.h>
     16
     17static void early_console_write(struct console *con, const char *s, unsigned n)
     18{
     19	while (n-- && *s) {
     20		if (*s == '\n')
     21			prom_putchar('\r');
     22		prom_putchar(*s);
     23		s++;
     24	}
     25}
     26
     27static struct console early_console_prom = {
     28	.name	= "early",
     29	.write	= early_console_write,
     30	.flags	= CON_PRINTBUFFER | CON_BOOT,
     31	.index	= -1
     32};
     33
     34void __init setup_early_printk(void)
     35{
     36	if (early_console)
     37		return;
     38	early_console = &early_console_prom;
     39
     40	register_console(&early_console_prom);
     41}