summaryrefslogtreecommitdiff
path: root/vioc.c
diff options
context:
space:
mode:
authorSriram Chidambaram <schidambaram@fabric7.com>2006-10-24 14:30:41 -0700
committerJeff Garzik <jeff@garzik.org>2006-10-31 20:28:54 -0500
commit8babd795f6bcbf9b21e31c43ce53bd0654974488 (patch)
treee07170fb6920878bebbd5ba75de4aa81d542beac /vioc.c
parentee35083398b3497d627a14b51e97c23c243d4f6b (diff)
downloadethtool-8babd795f6bcbf9b21e31c43ce53bd0654974488.tar.gz
[PATCH] Fabric7 VIOC: Ethtool
Ethtool patch for Fabric7 VIOC Device Driver. Signed-off-by: Fabric7 Driver-Support <driver-support@fabric7.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'vioc.c')
-rw-r--r--vioc.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/vioc.c b/vioc.c
new file mode 100644
index 0000000..51004c6
--- /dev/null
+++ b/vioc.c
@@ -0,0 +1,35 @@
+/* Copyright 2006 Fabric7 Systems, Inc */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "ethtool-util.h"
+
+struct regs_line {
+ u32 addr;
+ u32 data;
+};
+
+#define VIOC_REGS_LINE_SIZE sizeof(struct regs_line)
+
+int vioc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
+{
+ unsigned int i;
+ unsigned int num_regs;
+ struct regs_line *reg_info = (struct regs_line *) regs->data;
+
+ printf("%s: Enter\n", __FUNCTION__);
+
+ printf("ethtool_regs\n"
+ "%-20s = %04x\n"
+ "%-20s = %04x\n",
+ "cmd", regs->cmd,
+ "version", regs->version);
+
+ num_regs = regs->len/VIOC_REGS_LINE_SIZE;
+
+ for (i = 0; i < num_regs; i++){
+ printf("%08x = %08x\n", reg_info[i].addr, reg_info[i].data);
+ }
+
+ return 0;
+}