blob: ef163ab499f0dad22a8f408b9df02ec8306e413c [file] [log] [blame]
Sriram Chidambaram8babd792006-10-24 14:30:41 -07001/* Copyright 2006 Fabric7 Systems, Inc */
2
3#include <stdio.h>
4#include <stdlib.h>
Ben Hutchings5ba70c02011-11-01 16:48:31 +00005#include "internal.h"
Sriram Chidambaram8babd792006-10-24 14:30:41 -07006
7struct regs_line {
8 u32 addr;
9 u32 data;
10};
11
12#define VIOC_REGS_LINE_SIZE sizeof(struct regs_line)
13
Maciej Żenczykowski8df12f32019-10-17 11:21:08 -070014int vioc_dump_regs(struct ethtool_drvinfo *info maybe_unused,
15 struct ethtool_regs *regs)
Sriram Chidambaram8babd792006-10-24 14:30:41 -070016{
17 unsigned int i;
18 unsigned int num_regs;
19 struct regs_line *reg_info = (struct regs_line *) regs->data;
20
Sriram Chidambaram8babd792006-10-24 14:30:41 -070021 printf("ethtool_regs\n"
22 "%-20s = %04x\n"
23 "%-20s = %04x\n",
24 "cmd", regs->cmd,
25 "version", regs->version);
26
27 num_regs = regs->len/VIOC_REGS_LINE_SIZE;
28
29 for (i = 0; i < num_regs; i++){
30 printf("%08x = %08x\n", reg_info[i].addr, reg_info[i].data);
31 }
32
33 return 0;
34}