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

earlycon-riscv-sbi.c (720B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * RISC-V SBI based earlycon
      4 *
      5 * Copyright (C) 2018 Anup Patel <anup@brainfault.org>
      6 */
      7#include <linux/kernel.h>
      8#include <linux/console.h>
      9#include <linux/init.h>
     10#include <linux/serial_core.h>
     11#include <asm/sbi.h>
     12
     13static void sbi_putc(struct uart_port *port, unsigned char c)
     14{
     15	sbi_console_putchar(c);
     16}
     17
     18static void sbi_console_write(struct console *con,
     19			      const char *s, unsigned n)
     20{
     21	struct earlycon_device *dev = con->data;
     22	uart_console_write(&dev->port, s, n, sbi_putc);
     23}
     24
     25static int __init early_sbi_setup(struct earlycon_device *device,
     26				  const char *opt)
     27{
     28	device->con->write = sbi_console_write;
     29	return 0;
     30}
     31EARLYCON_DECLARE(sbi, early_sbi_setup);