Go to the documentation of this file.
34 #ifndef __DEV_NET_NS_GIGE_HH__
35 #define __DEV_NET_NS_GIGE_HH__
44 #include "params/NSGigE.hh"
374 #endif // __DEV_NET_NS_GIGE_HH__
void eepromKick()
Advance the EEPROM state machine Called on rising edge of EEPROM clock bit in MEAR.
dp_regs regs
device register file
const Params * params() const
const uint16_t FHASH_SIZE
EventFunctionWrapper txDmaWriteEvent
const PortID InvalidPortID
NS DP83820 Ethernet device model.
EventFunctionWrapper txKickEvent
EventFunctionWrapper * intrEvent
TxState
Transmit State Machine states.
void cpuIntrPost(Tick when)
bool rxFilter(const EthPacketPtr &packet)
uint64_t Tick
Tick count type.
EventFunctionWrapper rxDmaWriteEvent
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
EventFunctionWrapper rxDmaReadEvent
void serialize(CheckpointOut &cp) const override
Serialize an object.
EEPROMState
EEPROM State Machine States.
bool rxFilterEnable
receive address filter
const uint8_t EEPROM_PMATCH0_ADDR
Addr txFragPtr
ptr to the next byte in the current fragment
bool CRDD
Current Receive Descriptor Done.
EventFunctionWrapper txEvent
EEPROMState eepromState
EEPROM State Machine.
const uint8_t EEPROM_PMATCH2_ADDR
bool cpuIntrPending() const
RxState rxState
rx State Machine
void devIntrClear(uint32_t interrupts)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
uint32_t rxPktBytes
num of bytes in the current packet being drained from rxDataFifo
bool recvPacket(EthPacketPtr packet)
bool ioEnable
pci settings
Ports are used to interface objects to each other.
EventFunctionWrapper txDmaReadEvent
ns_desc32 txDesc32
DescCaches.
EventFunctionWrapper rxKickEvent
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
Tick read(PacketPtr pkt) override
This reads the device registers, which are detailed in the NS83820 spec sheet.
void drainResume() override
Resume execution after a successful drain.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool CTDD
Current Transmit Descriptor Done.
void transmit()
Retransmit event.
std::shared_ptr< EthPacketData > EthPacketPtr
const std::string & name() const
Return port name (for DPRINTF).
RxState
Receive State Machine States.
bool rxHalt
halt the rx state machine after current packet
const uint8_t EEPROM_PMATCH1_ADDR
Ethernet device registers.
const SimObjectParams * _params
Cached copy of the object parameters.
uint8_t filterHash[FHASH_SIZE]
for hash table memory.
EthPacketPtr txPacket
various helper vars
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
bool txHalt
halt the tx state machine after next packet
virtual bool recvPacket(EthPacketPtr pkt)
Tick writeConfig(PacketPtr pkt) override
This is to write to the PCI general configuration registers.
uint32_t rxDescCnt
count of bytes remaining in the current descriptor
const uint8_t EEPROM_SIZE
const uint16_t FHASH_ADDR
uint8_t perfectMatch[ETH_ADDR_LEN]
for perfect match memory.
std::ostream CheckpointOut
NSGigEInt(const std::string &name, NSGigE *d)
const uint8_t EEPROM_READ
Dummy class to keep the Python class hierarchy in sync with the C++ object hierarchy.
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
uint32_t txDescCnt
count of bytes remaining in the current descriptor
void devIntrPost(uint32_t interrupts)
Interrupt management.
Addr rxFragPtr
ptr to the next byte in current fragment
Generated on Wed Sep 30 2020 14:02:11 for gem5 by doxygen 1.8.17