This is a 10/100 ethernet device that has several features. Only the ones needed by the Linux driver have been implemented. See npcm7xx_emc.c for a list of unimplemented features.
Doug Evans (3): hw/net: Add npcm7xx emc model hw/arm: Add npcm7xx emc model tests/qtests: Add npcm7xx emc model test docs/system/arm/nuvoton.rst | 3 +- hw/arm/npcm7xx.c | 50 +- hw/net/meson.build | 1 + hw/net/npcm7xx_emc.c | 857 ++++++++++++++++++++++++++++++++ hw/net/trace-events | 17 + include/hw/arm/npcm7xx.h | 2 + include/hw/net/npcm7xx_emc.h | 286 +++++++++++ tests/qtest/meson.build | 1 + tests/qtest/npcm7xx_emc-test.c | 862 +++++++++++++++++++++++++++++++++ 9 files changed, 2076 insertions(+), 3 deletions(-) create mode 100644 hw/net/npcm7xx_emc.c create mode 100644 include/hw/net/npcm7xx_emc.h create mode 100644 tests/qtest/npcm7xx_emc-test.c -- 2.30.0.478.g8a0d178c01-goog Differences from v3: 1/3 hw/net: Add npcm7xx emc model - no change 2/3 hw/arm: Add npcm7xx emc model - no change 3/3 tests/qtests: Add npcm7xx emc model test - handle big endian hosts, tested on sparc64 Differences from v2: 1/3 hw/net: Add npcm7xx emc model - move call to qemu_set_irq - remove use of C99 mixed decls/statements - add use of g_autofree 2/3 hw/arm: Add npcm7xx emc model - none, patch ok as is 3/3 tests/qtests: Add npcm7xx emc model test - remove use of C99 mixed decls/statements