Turnstone Operating System
Loading...
Searching...
No Matches
console_virtio.64.c File Reference

virtio console driver More...

#include <driver/console_virtio.h>
#include <iterator.h>
#include <logging.h>
#include <list.h>
#include <apic.h>
#include <memory/paging.h>
#include <memory/frame.h>
#include <utils.h>
#include <strings.h>
#include <cpu.h>
#include <cpu/task.h>
#include <cpu/sync.h>
#include <buffer.h>

Classes

struct  virtio_console_port_t
 
struct  virtio_console_t
 
struct  clipboard_data_t
 

Typedefs

typedef struct virtio_console_port_t virtio_console_port_t
 
typedef struct virtio_console_t virtio_console_t
 
typedef struct clipboard_data_t clipboard_data_t
 

Functions

 MODULE ("turnstone.kernel.hw.console.virtio")
 
void video_text_print (const char_t *text)
 
static int16_t virtio_console_get_rx_queue_number (uint16_t port_no)
 
static int16_t virtio_console_get_tx_queue_number (uint16_t port_no)
 
static int8_t vdagent_send_caps (const virtio_console_t *vconsole, uint8_t port_no)
 
static int8_t vdagent_send_empty_clipboard_data (const virtio_console_t *vconsole, uint8_t port_no)
 
static int8_t vdagent_send_clipboard_data (const virtio_console_t *vconsole, uint8_t port_no, clipboard_data_t *clipboard_data)
 
static int8_t vdagent_request_clipboard_data (const virtio_console_t *vconsole, uint8_t port_no)
 
static int8_t vdagent_send_grab_clipboard (const virtio_console_t *vconsole, uint8_t port_no)
 
int8_t clipboard_send_text (const char_t *text_message)
 
static int8_t vdagent_check_message (vdagent_message_t *message, const virtio_console_t *vconsole, uint8_t port_no)
 
static void virtio_console_vdagent_advance_queue (virtio_dev_t *vdev, virtio_queue_ext_t *vq_rx, virtio_queue_avail_t *avail, uint16_t packet_desc_id)
 
static int8_t virtio_console_vdagent_loop (const virtio_console_t *vconsole, uint64_t port_no)
 
static int8_t virtio_console_vdagent_rx (uint64_t args_cnt, void **args)
 
static int8_t virtio_console_isr_data_receive (interrupt_frame_ext_t *frame)
 
static int8_t virtio_console_send_control_message (const virtio_console_t *console, virtio_console_control_t *control)
 
static int8_t virtio_console_send_device_ready (const virtio_console_t *console)
 
static int8_t virtio_console_send_port_ready (const virtio_console_t *console, uint8_t port)
 
static int8_t virtio_console_send_port_open (const virtio_console_t *console, uint8_t port)
 
static int8_t virtio_console_isr_control_receive (interrupt_frame_ext_t *frame)
 
static int8_t virtio_console_start_vdagent (const virtio_console_t *vconsole, uint8_t port_no)
 
static void virtio_console_control_queue_loop (const virtio_console_t *vconsole)
 
static int32_t virtio_console_control_rx (uint64_t args_cnt, void **args)
 
static uint64_t virtio_console_select_features (virtio_dev_t *vdev, uint64_t avail_features)
 
static int8_t virtio_console_create_queues (virtio_dev_t *vdev)
 
static int8_t virtio_console_init_internal (const pci_dev_t *pci_dev)
 
int8_t console_virtio_init (void)
 

Variables

list_tvirtio_console_list = NULL
 
static clipboard_data_tvdagent_clipboard_data = NULL
 

Detailed Description

virtio console driver

This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.