From: till straumann <till.straum...@alumni.tu-berlin.de> The 'legal' access by means of a special ioctl() is way too cumbersome when you need to do quick diagnosis.
Update #4345 --- rtemsbsd/sys/dev/mve/mv643xx_nexus.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/rtemsbsd/sys/dev/mve/mv643xx_nexus.c b/rtemsbsd/sys/dev/mve/mv643xx_nexus.c index 5edcdea4..ef84200d 100644 --- a/rtemsbsd/sys/dev/mve/mv643xx_nexus.c +++ b/rtemsbsd/sys/dev/mve/mv643xx_nexus.c @@ -171,6 +171,8 @@ struct mve_enet_softc { int oif_flags; }; +static struct mve_enet_softc * ifaces[MV643XXETH_NUM_DRIVER_SLOTS] = { 0 }; + typedef struct MveMbufIter { MveEthBufIter it; struct mbuf *next; @@ -695,6 +697,18 @@ int f, df; return err; } +/* SIO RTEMS_SHOW_STATS is too cumbersome to use -- for debugging, provide direct hack */ +int +mv643xx_nexus_dump_stats(int unit, FILE *f) +{ + if ( unit < 0 || unit >= MV643XXETH_NUM_DRIVER_SLOTS || ! ifaces[unit] ) + return -EINVAL; + if ( ! f ) + f = stdout; + BSP_mve_dump_stats(ifaces[unit]->mp, f); + return 0; +} + /* * Used to update speed settings in the hardware * when the phy setup changes. @@ -840,6 +854,8 @@ int tx_q_size = MV643XX_TX_QUEUE_SIZE; printk(DRVNAME": mve_attach (leaving)\n"); #endif + ifaces[unit] = sc; + return 0; } -- 2.26.2 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel