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 (638B)


      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) 2008 Maxime Bizon <mbizon@freebox.fr>
      7 */
      8
      9#include <bcm63xx_io.h>
     10#include <linux/serial_bcm63xx.h>
     11#include <asm/setup.h>
     12
     13static void wait_xfered(void)
     14{
     15	unsigned int val;
     16
     17	/* wait for any previous char to be transmitted */
     18	do {
     19		val = bcm_uart0_readl(UART_IR_REG);
     20		if (val & UART_IR_STAT(UART_IR_TXEMPTY))
     21			break;
     22	} while (1);
     23}
     24
     25void prom_putchar(char c)
     26{
     27	wait_xfered();
     28	bcm_uart0_writel(c, UART_FIFO_REG);
     29	wait_xfered();
     30}