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

arc_con.c (1055B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * Wrap-around code for a console using the
      4 * ARC io-routines.
      5 *
      6 * Copyright (c) 1998 Harald Koerfgen
      7 * Copyright (c) 2001 Ralf Baechle
      8 * Copyright (c) 2002 Thiemo Seufer
      9 */
     10#include <linux/tty.h>
     11#include <linux/major.h>
     12#include <linux/init.h>
     13#include <linux/console.h>
     14#include <linux/fs.h>
     15#include <asm/setup.h>
     16#include <asm/sgialib.h>
     17
     18static void prom_console_write(struct console *co, const char *s,
     19			       unsigned count)
     20{
     21	/* Do each character */
     22	while (count--) {
     23		if (*s == '\n')
     24			prom_putchar('\r');
     25		prom_putchar(*s++);
     26	}
     27}
     28
     29static int prom_console_setup(struct console *co, char *options)
     30{
     31	if (prom_flags & PROM_FLAG_USE_AS_CONSOLE)
     32		return 0;
     33	return -ENODEV;
     34}
     35
     36static struct console arc_cons = {
     37	.name		= "arc",
     38	.write		= prom_console_write,
     39	.setup		= prom_console_setup,
     40	.flags		= CON_PRINTBUFFER,
     41	.index		= -1,
     42};
     43
     44/*
     45 *    Register console.
     46 */
     47
     48static int __init arc_console_init(void)
     49{
     50	register_console(&arc_cons);
     51
     52	return 0;
     53}
     54console_initcall(arc_console_init);