This patchset fixes the stellaris_enet TX handling code.
The principal motivation is to fix the buffer overrun noted
in the first patch, and to remove tx_fifo_len from the state
(which completely sidesteps the question of how to validate it
in incoming migration state :-)). I also fixed a couple of
other bugs I noticed while I was there.
This isn't actually sufficient to get my test image to work:
that needs proper implementation of the MII registers in the PHY.
I tested this with a minor hack to make all MII registers return
0x24, which happens to satisfy the test image's setup code.
However implementing the PHY registers is more work than I want
to do on this device right now...
Peter Maydell (5):
hw/net/stellaris_enet: Restructure tx_fifo code to avoid buffer
overrun
hw/net/stellaris_enet: Correct handling of packet padding
hw/net/stellaris_enet: Rewrite tx fifo handling code
hw/net/stellaris_enet: Correctly implement the TR and THR registers
hw/net/stellaris_enet: Fix debug format strings
hw/net/stellaris_enet.c | 128 +++++++++++++++++++++++++++++++++---------------
1 file changed, 88 insertions(+), 40 deletions(-)
--
1.9.0