1. I didn't see that 0xA8 in the device config space was for the MAC address. It
doesn't show it in the register spec I received. I'll give it a try when I get a
chance. I only saw that offset 0xA8 in the MMIO space was for it.
2. Taking a closer look at it, I do like it. Maybe just change the if(!eeprom_valid)
part to read from the ROMSTRAP the way I had it. The reason I like my way of reading the
ROMSTRAPs MAC is because you have it at a fixed address. But the ROMSTRAP could actually
be used to setup lots and lots of device registers, if chosen to do so. Thus pushing that
// read directly from rom_strap
mac_pos = read8(0xffffffe0); // refer to romstrap.inc
mac_pos |= (read8(0xffffffe1)<<8);
mac_pos |= (read8(0xffffffe2)<<16);
mac_pos |= (read8(0xffffffe3)<<24);
mac_pos += 0x30;
for ( dword = nic_index ; dword > 0 ; dword-- )
mac_pos += 8;
mac_l = read32(mac_pos);
mac_h = read32(mac_pos + 4);
Sorry I didn't look at it more closely.
3. yeah, I saw that. I was just using something familiar. Thanks.