Intel Ethernet i217: Difference between revisions

[unchecked revision][unchecked revision]
Content deleted Content added
No edit summary
No edit summary
Line 451:
void E1000::fire (InterruptContext * p_interruptContext)
{
if ( coreManager->getCurrentCoreId() == 0 && p_interruptContext->getInteruptNumber() == pciConfigHeader->getIntLine()+IRQ0)
{
uint32_t status = readCommand(0xc0);
Line 458:
startLink();
}
else if(status & 0x10)
 
if(status & 0x10)
{
// good threshold
}
else if(status & 0x80)
{
handleReceive();
Line 541 ⟶ 540:
 
* You need to detect the BAR0 type as some cards uses IO ports and others uses MMIO and you need to communincate with the NIC with the method appropriate to each.
* You need to check if the card supports an EEPROM orand read the MAC address from the EEPROM if the card supports it or read it from address 0x5400 if it doe snot support an EEPROM
* You need to make sure to setup the card TCTRL register (Transmission Control Register) with the value 0b0110000000000111111000011111010. For more details reference the Intel manual for the meaning of the different bits of the register