|
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 |