![]() ![]() But it shouldn't prevent reading correct mac from MMIO at, so there's something else. Maybe qemu cached the accesses, so that when reading EEPROM, you got those 0x00000x01 back, hence zeroes. It might interfere by specifying cache type, it's better to mark memory-mapped IO as uncacheable (though it should already have been done with MTRRs, I think). I don't think paging can cause this issue unless there is a bug in its setup so that the linear addresses are translated not as you expect. ![]() But I haven't yet succeeded in making bochs connect to the internet. I might try another NIC, eg RTL8139(?) and see if I get similar results. MOV ESI, **DEBUG_BREAK**įor this NIC family on VMWARE, I get the same results. TODO: replace with constantĭEBUG_WRITE_VAR 'MAC Address from MMIO is ', ĭEBUG_WRITE_VAR 'MAC Address from EEPROM is ', MOV EAX, contains the enable bit and B:D:F already-shiftedĭEBUG_WRITE_VAR 'BAR0 address is ', ĭEBUG_WRITE_VAR 'IRQ is ', MOV RCX, (pci_map_entry_size - pci_map_entry.vendor_model) size of 'class description Debug statements do a full save/restore of the stack. contains various debug statements and commented-out code. initializes the NIC, following BareMetal et al.
0 Comments
Leave a Reply. |