genode/repos/base-hw/src/core/include/spec/riscv/serial.h
Mark Vels 1668983efa base-hw: RISC-V Rocket Core on Zynq
This commit adds rocket core on the Zynq FPGA support to base HW. It also takes
advantage of the new timer infrastructure introduced with the privileged 1.8 and
adds improved TLB flush support.

fixes #1880
2016-02-26 11:36:51 +01:00

54 lines
983 B
C++

/*
* \brief Serial output driver for core
* \author Sebastian Sumpf
* \date 2015-06-02
*/
/*
* Copyright (C) 2015-2016 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
#ifndef _SERIAL_H_
#define _SERIAL_H_
/* Genode includes */
#include <base/stdint.h>
#include <util/register.h>
/* core includes */
#include <machine_call.h>
namespace Genode { class Serial; }
/**
* Serial output driver for core
*/
class Genode::Serial
{
public:
/**
* Constructor
*/
Serial(unsigned) { }
void put_char(char const c)
{
struct Arg : Register<64>
{
struct Char : Bitfield<0, 8> { };
struct Write_cmd : Bitfield<48, 1> { };
struct Stdout : Bitfield<56, 1> { };
};
Machine::put_char(Arg::Char::bits(c) |
Arg::Stdout::bits(1) |
Arg::Write_cmd::bits(1));
}
};
#endif /* _SERIAL_H_ */