1*1b481fc3SMaciej Żenczykowski /* Copyright 2006 Fabric7 Systems, Inc */ 2*1b481fc3SMaciej Żenczykowski 3*1b481fc3SMaciej Żenczykowski #include <stdio.h> 4*1b481fc3SMaciej Żenczykowski #include <stdlib.h> 5*1b481fc3SMaciej Żenczykowski #include "internal.h" 6*1b481fc3SMaciej Żenczykowski 7*1b481fc3SMaciej Żenczykowski struct regs_line { 8*1b481fc3SMaciej Żenczykowski u32 addr; 9*1b481fc3SMaciej Żenczykowski u32 data; 10*1b481fc3SMaciej Żenczykowski }; 11*1b481fc3SMaciej Żenczykowski 12*1b481fc3SMaciej Żenczykowski #define VIOC_REGS_LINE_SIZE sizeof(struct regs_line) 13*1b481fc3SMaciej Żenczykowski vioc_dump_regs(struct ethtool_drvinfo * info __maybe_unused,struct ethtool_regs * regs)14*1b481fc3SMaciej Żenczykowskiint vioc_dump_regs(struct ethtool_drvinfo *info __maybe_unused, 15*1b481fc3SMaciej Żenczykowski struct ethtool_regs *regs) 16*1b481fc3SMaciej Żenczykowski { 17*1b481fc3SMaciej Żenczykowski unsigned int i; 18*1b481fc3SMaciej Żenczykowski unsigned int num_regs; 19*1b481fc3SMaciej Żenczykowski struct regs_line *reg_info = (struct regs_line *) regs->data; 20*1b481fc3SMaciej Żenczykowski 21*1b481fc3SMaciej Żenczykowski printf("ethtool_regs\n" 22*1b481fc3SMaciej Żenczykowski "%-20s = %04x\n" 23*1b481fc3SMaciej Żenczykowski "%-20s = %04x\n", 24*1b481fc3SMaciej Żenczykowski "cmd", regs->cmd, 25*1b481fc3SMaciej Żenczykowski "version", regs->version); 26*1b481fc3SMaciej Żenczykowski 27*1b481fc3SMaciej Żenczykowski num_regs = regs->len/VIOC_REGS_LINE_SIZE; 28*1b481fc3SMaciej Żenczykowski 29*1b481fc3SMaciej Żenczykowski for (i = 0; i < num_regs; i++){ 30*1b481fc3SMaciej Żenczykowski printf("%08x = %08x\n", reg_info[i].addr, reg_info[i].data); 31*1b481fc3SMaciej Żenczykowski } 32*1b481fc3SMaciej Żenczykowski 33*1b481fc3SMaciej Żenczykowski return 0; 34*1b481fc3SMaciej Żenczykowski } 35