XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Functions
virtionet.cpp File Reference
#include <pcie.h>
#include <audrv.h>
#include <Hal/AA64/aa64lowlevel.h>
#include <Hal/AA64/gic.h>
#include <Fs/Dev/devinput.h>
#include <Fs/vfs.h>
#include <Drivers/virtio.h>
#include <Drivers/uart.h>
#include <Net/wifi.h>
#include <Mm/pmmngr.h>
#include <Mm/kmalloc.h>
#include <aucon.h>
#include <Mm/vmmngr.h>
#include <Hal/AA64/sched.h>
#include <Net/aunet.h>
#include <Net/ethernet.h>
#include <string.h>
Include dependency graph for virtionet.cpp:

Classes

struct  VirtioNetCfg
 

Macros

#define RX_BUFFER_COUNT   8
 
#define TX_BUFFER_COUNT   8
 
#define TX_BUFFER_SIZE   2048
 
#define RX_BUFFER_SIZE   2048
 
#define MAKE_IP(a, b, c, d)    ((uint32_t)(d) << 24 | (uint32_t)(c) << 16 | (uint32_t)(b) << 8 | (uint32_t)(a))
 

Functions

void AuVirtioNetHandler (int spiNum)
 
void AuVirtioNetPortalTx (void *packet, uint16_t len)
 
void AuVirtioNetInitialize (uint64_t device, int bus, int dev, int func)
 AuVirtioNetInitialize – initialize the virtio network device.
 
 AU_DRIVER_FLAGS (AU_DRV_FLAG_UNLOADABLE)
 
AU_EXTERN AU_EXPORT int AuDriverUnload ()
 
AU_EXTERN AU_EXPORT int AuDriverMain ()
 

Macro Definition Documentation

◆ MAKE_IP

#define MAKE_IP (   a,
  b,
  c,
  d 
)     ((uint32_t)(d) << 24 | (uint32_t)(c) << 16 | (uint32_t)(b) << 8 | (uint32_t)(a))

◆ RX_BUFFER_COUNT

#define RX_BUFFER_COUNT   8

◆ RX_BUFFER_SIZE

#define RX_BUFFER_SIZE   2048

◆ TX_BUFFER_COUNT

#define TX_BUFFER_COUNT   8

◆ TX_BUFFER_SIZE

#define TX_BUFFER_SIZE   2048

Function Documentation

◆ AU_DRIVER_FLAGS()

AU_DRIVER_FLAGS ( AU_DRV_FLAG_UNLOADABLE  )

◆ AuDriverMain()

AU_EXTERN AU_EXPORT int AuDriverMain ( void  )

AuDriverMain – Main entry for virtio net driver

◆ AuDriverUnload()

AU_EXTERN AU_EXPORT int AuDriverUnload ( void  )

◆ AuVirtioNetHandler()

void AuVirtioNetHandler ( int  spiNum)

◆ AuVirtioNetInitialize()

void AuVirtioNetInitialize ( uint64_t  device,
int  bus,
int  dev,
int  func 
)

AuVirtioNetInitialize – initialize the virtio network device.

Parameters
device– device address passed by PCIe

◆ AuVirtioNetPortalTx()

void AuVirtioNetPortalTx ( void *  packet,
uint16_t  len 
)