NOVA User-Level Environment
Version testbox/changed-memory-timing-317-g320d8b5
|
Implements a 16550 UART. More...
Public Member Functions | |
bool | receive (MessageSerial &msg) |
bool | receive (MessageIOIn &msg) |
bool | receive (MessageIOOut &msg) |
void | discovery () |
SerialDevice (Motherboard &mb, unsigned short base, unsigned char irq, unsigned hostserial) | |
Public Member Functions inherited from StaticReceiver< SerialDevice > | |
StaticReceiver () | |
Public Member Functions inherited from Device | |
void | debug_dump () |
Device (const char *debug_name) |
Public Attributes | |
Motherboard & | _mb |
Private Types | |
enum | { RBR = 0, THR = 0, IER, FCR, IIR = FCR, LCR, MCR, LSR, MSR, SCR, DLL, DLM, MAX } |
Private Member Functions | |
unsigned char | get_iir () |
Returns the IIR and thereby prioritize the interrupts. | |
void | update_irq () |
Private Attributes | |
unsigned short | _base |
unsigned char | _irq |
unsigned | _hostserial |
unsigned char | _regs [MAX] |
unsigned char | _rfifo [FIFOSIZE] |
unsigned char | _rfpos |
unsigned char | _rfcount |
unsigned char | _triggerlevel |
unsigned char | _sendmask |
Static Private Attributes | |
static const unsigned | FIFOSIZE = 16 |
Additional Inherited Members | |
Static Public Member Functions inherited from StaticReceiver< SerialDevice > | |
static bool | receive_static (Device *o, M &msg) |
Static Public Member Functions inherited from DiscoveryHelper< SerialDevice > | |
static bool | discover (Device *o, MessageDiscovery &msg) |
Protected Member Functions inherited from DiscoveryHelper< SerialDevice > | |
bool | discovery_write_st (const char *resource, unsigned offset, const void *value, unsigned count) |
bool | discovery_write_dw (const char *resource, unsigned offset, unsigned value, unsigned count=4) |
Write a dword or less than it. | |
bool | discovery_read_dw (const char *resource, unsigned offset, unsigned &value) |
Read a dword. | |
unsigned | discovery_length (const char *resource, unsigned minlen) |
Return the length of an ACPI table or minlen if it is smaller. |
Implements a 16550 UART.
State: stable Missing Features:
|
inline |
|
inline |
|
inlineprivate |
Returns the IIR and thereby prioritize the interrupts.
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
private |
|
private |
|
private |
Motherboard& SerialDevice::_mb |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |