NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Rtl8029 Class Reference

RTL8029 device model. More...

Inheritance diagram for Rtl8029:
StaticReceiver< Rtl8029 > Device

Public Member Functions

bool receive (MessageNetwork &msg)
bool receive (MessageIOIn &msg)
bool receive (MessageIOOut &msg)
bool receive (MessagePciConfig &msg)
 Rtl8029 (DBus< MessageNetwork > &bus_network, DBus< MessageIrqLines > &bus_irqlines, unsigned char irq, unsigned long long mac, unsigned bdf)
- Public Member Functions inherited from StaticReceiver< Rtl8029 >
 StaticReceiver ()
- Public Member Functions inherited from Device
void debug_dump ()
 Device (const char *debug_name)

Private Member Functions

struct {
   unsigned char   cr
   unsigned short   clda
   unsigned char   bnry
   unsigned char   tsr
   unsigned char   ncr
   unsigned char   fifo
   unsigned char   isr
   unsigned short   crda
   unsigned short   id8029
   unsigned char   rsr
   unsigned char   cntr [3]
   unsigned char   _cr1
   unsigned char   par [6]
   unsigned char   curr
   unsigned char   mar [8]
   unsigned char   _cr2
   unsigned char   pstart
   unsigned char   pstop
   unsigned char   _bnry2
   unsigned char   tpsr
   unsigned short   tbcr
   unsigned char   _isr2
   unsigned short   rsar
   unsigned short   rbcr
   unsigned char   rcr
   unsigned char   tcr
   unsigned char   dcr
   unsigned char   imr
__attribute__ ((packed)) _regs
void update_isr (unsigned value)
void send_packet ()
bool not_accept (const unsigned char *buffer, unsigned len)
bool receive_packet (const unsigned char *buffer, unsigned len)
void read_byte (unsigned addr, unsigned char *value)
void write_byte (unsigned addr, unsigned value)
bool match_bar (unsigned long &address)

Private Attributes

DBus< MessageNetwork > & _bus_network
DBus< MessageIrqLines > & _bus_irqlines
unsigned char _irq
unsigned long long _mac
unsigned _bdf
unsigned char _mem [65536]

Additional Inherited Members

- Static Public Member Functions inherited from StaticReceiver< Rtl8029 >
static bool receive_static (Device *o, M &msg)

Detailed Description

RTL8029 device model.

State: unstable Features: PCI, send, receive, broadcast, promiscuous mode Missing: multicast, CRC calculation, rep optimized

Constructor & Destructor Documentation

Rtl8029::Rtl8029 ( DBus< MessageNetwork > &  bus_network,
DBus< MessageIrqLines > &  bus_irqlines,
unsigned char  irq,
unsigned long long  mac,
unsigned  bdf 
)
inline

Member Function Documentation

struct Rtl8029::@220 Rtl8029::__attribute__ ( (packed)  )
private
bool Rtl8029::match_bar ( unsigned long &  address)
inlineprivate
bool Rtl8029::not_accept ( const unsigned char *  buffer,
unsigned  len 
)
inlineprivate
void Rtl8029::read_byte ( unsigned  addr,
unsigned char *  value 
)
inlineprivate
bool Rtl8029::receive ( MessageNetwork msg)
inline
bool Rtl8029::receive ( MessageIOIn msg)
inline
bool Rtl8029::receive ( MessageIOOut msg)
inline
bool Rtl8029::receive ( MessagePciConfig msg)
inline
bool Rtl8029::receive_packet ( const unsigned char *  buffer,
unsigned  len 
)
inlineprivate
void Rtl8029::send_packet ( )
inlineprivate
void Rtl8029::update_isr ( unsigned  value)
inlineprivate
void Rtl8029::write_byte ( unsigned  addr,
unsigned  value 
)
inlineprivate

Member Data Documentation

unsigned Rtl8029::_bdf
private
unsigned char Rtl8029::_bnry2
DBus<MessageIrqLines>& Rtl8029::_bus_irqlines
private
DBus<MessageNetwork>& Rtl8029::_bus_network
private
unsigned char Rtl8029::_cr1
unsigned char Rtl8029::_cr2
unsigned char Rtl8029::_irq
private
unsigned char Rtl8029::_isr2
unsigned long long Rtl8029::_mac
private
unsigned char Rtl8029::_mem[65536]
private
unsigned char Rtl8029::bnry
unsigned short Rtl8029::clda
unsigned char Rtl8029::cntr[3]
unsigned char Rtl8029::cr
unsigned short Rtl8029::crda
unsigned char Rtl8029::curr
unsigned char Rtl8029::dcr
unsigned char Rtl8029::fifo
unsigned short Rtl8029::id8029
unsigned char Rtl8029::imr
unsigned char Rtl8029::isr
unsigned char Rtl8029::mar[8]
unsigned char Rtl8029::ncr
unsigned char Rtl8029::par[6]
unsigned char Rtl8029::pstart
unsigned char Rtl8029::pstop
unsigned short Rtl8029::rbcr
unsigned char Rtl8029::rcr
unsigned short Rtl8029::rsar
unsigned char Rtl8029::rsr
unsigned short Rtl8029::tbcr
unsigned char Rtl8029::tcr
unsigned char Rtl8029::tpsr
unsigned char Rtl8029::tsr

The documentation for this class was generated from the following file: