NOVA User-Level Environment
Version testbox/changed-memory-timing-317-g320d8b5
|
A VGA console. More...
Classes | |
struct | putcdata |
struct | View |
Public Types | |
enum | { MAXVIEWS = 16, MAXCLIENTS = 64, TIME_TAG = 3, TEXTMODE = 0, BACKEND_OFFSET = 0x3000, BACKEND_SIZE = 8*0x1000 } |
Public Member Functions | |
bool | receive (MessageConsole &msg) |
bool | receive (MessageInput &msg) |
HostVga (Motherboard &mb, char *backend, unsigned modifier_switch, unsigned modifier_system, unsigned refresh_freq) | |
Public Member Functions inherited from StaticReceiver< HostVga > | |
StaticReceiver () | |
Public Member Functions inherited from Device | |
void | debug_dump () |
Device (const char *debug_name) |
Static Public Member Functions | |
static void | do_work (void *t) REGPARM(0) NORETURN |
Static Public Member Functions inherited from StaticReceiver< HostVga > | |
static bool | receive_static (Device *o, M &msg) |
Private Member Functions | |
void | set_vga_reg (unsigned short offset, unsigned char index, unsigned char value) |
void | update_timer (Utcb &utcb) |
bool | switch_client () |
unsigned | draw_console_tag () |
Draw a tag for the console for a given time. | |
bool | handle_console_switching (MessageInput &msg) |
Switches the console with the _modifier_switch. | |
bool | handle_system_keys (MessageInput &msg) |
System keys handling. | |
bool | refresh_textmode (struct View *view, Utcb &utcb) |
void | work () __attribute__((noreturn)) |
Static Private Member Functions | |
static void | console_putc (void *data, int value) |
The putc on a console, removes multiple whitespaces. |
Private Attributes | |
Motherboard & | _mb |
char * | _backend |
char | _saved [BACKEND_SIZE] |
char | _font [256 *16] |
unsigned | _modifier_switch |
unsigned | _modifier_system |
unsigned | _refresh_freq |
unsigned | _count |
unsigned | _active_client |
unsigned | _active_mode |
unsigned short | _last_cursor_pos |
unsigned short | _last_cursor_style |
Vbe::ModeInfoBlock | _modeinfo |
KernelSemaphore | _worker |
timevalue | _lastswitchtime |
char * | _graphic_ptr |
bool | _measure |
TimerProtocol * | _timer_service |
struct { | |
const char * clientname | |
unsigned short num_views | |
unsigned short active_view | |
unsigned short module | |
View views [MAXVIEWS] | |
} | _clients [MAXCLIENTS] |
A VGA console.
State: unstable Features: console switching, cursor, refresh, different views per client Missing: direct map to the client
|
inline |
|
inlinestaticprivate |
The putc on a console, removes multiple whitespaces.
|
inlinestatic |
|
inlineprivate |
Draw a tag for the console for a given time.
|
inlineprivate |
Switches the console with the _modifier_switch.
|
inlineprivate |
System keys handling.
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
private |
|
private |
|
private |
struct { ... } HostVga::_clients[MAXCLIENTS] |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
unsigned short HostVga::active_view |
const char* HostVga::clientname |
unsigned short HostVga::module |
unsigned short HostVga::num_views |