NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Host82573 Class Reference
Inheritance diagram for Host82573:
PciDriver StaticReceiver< Host82573 > Device

Public Member Functions

void misc_handle (uint32 icr)
bool receive (MessageIrq &irq_msg)
bool receive (MessageNetwork &nmsg)
void enable_irqs ()
 Host82573 (unsigned vnet, HostPci pci, DBus< MessageHostOp > &bus_hostop, DBus< MessageNetwork > &bus_network, DBus< MessageAcpi > &bus_acpi, Clock *clock, unsigned bdf, const NICInfo &info)
- Public Member Functions inherited from StaticReceiver< Host82573 >
 StaticReceiver ()
- Public Member Functions inherited from Device
void debug_dump ()
 Device (const char *debug_name)

Private Types

enum  { IRQ_MISC = 0, IRQ_RX = 1, IRQ_TX = 2 }

Private Member Functions

bool feature (unsigned bit)
void mac_reset ()
void mac_set_link_up ()
void tx_configure ()
void rx_configure ()
bool rx_desc_done (DmaDesc &desc)
uint16 rx_desc_size (DmaDesc &desc)
bool tx_desc_done (DmaDesc &desc)
void rx_handle ()
uint16 mac_eeprom_read (uint16 addr)
EthernetAddr mac_get_ethernet_addr ()
void tx_handle ()
void log_irq_status (unsigned irq)
void log_irq_status (unsigned irq, uint32 icr)

Private Attributes

const NICInfo_info
EthernetAddr _mac
DBus< MessageHostOp > & _bus_hostop
DBus< MessageNetwork > & _bus_network
volatile uint32_hwreg
bool _multi_irq_mode
unsigned _hostirq
bool _rxo_warned
unsigned _hostirq_rx
unsigned _hostirq_tx
uint16 _rx_last
DmaDesc_rx_ring
uint16 _tx_last
uint16 _tx_tail
DmaDesc_tx_ring
PacketBuffer _rx_buf [desc_ring_len]
PacketBuffer _tx_buf [desc_ring_len]

Static Private Attributes

static const unsigned desc_ring_len = 512

Additional Inherited Members

- Static Public Member Functions inherited from StaticReceiver< Host82573 >
static bool receive_static (Device *o, M &msg)
- Protected Types inherited from PciDriver
enum  MessageLevel {
  INFO = 1<<0, DEBUG = 1<<1, PCI = 1<<2, IRQ = 1<<3,
  RX = 1<<4, TX = 1<<5, VF = 1<<6, WARN = 1<<7,
  ALL = ~0U
}
- Protected Member Functions inherited from PciDriver
void spin (unsigned micros)
bool wait (volatile uint32 &reg, uint32 mask, uint32 value, unsigned timeout_micros=1000000)
 __attribute__ ((format(printf, 3, 4))) void msg(unsigned level
const char mword addr2phys (void *ptr)
 Translate a virtual to a physical address.
bool assign_pci ()
 PciDriver (const char *name, DBus< MessageHostOp > &bus_hostop, Clock *clock, unsigned msg_level, uint16 bdf)
- Protected Attributes inherited from PciDriver
const char * _name
DBus< MessageHostOp > & _bus_hostop
bool _dmar
Clock_clock
unsigned _msg_level
 Logging.
uint16 _bdf
const char * msg

Member Enumeration Documentation

anonymous enum
private
Enumerator:
IRQ_MISC 
IRQ_RX 
IRQ_TX 

Constructor & Destructor Documentation

Host82573::Host82573 ( unsigned  vnet,
HostPci  pci,
DBus< MessageHostOp > &  bus_hostop,
DBus< MessageNetwork > &  bus_network,
DBus< MessageAcpi > &  bus_acpi,
Clock clock,
unsigned  bdf,
const NICInfo info 
)
inline

Member Function Documentation

void Host82573::enable_irqs ( )
inline
bool Host82573::feature ( unsigned  bit)
inlineprivate
void Host82573::log_irq_status ( unsigned  irq)
inlineprivate
void Host82573::log_irq_status ( unsigned  irq,
uint32  icr 
)
inlineprivate
uint16 Host82573::mac_eeprom_read ( uint16  addr)
inlineprivate
EthernetAddr Host82573::mac_get_ethernet_addr ( )
inlineprivate
void Host82573::mac_reset ( )
inlineprivate
void Host82573::mac_set_link_up ( )
inlineprivate
void Host82573::misc_handle ( uint32  icr)
inline
bool Host82573::receive ( MessageIrq irq_msg)
inline
bool Host82573::receive ( MessageNetwork nmsg)
inline
void Host82573::rx_configure ( )
inlineprivate
bool Host82573::rx_desc_done ( DmaDesc desc)
inlineprivate
uint16 Host82573::rx_desc_size ( DmaDesc desc)
inlineprivate
void Host82573::rx_handle ( )
inlineprivate
void Host82573::tx_configure ( )
inlineprivate
bool Host82573::tx_desc_done ( DmaDesc desc)
inlineprivate
void Host82573::tx_handle ( )
inlineprivate

Member Data Documentation

DBus<MessageHostOp>& Host82573::_bus_hostop
private
DBus<MessageNetwork>& Host82573::_bus_network
private
unsigned Host82573::_hostirq
private
unsigned Host82573::_hostirq_rx
private
unsigned Host82573::_hostirq_tx
private
volatile uint32* Host82573::_hwreg
private
const NICInfo& Host82573::_info
private
EthernetAddr Host82573::_mac
private
bool Host82573::_multi_irq_mode
private
PacketBuffer Host82573::_rx_buf[desc_ring_len]
private
uint16 Host82573::_rx_last
private
DmaDesc* Host82573::_rx_ring
private
bool Host82573::_rxo_warned
private
PacketBuffer Host82573::_tx_buf[desc_ring_len]
private
uint16 Host82573::_tx_last
private
DmaDesc* Host82573::_tx_ring
private
uint16 Host82573::_tx_tail
private
const unsigned Host82573::desc_ring_len = 512
staticprivate

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