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

Virtio network driver. More...

#include <driver/network_virtio.h>
#include <driver/virtio.h>
#include <logging.h>
#include <list.h>
#include <pci.h>
#include <ports.h>
#include <network.h>
#include <network/network_ethernet.h>
#include <network/network_dhcpv4.h>
#include <memory/frame.h>
#include <memory/paging.h>
#include <time/timer.h>
#include <cpu/interrupt.h>
#include <cpu.h>
#include <apic.h>
#include <utils.h>
#include <cpu/task.h>

Functions

 MODULE ("turnstone.kernel.hw.network.virtnet")
 
int8_t network_virtio_rx_isr (interrupt_frame_ext_t *frame)
 
int8_t network_virtio_tx_isr (interrupt_frame_ext_t *frame)
 
int8_t network_virtio_ctrl_isr (interrupt_frame_ext_t *frame)
 
int8_t network_virtio_config_isr (interrupt_frame_ext_t *frame)
 
int8_t network_virtio_combined_isr (interrupt_frame_ext_t *frame)
 
int8_t network_virtio_send_packet (network_transmit_packet_t *packet, virtio_dev_t *vdev, virtio_queue_ext_t *vq_tx, virtio_queue_avail_t *avail, virtio_queue_descriptor_t *descs)
 
int8_t network_virtio_process_tx (void)
 
int32_t network_virtio_process_rx (uint64_t args_cnt, void **args)
 
int8_t network_virtio_ctrl_set_mac (virtio_dev_t *vdev)
 
uint64_t network_virtio_select_features (virtio_dev_t *vdev, uint64_t avail_features)
 
int8_t network_rx_tx_queue_item_builder (virtio_dev_t *vdev, void *queue_item)
 
int8_t network_virtio_create_queues (virtio_dev_t *vdev)
 
int8_t network_virtio_init (const pci_dev_t *pci_netdev)
 

Variables

list_tvirtio_net_devs = NULL
 

Detailed Description

Virtio network driver.

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