Re: Realtek 8169 problems with net booting
From: Michael Brown <hidden>
Date: 2008-12-04 17:50:10
On Monday 24 November 2008 21:57:10 David Miller wrote:
Yes, a lot of drivers will enable bus mastering before resetting the chip. The basic assumption is that the chip is quiescent at driver load time. Since switching around this order across the board is too gigantic a project, I would suggest just handling things on a case-by-case basis where we know the BIOS or firmware leave the chip in a crud state like this.
The assumption that the chip is quiescent is invalid in the case of any kind of boot from SAN (e.g. iSCSI, AoE) via the net device. The INT13-based bootloader has no way to signal to the boot firmware that it is finished using the INT13 interface, so the card will always be left in an active state. In gPXE, we do what we can to ensure that the card is safe to use when the OS loads; we edit the RX buffers, ISR, etc. out of the system memory map prior to starting an iSCSI boot. We don't, however, get a chance to actually quiesce the chip before the OS driver loads up, so the OS driver must be prepared to discover the chip in an active state. Michael