The Pedigree Project 0.1
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
VirtSerial Class Reference

#include <Serial.h>

+ Inheritance diagram for VirtSerial:
+ Collaboration diagram for VirtSerial:

Public Member Functions

void setBase (uintptr_t base) override
 
bool hasData () override
 
char read () override
 
char readNonBlock () override
 
void write (char c) override
 
- Public Member Functions inherited from Serial
virtual void write_str (const char *c)
 
virtual void write_str (const char *c, size_t len)
 
virtual void write_str (const Cord &cord)
 
template<unsigned int N>
void write_str (const StaticCord< N > &cord)
 
template<unsigned int N>
void write_str (const char(&c)[N])
 
template<unsigned int N>
void write_str (const StaticString< N >(&c))
 

Static Public Member Functions

static void earlyWrite (uintptr_t base, char c)
 

Private Attributes

uintptr_t m_Base
 

Detailed Description

Polled ARM PL011 UART supplied by the virt device tree.

Definition at line 14 of file kernel/machine/mach_virt/Serial.h.

Constructor & Destructor Documentation

◆ VirtSerial()

VirtSerial::VirtSerial ( )

Definition at line 28 of file mach_virt/Serial.cc.

Member Function Documentation

◆ earlyWrite()

void VirtSerial::earlyWrite ( uintptr_t  base,
char  c 
)
static

Direct console output before global constructors have run.

Definition at line 46 of file mach_virt/Serial.cc.

◆ hasData()

bool VirtSerial::hasData ( )
overridevirtual

Implements Serial.

Definition at line 67 of file mach_virt/Serial.cc.

◆ read()

char VirtSerial::read ( )
overridevirtual

Implements Serial.

Definition at line 71 of file mach_virt/Serial.cc.

◆ readNonBlock()

char VirtSerial::readNonBlock ( )
overridevirtual

Implements Serial.

Definition at line 81 of file mach_virt/Serial.cc.

◆ setBase()

void VirtSerial::setBase ( uintptr_t  nBaseAddr)
overridevirtual
Todo:
make this generic for Mmaped and port IO.

Implements Serial.

Definition at line 30 of file mach_virt/Serial.cc.

Referenced by VirtMachine::initialise().

+ Here is the caller graph for this function:

◆ write()

void VirtSerial::write ( char  c)
overridevirtual

Implements Serial.

Definition at line 85 of file mach_virt/Serial.cc.

Member Data Documentation

◆ m_Base

uintptr_t VirtSerial::m_Base
private

Definition at line 27 of file kernel/machine/mach_virt/Serial.h.


The documentation for this class was generated from the following files: