[dpdk-dev] [PATCH 1/1] add writing registers

Rosen, Rami rami.rosen at intel.com
Thu Apr 21 19:33:02 CEST 2016


Please ignore, this is a wrong patch 

-----Original Message-----
From: Rosen, Rami 
Sent: Thursday, April 21, 2016 8:24 PM
To: dev at dpdk.org
Cc: Rosen, Rami <rami.rosen at intel.com>
Subject: [PATCH 1/1] add writing registers

Change-Id: Iaeeefcbc29d109fef17797d6a888cf2448499646
Signed-off-by: Rami Rosen <rami.rosen at intel.com>
---
 fvlproto/build.sh       |    4 +
 fvlproto/config.c       |    7 +
 fvlproto/myMakefile     |   29 +
 fvlproto/mybuild.sh     |    5 +
 fvlproto/regs.txt       |   78 ++
 fvlproto/regs.txt.org   | 1998 +++++++++++++++++++++++++++++++++++++++++++++++
 fvlproto/run.sh         |   20 +
 fvlproto/test/Makefile  |   29 +
 fvlproto/test/readreg.c |  167 ++++
 fvlproto/test/run.sh    |    3 +
 10 files changed, 2340 insertions(+)
 create mode 100755 fvlproto/build.sh
 create mode 100644 fvlproto/myMakefile
 create mode 100755 fvlproto/mybuild.sh
 create mode 100644 fvlproto/regs.txt
 create mode 100644 fvlproto/regs.txt.org
 create mode 100644 fvlproto/run.sh
 create mode 100644 fvlproto/test/Makefile
 create mode 100644 fvlproto/test/readreg.c
 create mode 100644 fvlproto/test/run.sh

diff --git a/fvlproto/build.sh b/fvlproto/build.sh
new file mode 100755
index 0000000..bfffb6b
--- /dev/null
+++ b/fvlproto/build.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+export RTE_SDK=/work/src/dpdk-16.04
+make
diff --git a/fvlproto/config.c b/fvlproto/config.c
index f7db457..1659154 100644
--- a/fvlproto/config.c
+++ b/fvlproto/config.c
@@ -148,6 +148,9 @@ static void parse_print_regs_input(const char *arg)
 	char input_line[256];
 	char *address, *val, *curr;
 	const char delimiters[] = " ";
+	uint32_t reg;
+	uint32_t value;
+	char *eptr;
 
 	if (arg == NULL)
 		return;
@@ -166,6 +169,10 @@ static void parse_print_regs_input(const char *arg)
 		address = strtok(NULL, delimiters);
 		val = strtok(NULL, delimiters);
 		printf("addess=%s val=%s\n", address, val);
+		reg = strtol(address, &eptr, 16);
+		value = strtol(val, &eptr, 16);
+		printf("Writing reg=%x value=%x\n", reg, value);
+		i40e_dev_reg_write(app.nic_rx_port, reg, value, 0);
 	}
 
 	fclose(file);
diff --git a/fvlproto/myMakefile b/fvlproto/myMakefile
new file mode 100644
index 0000000..00b878b
--- /dev/null
+++ b/fvlproto/myMakefile
@@ -0,0 +1,29 @@
+#   BSD LICENSE
+
+ifeq ($(RTE_SDK),)
+$(error "Please define RTE_SDK environment variable")
+endif
+
+# Default target, can be overriden by command line or environment
+RTE_TARGET ?= x86_64-native-linuxapp-gcc
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+# binary name
+APP = readreg
+
+# all source are stored in SRCS-y
+SRCS-y := readreg.c
+
+CFLAGS += -O3 -g
+CFLAGS += $(WERROR_FLAGS)
+#CFLAGS_config.o := -D_GNU_SOURCE
+
+# workaround for a gcc bug with noreturn attribute
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
+ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
+#CFLAGS_main.o += -Wno-return-type
+CFLAGS_readreg.o += -Wno-return-type
+endif
+
+include $(RTE_SDK)/mk/rte.extapp.mk
diff --git a/fvlproto/mybuild.sh b/fvlproto/mybuild.sh
new file mode 100755
index 0000000..55b89f1
--- /dev/null
+++ b/fvlproto/mybuild.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+export RTE_SDK=/work/src/dpdk-16.04
+make -f myMakefile
+
diff --git a/fvlproto/regs.txt b/fvlproto/regs.txt
new file mode 100644
index 0000000..68f9ef3
--- /dev/null
+++ b/fvlproto/regs.txt
@@ -0,0 +1,78 @@
+ write  0x1c0a90   0x5  
+ write  0x1c0a9c   0x3180c  
+ write  0x1c0aa0   0x20000096  
+ write  0x1c0aa4   0x5  
+ write  0x1c0aa8   0x3180c  
+ write  0x1c0aac   0x20000096  
+ write  0x1c0a90   0x305  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0xb  
+ write  0x1c0aa4   0x305  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0xb  
+ write  0x1c0a90   0x110  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x28000cb  
+ write  0x1c0aa4   0x110  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x28000cb  
+ write  0x1c0a90   0x111  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x280000b  
+ write  0x1c0aa4   0x111  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x280000b  
+ write  0x1c0a90   0x113  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2c4a7d5  
+ write  0x1c0aa4   0x113  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2c4a7d5  
+ write  0x1c0a90   0x114  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2800219  
+ write  0x1c0aa4   0x114  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2800219  
+ write  0x1c0a90   0x115  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x280031b  
+ write  0x1c0aa4   0x115  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x280031b  
+ write  0x1c0a90   0x138  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2b2ac41  
+ write  0x1c0aa4   0x138  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2b2ac41  
+ write  0x1c0a90   0x139  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2840019  
+ write  0x1c0aa4   0x139  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2840019  
+ write  0x1c0a90   0x13a  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2c36e9b  
+ write  0x1c0aa4   0x13a  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2c36e9b  
+ write  0x1c0a90   0x13b  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2c0803f  
+ write  0x1c0aa4   0x13b  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2c0803f  
+ write  0x1c0a90   0x5a7  
+ write  0x1c0a9c   0x21  
+ write  0x1c0aa0   0x4c8bffff  
+ write  0x1c0aa4   0x5a7  
+ write  0x1c0aa8   0x21  
+ write  0x1c0aac   0x4c8bffff  
+ write  0x51040   0x4ce  
+ write  0x5104c   0x1a7  
+ write  0x51050   0x0  
+ write  0x51040   0x8ce  
+ write  0x5104c   0x0  
+ write  0x51050   0xe0000  
\ No newline at end of file
diff --git a/fvlproto/regs.txt.org b/fvlproto/regs.txt.org
new file mode 100644
index 0000000..754fc08
--- /dev/null
+++ b/fvlproto/regs.txt.org
@@ -0,0 +1,1998 @@
+ write  0x1c0a90   0x5  
+ write  0x1c0a9c   0x3180c  
+ write  0x1c0aa0   0x20000096  
+ write  0x1c0aa4   0x5  
+ write  0x1c0aa8   0x3180c  
+ write  0x1c0aac   0x20000096  
+ write  0x1c0a90   0x305  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0xb  
+ write  0x1c0aa4   0x305  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0xb  
+ write  0x1c0a90   0x110  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x28000cb  
+ write  0x1c0aa4   0x110  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x28000cb  
+ write  0x1c0a90   0x111  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x280000b  
+ write  0x1c0aa4   0x111  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x280000b  
+ write  0x1c0a90   0x113  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2c4a7d5  
+ write  0x1c0aa4   0x113  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2c4a7d5  
+ write  0x1c0a90   0x114  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2800219  
+ write  0x1c0aa4   0x114  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2800219  
+ write  0x1c0a90   0x115  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x280031b  
+ write  0x1c0aa4   0x115  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x280031b  
+ write  0x1c0a90   0x138  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2b2ac41  
+ write  0x1c0aa4   0x138  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2b2ac41  
+ write  0x1c0a90   0x139  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2840019  
+ write  0x1c0aa4   0x139  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2840019  
+ write  0x1c0a90   0x13a  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2c36e9b  
+ write  0x1c0aa4   0x13a  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2c36e9b  
+ write  0x1c0a90   0x13b  
+ write  0x1c0a9c   0x0  
+ write  0x1c0aa0   0x2c0803f  
+ write  0x1c0aa4   0x13b  
+ write  0x1c0aa8   0x0  
+ write  0x1c0aac   0x2c0803f  
+ write  0x1c0a90   0x500  
+ write  0x1c0a9c   0xf  
+ write  0x1c0aa0   0xffffffff  
+ write  0x1c0aa4   0x500  
+ write  0x1c0aa8   0xf  
+ write  0x1c0aac   0xffffffff  
+ write  0x1c0a90   0x501  
+ write  0x1c0a9c   0x8  
+ write  0x1c0aa0   0x7fffffff  
+ write  0x1c0aa4   0x501  
+ write  0x1c0aa8   0x8  
+ write  0x1c0aac   0x7fffffff  
+ write  0x1c0a90   0x502  
+ write  0x1c0a9c   0x10  
+ write  0x1c0aa0   0x21ffffff  
+ write  0x1c0aa4   0x502  
+ write  0x1c0aa8   0x10  
+ write  0x1c0aac   0x21ffffff  
+ write  0x1c0a90   0x503  
+ write  0x1c0a9c   0x10  
+ write  0x1c0aa0   0x61ffffff  
+ write  0x1c0aa4   0x503  
+ write  0x1c0aa8   0x10  
+ write  0x1c0aac   0x61ffffff  
+ write  0x1c0a90   0x504  
+ write  0x1c0a9c   0x1f  
+ write  0x1c0aa0   0xe1ffffff  
+ write  0x1c0aa4   0x504  
+ write  0x1c0aa8   0x1f  
+ write  0x1c0aac   0xe1ffffff  
+ write  0x1c0a90   0x505  
+ write  0x1c0a9c   0x1f  
+ write  0x1c0aa0   0xe1ffffff  
+ write  0x1c0aa4   0x505  
+ write  0x1c0aa8   0x1f  
+ write  0x1c0aac   0xe1ffffff  
+ write  0x1c0a90   0x506  
+ write  0x1c0a9c   0x11  
+ write  0x1c0aa0   0x21ffffff  
+ write  0x1c0aa4   0x506  
+ write  0x1c0aa8   0x11  
+ write  0x1c0aac   0x21ffffff  
+ write  0x1c0a90   0x507  
+ write  0x1c0a9c   0x1f  
+ write  0x1c0aa0   0xe1ffffff  
+ write  0x1c0aa4   0x507  
+ write  0x1c0aa8   0x1f  
+ write  0x1c0aac   0xe1ffffff  
+ write  0x1c0a90   0x508  
+ write  0x1c0a9c   0x1f  
+ write  0x1c0aa0   0xe1ffffff  
+ write  0x1c0aa4   0x508  
+ write  0x1c0aa8   0x1f  
+ write  0x1c0aac   0xe1ffffff  
+ write  0x1c0a90   0x509  
+ write  0x1c0a9c   0x1f  
+ write  0x1c0aa0   0xe1ffffff  
+ write  0x1c0aa4   0x509  
+ write  0x1c0aa8   0x1f  
+ write  0x1c0aac   0xe1ffffff  
+ write  0x1c0a90   0x50a  
+ write  0x1c0a9c   0x12  
+ write  0x1c0aa0   0x21ffffff  
+ write  0x1c0aa4   0x50a  
+ write  0x1c0aa8   0x12  
+ write  0x1c0aac   0x21ffffff  
+ write  0x1c0a90   0x50b  
+ write  0x1c0a9c   0x12  
+ write  0x1c0aa0   0x61ffffff  
+ write  0x1c0aa4   0x50b  
+ write  0x1c0aa8   0x12  
+ write  0x1c0aac   0x61ffffff  
+ write  0x1c0a90   0x50c  
+ write  0x1c0a9c   0x1f  
+ write  0x1c0aa0   0xe2ffffff  
+ write  0x1c0aa4   0x50c  
+ write  0x1c0aa8   0x1f  
+ write  0x1c0aac   0xe2ffffff  
+ write  0x1c0a90   0x50d  
+ write  0x1c0a9c   0x2f  
+ write  0x1c0aa0   0xff8bffff  
+ write  0x1c0aa4   0x50d  
+ write  0x1c0aa8   0x2f  
+ write  0x1c0aac   0xff8bffff  
+ write  0x1c0a90   0x50e  
+ write  0x1c0a9c   0x2f  
+ write  0x1c0aa0   0xff8bffff  
+ write  0x1c0aa4   0x50e  
+ write  0x1c0aa8   0x2f  
+ write  0x1c0aac   0xff8bffff  
+ write  0x1c0a90   0x50f  
+ write  0x1c0a9c   0x2f  
+ write  0x1c0aa0   0xff8bffff  
+ write  0x1c0aa4   0x50f  
+ write  0x1c0aa8   0x2f  
+ write  0x1c0aac   0xff8bffff  
+ write  0x1c0a90   0x510  
+ write  0x1c0a9c   0x2f  
+ write  0x1c0aa0   0xff8bffff  
+ write  0x1c0aa4   0x510  
+ write  0x1c0aa8   0x2f  
+ write  0x1c0aac   0xff8bffff  
+ write  0x1c0a90   0x511  
+ write  0x1c0a9c   0x3f  
+ write  0x1c0aa0   0xff8bffff  
+ write  0x1c0aa4   0x511  
+ write  0x1c0aa8   0x3f  
+ write  0x1c0aac   0xff8bffff  
+ write  0x1c0a90   0x512  
+ write  0x1c0a9c   0x3f  
+ write  0x1c0aa0   0xfffe2fff  
+ write  0x1c0aa4   0x512  
+ write  0x1c0aa8   0x3f  
+ write  0x1c0aac   0xfffe2fff  
+ write  0x1c0a90   0x513  
+ write  0x1c0a9c   0x3f  
+ write  0x1c0aa0   0xfffe2fff  
+ write  0x1c0aa4   0x513  
+ write  0x1c0aa8   0x3f  
+ write  0x1c0aac   0xfffe2fff  
+ write  0x1c0a90   0x514  
+ write  0x1c0a9c   0x3f  
+ write  0x1c0aa0   0xfffe2fff  
+ write  0x1c0aa4   0x514  
+ write  0x1c0aa8   0x3f  
+ write  0x1c0aac   0xfffe2fff  
+ write  0x1c0a90   0x515  
+ write  0x1c0a9c   0x3f  
+ write  0x1c0aa0   0xfffe2fff  
+ write  0x1c0aa4   0x515  
+ write  0x1c0aa8   0x3f  
+ write  0x1c0aac   0xfffe2fff  
+ write  0x1c0a90   0x516  
+ write  0x1c0a9c   0x1b  
+ write  0x1c0aa0   0x22ffffff  
+ write  0x1c0aa4   0x516  
+ write  0x1c0aa8   0x1b  
+ write  0x1c0aac   0x22ffffff  
+ write  0x51040   0x435  
+ write  0x5104c   0x116  
+ write  0x51050   0x0  
+ write  0x51040   0x835  
+ write  0x5104c   0x0  
+ write  0x51050   0x50000  
+ write  0x1c0a90   0x517  
+ write  0x1c0a9c   0x13  
+ write  0x1c0aa0   0x22ffffff  
+ write  0x1c0aa4   0x517  
+ write  0x1c0aa8   0x13  
+ write  0x1c0aac   0x22ffffff  
+ write  0x51040   0x436  
+ write  0x5104c   0x117  
+ write  0x51050   0x0  
+ write  0x51040   0x836  
+ write  0x5104c   0x0  
+ write  0x51050   0x50000  
+ write  0x1c0a90   0x518  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x128fffff  
+ write  0x1c0aa4   0x518  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x128fffff  
+ write  0x51040   0x437  
+ write  0x5104c   0x118  
+ write  0x51050   0x0  
+ write  0x51040   0x837  
+ write  0x5104c   0x0  
+ write  0x51050   0x70008  
+ write  0x1c0a90   0x519  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x8fffff  
+ write  0x1c0aa4   0x519  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x8fffff  
+ write  0x51040   0x438  
+ write  0x5104c   0x119  
+ write  0x51050   0x0  
+ write  0x51040   0x838  
+ write  0x5104c   0x0  
+ write  0x51050   0x70008  
+ write  0x1c0a90   0x51a  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x118fffff  
+ write  0x1c0aa4   0x51a  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x118fffff  
+ write  0x51040   0x439  
+ write  0x5104c   0x11a  
+ write  0x51050   0x0  
+ write  0x51040   0x839  
+ write  0x5104c   0x0  
+ write  0x51050   0x70000  
+ write  0x1c0a90   0x51b  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x138fffff  
+ write  0x1c0aa4   0x51b  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x138fffff  
+ write  0x51040   0x43a  
+ write  0x5104c   0x11b  
+ write  0x51050   0x0  
+ write  0x51040   0x83a  
+ write  0x5104c   0x0  
+ write  0x51050   0xe70000  
+ write  0x1c0a90   0x51c  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x148fffff  
+ write  0x1c0aa4   0x51c  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x148fffff  
+ write  0x51040   0x43b  
+ write  0x5104c   0x11c  
+ write  0x51050   0x0  
+ write  0x51040   0x83b  
+ write  0x5104c   0x0  
+ write  0x51050   0x50000  
+ write  0x1c0a90   0x51d  
+ write  0x1c0a9c   0x423  
+ write  0x1c0aa0   0x2c8bffff  
+ write  0x1c0aa4   0x51d  
+ write  0x1c0aa8   0x423  
+ write  0x1c0aac   0x2c8bffff  
+ write  0x51040   0x43c  
+ write  0x5104c   0x11d  
+ write  0x51050   0x0  
+ write  0x51040   0x83c  
+ write  0x5104c   0x0  
+ write  0x51050   0xd0000  
+ write  0x1c0a90   0x51e  
+ write  0x1c0a9c   0x423  
+ write  0x1c0aa0   0xc8bffff  
+ write  0x1c0aa4   0x51e  
+ write  0x1c0aa8   0x423  
+ write  0x1c0aac   0xc8bffff  
+ write  0x51040   0x43d  
+ write  0x5104c   0x11e  
+ write  0x51050   0x0  
+ write  0x51040   0x83d  
+ write  0x5104c   0x0  
+ write  0x51050   0xd0000  
+ write  0x1c0a90   0x51f  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xc4a3fff  
+ write  0x1c0aa4   0x51f  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xc4a3fff  
+ write  0x51040   0x43e  
+ write  0x5104c   0x11f  
+ write  0x51050   0x0  
+ write  0x51040   0x83e  
+ write  0x5104c   0x0  
+ write  0x51050   0x100010  
+ write  0x1c0a90   0x520  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xc023fff  
+ write  0x1c0aa4   0x520  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xc023fff  
+ write  0x51040   0x43f  
+ write  0x5104c   0x120  
+ write  0x51050   0x0  
+ write  0x51040   0x83f  
+ write  0x5104c   0x0  
+ write  0x51050   0x100010  
+ write  0x1c0a90   0x521  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xc463fff  
+ write  0x1c0aa4   0x521  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xc463fff  
+ write  0x51040   0x440  
+ write  0x5104c   0x121  
+ write  0x51050   0x0  
+ write  0x51040   0x840  
+ write  0x5104c   0x0  
+ write  0x51050   0x100000  
+ write  0x1c0a90   0x522  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xc4e3fff  
+ write  0x1c0aa4   0x522  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xc4e3fff  
+ write  0x51040   0x441  
+ write  0x5104c   0x122  
+ write  0x51050   0x0  
+ write  0x51040   0x841  
+ write  0x5104c   0x0  
+ write  0x51050   0xef0000  
+ write  0x1c0a90   0x523  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xc523fff  
+ write  0x1c0aa4   0x523  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xc523fff  
+ write  0x51040   0x442  
+ write  0x5104c   0x123  
+ write  0x51050   0x0  
+ write  0x51040   0x842  
+ write  0x5104c   0x0  
+ write  0x51050   0xd0000  
+ write  0x1c0a90   0x524  
+ write  0x1c0a9c   0x433  
+ write  0x1c0aa0   0xdc22fff  
+ write  0x1c0aa4   0x524  
+ write  0x1c0aa8   0x433  
+ write  0x1c0aac   0xdc22fff  
+ write  0x51040   0x443  
+ write  0x5104c   0x124  
+ write  0x51050   0x0  
+ write  0x51040   0x843  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x1c0a90   0x525  
+ write  0x1c0a9c   0x423  
+ write  0x1c0aa0   0xd8bffff  
+ write  0x1c0aa4   0x525  
+ write  0x1c0aa8   0x423  
+ write  0x1c0aac   0xd8bffff  
+ write  0x51040   0x444  
+ write  0x5104c   0x125  
+ write  0x51050   0x0  
+ write  0x51040   0x844  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x1c0a90   0x526  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xd4a3fff  
+ write  0x1c0aa4   0x526  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xd4a3fff  
+ write  0x51040   0x445  
+ write  0x5104c   0x126  
+ write  0x51050   0x0  
+ write  0x51040   0x845  
+ write  0x5104c   0x0  
+ write  0x51050   0x280010  
+ write  0x1c0a90   0x527  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xd023fff  
+ write  0x1c0aa4   0x527  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xd023fff  
+ write  0x51040   0x446  
+ write  0x5104c   0x127  
+ write  0x51050   0x0  
+ write  0x51040   0x846  
+ write  0x5104c   0x0  
+ write  0x51050   0x280010  
+ write  0x1c0a90   0x528  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xd463fff  
+ write  0x1c0aa4   0x528  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xd463fff  
+ write  0x51040   0x447  
+ write  0x5104c   0x128  
+ write  0x51050   0x0  
+ write  0x51040   0x847  
+ write  0x5104c   0x0  
+ write  0x51050   0x280000  
+ write  0x1c0a90   0x529  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xd4e3fff  
+ write  0x1c0aa4   0x529  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xd4e3fff  
+ write  0x51040   0x448  
+ write  0x5104c   0x129  
+ write  0x51050   0x0  
+ write  0x51040   0x848  
+ write  0x5104c   0x0  
+ write  0x51050   0x1080000  
+ write  0x1c0a90   0x52a  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0xd5e3fff  
+ write  0x1c0aa4   0x52a  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0xd5e3fff  
+ write  0x51040   0x449  
+ write  0x5104c   0x12a  
+ write  0x51050   0x0  
+ write  0x51040   0x849  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x1c0a90   0x52b  
+ write  0x1c0a9c   0x823  
+ write  0x1c0aa0   0xf8bffff  
+ write  0x1c0aa4   0x52b  
+ write  0x1c0aa8   0x823  
+ write  0x1c0aac   0xf8bffff  
+ write  0x51040   0x44a  
+ write  0x5104c   0x12b  
+ write  0x51050   0x0  
+ write  0x51040   0x84a  
+ write  0x5104c   0x0  
+ write  0x51050   0x50000  
+ write  0x1c0a90   0x52c  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0xfb22fff  
+ write  0x1c0aa4   0x52c  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0xfb22fff  
+ write  0x51040   0x44b  
+ write  0x5104c   0x12c  
+ write  0x51050   0x0  
+ write  0x51040   0x84b  
+ write  0x5104c   0x0  
+ write  0x51050   0x180000  
+ write  0x1c0a90   0x52d  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0xf322fff  
+ write  0x1c0aa4   0x52d  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0xf322fff  
+ write  0x51040   0x44c  
+ write  0x5104c   0x12d  
+ write  0x51050   0x0  
+ write  0x51040   0x84c  
+ write  0x5104c   0x0  
+ write  0x51050   0x180000  
+ write  0x1c0a90   0x52e  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3128ff  
+ write  0x1c0aa4   0x52e  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3128ff  
+ write  0x51040   0x44d  
+ write  0x5104c   0x12e  
+ write  0x51050   0x0  
+ write  0x51040   0x84d  
+ write  0x5104c   0x0  
+ write  0x51050   0x1b0010  
+ write  0x1c0a90   0x52f  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3008ff  
+ write  0x1c0aa4   0x52f  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3008ff  
+ write  0x51040   0x44e  
+ write  0x5104c   0x12f  
+ write  0x51050   0x0  
+ write  0x51040   0x84e  
+ write  0x5104c   0x0  
+ write  0x51050   0x1b0010  
+ write  0x1c0a90   0x530  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3118ff  
+ write  0x1c0aa4   0x530  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3118ff  
+ write  0x51040   0x44f  
+ write  0x5104c   0x130  
+ write  0x51050   0x0  
+ write  0x51040   0x84f  
+ write  0x5104c   0x0  
+ write  0x51050   0x1b0000  
+ write  0x1c0a90   0x531  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3138ff  
+ write  0x1c0aa4   0x531  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3138ff  
+ write  0x51040   0x450  
+ write  0x5104c   0x131  
+ write  0x51050   0x0  
+ write  0x51040   0x850  
+ write  0x5104c   0x0  
+ write  0x51050   0xf80000  
+ write  0x1c0a90   0x532  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3148ff  
+ write  0x1c0aa4   0x532  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3148ff  
+ write  0x51040   0x451  
+ write  0x5104c   0x132  
+ write  0x51050   0x0  
+ write  0x51040   0x851  
+ write  0x5104c   0x0  
+ write  0x51050   0x180000  
+ write  0x1c0a90   0x533  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0xf3708bf  
+ write  0x1c0aa4   0x533  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0xf3708bf  
+ write  0x51040   0x452  
+ write  0x5104c   0x133  
+ write  0x51050   0x0  
+ write  0x51040   0x852  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x1c0a90   0x534  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0xf362fff  
+ write  0x1c0aa4   0x534  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0xf362fff  
+ write  0x51040   0x453  
+ write  0x5104c   0x134  
+ write  0x51050   0x0  
+ write  0x51040   0x853  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x1c0a90   0x535  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3528ff  
+ write  0x1c0aa4   0x535  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3528ff  
+ write  0x51040   0x454  
+ write  0x5104c   0x135  
+ write  0x51050   0x0  
+ write  0x51040   0x854  
+ write  0x5104c   0x0  
+ write  0x51050   0x2f0010  
+ write  0x1c0a90   0x536  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3408ff  
+ write  0x1c0aa4   0x536  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3408ff  
+ write  0x51040   0x455  
+ write  0x5104c   0x136  
+ write  0x51050   0x0  
+ write  0x51040   0x855  
+ write  0x5104c   0x0  
+ write  0x51050   0x2f0010  
+ write  0x1c0a90   0x537  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3518ff  
+ write  0x1c0aa4   0x537  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3518ff  
+ write  0x51040   0x456  
+ write  0x5104c   0x137  
+ write  0x51050   0x0  
+ write  0x51040   0x856  
+ write  0x5104c   0x0  
+ write  0x51050   0x2f0000  
+ write  0x1c0a90   0x538  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3538ff  
+ write  0x1c0aa4   0x538  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3538ff  
+ write  0x51040   0x457  
+ write  0x5104c   0x138  
+ write  0x51050   0x0  
+ write  0x51040   0x857  
+ write  0x5104c   0x0  
+ write  0x51050   0x1100000  
+ write  0x1c0a90   0x539  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0xf3578ff  
+ write  0x1c0aa4   0x539  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0xf3578ff  
+ write  0x51040   0x458  
+ write  0x5104c   0x139  
+ write  0x51050   0x0  
+ write  0x51040   0x858  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x1c0a90   0x53a  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0xf822fff  
+ write  0x1c0aa4   0x53a  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0xf822fff  
+ write  0x51040   0x459  
+ write  0x5104c   0x13a  
+ write  0x51050   0x0  
+ write  0x51040   0x859  
+ write  0x5104c   0x0  
+ write  0x51050   0x50000  
+ write  0x1c0a90   0x53b  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0xf82c8bf  
+ write  0x1c0aa4   0x53b  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0xf82c8bf  
+ write  0x51040   0x45a  
+ write  0x5104c   0x13b  
+ write  0x51050   0x0  
+ write  0x51040   0x85a  
+ write  0x5104c   0x0  
+ write  0x51050   0x360002  
+ write  0x1c0a90   0x53c  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0xf80c8bf  
+ write  0x1c0aa4   0x53c  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0xf80c8bf  
+ write  0x51040   0x45b  
+ write  0x5104c   0x13c  
+ write  0x51050   0x0  
+ write  0x51040   0x85b  
+ write  0x5104c   0x0  
+ write  0x51050   0x360002  
+ write  0x1c0a90   0x53d  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80c4a3  
+ write  0x1c0aa4   0x53d  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80c4a3  
+ write  0x51040   0x45c  
+ write  0x5104c   0x13d  
+ write  0x51050   0x0  
+ write  0x51040   0x85c  
+ write  0x5104c   0x0  
+ write  0x51050   0x390022  
+ write  0x1c0a90   0x53e  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80c023  
+ write  0x1c0aa4   0x53e  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80c023  
+ write  0x51040   0x45d  
+ write  0x5104c   0x13e  
+ write  0x51050   0x0  
+ write  0x51040   0x85d  
+ write  0x5104c   0x0  
+ write  0x51050   0x390022  
+ write  0x1c0a90   0x53f  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80c463  
+ write  0x1c0aa4   0x53f  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80c463  
+ write  0x51040   0x45e  
+ write  0x5104c   0x13f  
+ write  0x51050   0x0  
+ write  0x51040   0x85e  
+ write  0x5104c   0x0  
+ write  0x51050   0x390002  
+ write  0x1c0a90   0x540  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80c4e3  
+ write  0x1c0aa4   0x540  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80c4e3  
+ write  0x51040   0x45f  
+ write  0x5104c   0x140  
+ write  0x51050   0x0  
+ write  0x51040   0x85f  
+ write  0x5104c   0x0  
+ write  0x51050   0x1180002  
+ write  0x1c0a90   0x541  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80c523  
+ write  0x1c0aa4   0x541  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80c523  
+ write  0x51040   0x460  
+ write  0x5104c   0x141  
+ write  0x51050   0x0  
+ write  0x51040   0x860  
+ write  0x5104c   0x0  
+ write  0x51050   0x360002  
+ write  0x1c0a90   0x542  
+ write  0x1c0a9c   0x853  
+ write  0x1c0aa0   0xf80dc22  
+ write  0x1c0aa4   0x542  
+ write  0x1c0aa8   0x853  
+ write  0x1c0aac   0xf80dc22  
+ write  0x51040   0x461  
+ write  0x5104c   0x142  
+ write  0x51050   0x0  
+ write  0x51040   0x861  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x1c0a90   0x543  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0xf80d8bf  
+ write  0x1c0aa4   0x543  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0xf80d8bf  
+ write  0x51040   0x462  
+ write  0x5104c   0x143  
+ write  0x51050   0x0  
+ write  0x51040   0x862  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x1c0a90   0x544  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80d4a3  
+ write  0x1c0aa4   0x544  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80d4a3  
+ write  0x51040   0x463  
+ write  0x5104c   0x144  
+ write  0x51050   0x0  
+ write  0x51040   0x863  
+ write  0x5104c   0x0  
+ write  0x51050   0x410022  
+ write  0x1c0a90   0x545  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80d023  
+ write  0x1c0aa4   0x545  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80d023  
+ write  0x51040   0x464  
+ write  0x5104c   0x145  
+ write  0x51050   0x0  
+ write  0x51040   0x864  
+ write  0x5104c   0x0  
+ write  0x51050   0x410022  
+ write  0x1c0a90   0x546  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80d463  
+ write  0x1c0aa4   0x546  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80d463  
+ write  0x51040   0x465  
+ write  0x5104c   0x146  
+ write  0x51050   0x0  
+ write  0x51040   0x865  
+ write  0x5104c   0x0  
+ write  0x51050   0x410002  
+ write  0x1c0a90   0x547  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80d4e3  
+ write  0x1c0aa4   0x547  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80d4e3  
+ write  0x51040   0x466  
+ write  0x5104c   0x147  
+ write  0x51050   0x0  
+ write  0x51040   0x866  
+ write  0x5104c   0x0  
+ write  0x51050   0x1220002  
+ write  0x1c0a90   0x548  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf80d5e3  
+ write  0x1c0aa4   0x548  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf80d5e3  
+ write  0x51040   0x467  
+ write  0x5104c   0x148  
+ write  0x51050   0x0  
+ write  0x51040   0x867  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x1c0a90   0x549  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0xf7e2fff  
+ write  0x1c0aa4   0x549  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0xf7e2fff  
+ write  0x51040   0x468  
+ write  0x5104c   0x149  
+ write  0x51050   0x0  
+ write  0x51040   0x868  
+ write  0x5104c   0x0  
+ write  0x51050   0x50000  
+ write  0x51040   0x469  
+ write  0x5104c   0x149  
+ write  0x51050   0x4000  
+ write  0x51040   0x869  
+ write  0x5104c   0x0  
+ write  0x51050   0x12e0000  
+ write  0x1c0a90   0x54a  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0xf7ec8bf  
+ write  0x1c0aa4   0x54a  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0xf7ec8bf  
+ write  0x51040   0x46a  
+ write  0x5104c   0x14a  
+ write  0x51050   0x0  
+ write  0x51040   0x86a  
+ write  0x5104c   0x0  
+ write  0x51050   0x360002  
+ write  0x51040   0x46b  
+ write  0x5104c   0x14a  
+ write  0x51050   0x4000  
+ write  0x51040   0x86b  
+ write  0x5104c   0x0  
+ write  0x51050   0x360000  
+ write  0x1c0a90   0x54b  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0xf7cc8bf  
+ write  0x1c0aa4   0x54b  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0xf7cc8bf  
+ write  0x51040   0x46c  
+ write  0x5104c   0x14b  
+ write  0x51050   0x0  
+ write  0x51040   0x86c  
+ write  0x5104c   0x0  
+ write  0x51050   0x360002  
+ write  0x51040   0x46d  
+ write  0x5104c   0x14b  
+ write  0x51050   0x4000  
+ write  0x51040   0x86d  
+ write  0x5104c   0x0  
+ write  0x51050   0x360000  
+ write  0x1c0a90   0x54c  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cc4a3  
+ write  0x1c0aa4   0x54c  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cc4a3  
+ write  0x51040   0x46e  
+ write  0x5104c   0x14c  
+ write  0x51050   0x0  
+ write  0x51040   0x86e  
+ write  0x5104c   0x0  
+ write  0x51050   0x390022  
+ write  0x51040   0x46f  
+ write  0x5104c   0x14c  
+ write  0x51050   0x4000  
+ write  0x51040   0x86f  
+ write  0x5104c   0x0  
+ write  0x51050   0x390020  
+ write  0x1c0a90   0x54d  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cc023  
+ write  0x1c0aa4   0x54d  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cc023  
+ write  0x51040   0x470  
+ write  0x5104c   0x14d  
+ write  0x51050   0x0  
+ write  0x51040   0x870  
+ write  0x5104c   0x0  
+ write  0x51050   0x390022  
+ write  0x51040   0x471  
+ write  0x5104c   0x14d  
+ write  0x51050   0x4000  
+ write  0x51040   0x871  
+ write  0x5104c   0x0  
+ write  0x51050   0x390020  
+ write  0x1c0a90   0x54e  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cc463  
+ write  0x1c0aa4   0x54e  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cc463  
+ write  0x51040   0x472  
+ write  0x5104c   0x14e  
+ write  0x51050   0x0  
+ write  0x51040   0x872  
+ write  0x5104c   0x0  
+ write  0x51050   0x390002  
+ write  0x51040   0x473  
+ write  0x5104c   0x14e  
+ write  0x51050   0x4000  
+ write  0x51040   0x873  
+ write  0x5104c   0x0  
+ write  0x51050   0x390000  
+ write  0x1c0a90   0x54f  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cc4e3  
+ write  0x1c0aa4   0x54f  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cc4e3  
+ write  0x51040   0x474  
+ write  0x5104c   0x14f  
+ write  0x51050   0x0  
+ write  0x51040   0x874  
+ write  0x5104c   0x0  
+ write  0x51050   0x1180002  
+ write  0x51040   0x475  
+ write  0x5104c   0x14f  
+ write  0x51050   0x4000  
+ write  0x51040   0x875  
+ write  0x5104c   0x0  
+ write  0x51050   0x1180000  
+ write  0x1c0a90   0x550  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cc523  
+ write  0x1c0aa4   0x550  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cc523  
+ write  0x51040   0x476  
+ write  0x5104c   0x150  
+ write  0x51050   0x0  
+ write  0x51040   0x876  
+ write  0x5104c   0x0  
+ write  0x51050   0x360002  
+ write  0x51040   0x477  
+ write  0x5104c   0x150  
+ write  0x51050   0x4000  
+ write  0x51040   0x877  
+ write  0x5104c   0x0  
+ write  0x51050   0x360000  
+ write  0x1c0a90   0x551  
+ write  0x1c0a9c   0x853  
+ write  0x1c0aa0   0xf7cdc22  
+ write  0x1c0aa4   0x551  
+ write  0x1c0aa8   0x853  
+ write  0x1c0aac   0xf7cdc22  
+ write  0x51040   0x478  
+ write  0x5104c   0x151  
+ write  0x51050   0x0  
+ write  0x51040   0x878  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x51040   0x479  
+ write  0x5104c   0x151  
+ write  0x51050   0x4000  
+ write  0x51040   0x879  
+ write  0x5104c   0x0  
+ write  0x51050   0x12c0000  
+ write  0x1c0a90   0x552  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0xf7cd8bf  
+ write  0x1c0aa4   0x552  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0xf7cd8bf  
+ write  0x51040   0x47a  
+ write  0x5104c   0x152  
+ write  0x51050   0x0  
+ write  0x51040   0x87a  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x51040   0x47b  
+ write  0x5104c   0x152  
+ write  0x51050   0x4000  
+ write  0x51040   0x87b  
+ write  0x5104c   0x0  
+ write  0x51050   0x12c0000  
+ write  0x1c0a90   0x553  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cd4a3  
+ write  0x1c0aa4   0x553  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cd4a3  
+ write  0x51040   0x47c  
+ write  0x5104c   0x153  
+ write  0x51050   0x0  
+ write  0x51040   0x87c  
+ write  0x5104c   0x0  
+ write  0x51050   0x410022  
+ write  0x51040   0x47d  
+ write  0x5104c   0x153  
+ write  0x51050   0x4000  
+ write  0x51040   0x87d  
+ write  0x5104c   0x0  
+ write  0x51050   0x410020  
+ write  0x1c0a90   0x554  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cd023  
+ write  0x1c0aa4   0x554  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cd023  
+ write  0x51040   0x47e  
+ write  0x5104c   0x154  
+ write  0x51050   0x0  
+ write  0x51040   0x87e  
+ write  0x5104c   0x0  
+ write  0x51050   0x410022  
+ write  0x51040   0x47f  
+ write  0x5104c   0x154  
+ write  0x51050   0x4000  
+ write  0x51040   0x87f  
+ write  0x5104c   0x0  
+ write  0x51050   0x410020  
+ write  0x1c0a90   0x555  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cd463  
+ write  0x1c0aa4   0x555  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cd463  
+ write  0x51040   0x480  
+ write  0x5104c   0x155  
+ write  0x51050   0x0  
+ write  0x51040   0x880  
+ write  0x5104c   0x0  
+ write  0x51050   0x410002  
+ write  0x51040   0x481  
+ write  0x5104c   0x155  
+ write  0x51050   0x4000  
+ write  0x51040   0x881  
+ write  0x5104c   0x0  
+ write  0x51050   0x410000  
+ write  0x1c0a90   0x556  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cd4e3  
+ write  0x1c0aa4   0x556  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cd4e3  
+ write  0x51040   0x482  
+ write  0x5104c   0x156  
+ write  0x51050   0x0  
+ write  0x51040   0x882  
+ write  0x5104c   0x0  
+ write  0x51050   0x1220002  
+ write  0x51040   0x483  
+ write  0x5104c   0x156  
+ write  0x51050   0x4000  
+ write  0x51040   0x883  
+ write  0x5104c   0x0  
+ write  0x51050   0x1220000  
+ write  0x1c0a90   0x557  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0xf7cd5e3  
+ write  0x1c0aa4   0x557  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0xf7cd5e3  
+ write  0x51040   0x484  
+ write  0x5104c   0x157  
+ write  0x51050   0x0  
+ write  0x51040   0x884  
+ write  0x5104c   0x0  
+ write  0x51050   0x60000  
+ write  0x51040   0x485  
+ write  0x5104c   0x157  
+ write  0x51050   0x4000  
+ write  0x51040   0x885  
+ write  0x5104c   0x0  
+ write  0x51050   0x12c0000  
+ write  0x1c0a90   0x558  
+ write  0x1c0a9c   0x23  
+ write  0x1c0aa0   0x708bffff  
+ write  0x1c0aa4   0x558  
+ write  0x1c0aa8   0x23  
+ write  0x1c0aac   0x708bffff  
+ write  0x1c0a90   0x559  
+ write  0x1c0a9c   0x13  
+ write  0x1c0aa0   0x62ffffff  
+ write  0x1c0aa4   0x559  
+ write  0x1c0aa8   0x13  
+ write  0x1c0aac   0x62ffffff  
+ write  0x1c0a90   0x55a  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x528fffff  
+ write  0x1c0aa4   0x55a  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x528fffff  
+ write  0x51040   0x486  
+ write  0x5104c   0x15a  
+ write  0x51050   0x0  
+ write  0x51040   0x886  
+ write  0x5104c   0x0  
+ write  0x51050   0x220008  
+ write  0x1c0a90   0x55b  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x408fffff  
+ write  0x1c0aa4   0x55b  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x408fffff  
+ write  0x51040   0x487  
+ write  0x5104c   0x15b  
+ write  0x51050   0x0  
+ write  0x51040   0x887  
+ write  0x5104c   0x0  
+ write  0x51050   0x220008  
+ write  0x1c0a90   0x55c  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x518fffff  
+ write  0x1c0aa4   0x55c  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x518fffff  
+ write  0x51040   0x488  
+ write  0x5104c   0x15c  
+ write  0x51050   0x0  
+ write  0x51040   0x888  
+ write  0x5104c   0x0  
+ write  0x51050   0x220000  
+ write  0x1c0a90   0x55d  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x538fffff  
+ write  0x1c0aa4   0x55d  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x538fffff  
+ write  0x51040   0x489  
+ write  0x5104c   0x15d  
+ write  0x51050   0x0  
+ write  0x51040   0x889  
+ write  0x5104c   0x0  
+ write  0x51050   0x1010000  
+ write  0x1c0a90   0x55e  
+ write  0x1c0a9c   0xa3  
+ write  0x1c0aa0   0x578fffff  
+ write  0x1c0aa4   0x55e  
+ write  0x1c0aa8   0xa3  
+ write  0x1c0aac   0x578fffff  
+ write  0x1c0a90   0x55f  
+ write  0x1c0a9c   0x423  
+ write  0x1c0aa0   0x6c8bffff  
+ write  0x1c0aa4   0x55f  
+ write  0x1c0aa8   0x423  
+ write  0x1c0aac   0x6c8bffff  
+ write  0x51040   0x48a  
+ write  0x5104c   0x15f  
+ write  0x51050   0x0  
+ write  0x51040   0x88a  
+ write  0x5104c   0x0  
+ write  0x51050   0xe0000  
+ write  0x1c0a90   0x560  
+ write  0x1c0a9c   0x423  
+ write  0x1c0aa0   0x4c8bffff  
+ write  0x1c0aa4   0x560  
+ write  0x1c0aa8   0x423  
+ write  0x1c0aac   0x4c8bffff  
+ write  0x51040   0x48b  
+ write  0x5104c   0x160  
+ write  0x51050   0x0  
+ write  0x51040   0x88b  
+ write  0x5104c   0x0  
+ write  0x51050   0xe0000  
+ write  0x1c0a90   0x561  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4c4a3fff  
+ write  0x1c0aa4   0x561  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4c4a3fff  
+ write  0x51040   0x48c  
+ write  0x5104c   0x161  
+ write  0x51050   0x0  
+ write  0x51040   0x88c  
+ write  0x5104c   0x0  
+ write  0x51050   0x110008  
+ write  0x1c0a90   0x562  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4c023fff  
+ write  0x1c0aa4   0x562  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4c023fff  
+ write  0x51040   0x48d  
+ write  0x5104c   0x162  
+ write  0x51050   0x0  
+ write  0x51040   0x88d  
+ write  0x5104c   0x0  
+ write  0x51050   0x110008  
+ write  0x1c0a90   0x563  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4c463fff  
+ write  0x1c0aa4   0x563  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4c463fff  
+ write  0x51040   0x48e  
+ write  0x5104c   0x163  
+ write  0x51050   0x0  
+ write  0x51040   0x88e  
+ write  0x5104c   0x0  
+ write  0x51050   0x110000  
+ write  0x1c0a90   0x564  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4c4e3fff  
+ write  0x1c0aa4   0x564  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4c4e3fff  
+ write  0x51040   0x48f  
+ write  0x5104c   0x164  
+ write  0x51050   0x0  
+ write  0x51040   0x88f  
+ write  0x5104c   0x0  
+ write  0x51050   0xf00000  
+ write  0x1c0a90   0x565  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4c523fff  
+ write  0x1c0aa4   0x565  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4c523fff  
+ write  0x51040   0x490  
+ write  0x5104c   0x165  
+ write  0x51050   0x0  
+ write  0x51040   0x890  
+ write  0x5104c   0x0  
+ write  0x51050   0xe0000  
+ write  0x1c0a90   0x566  
+ write  0x1c0a9c   0x433  
+ write  0x1c0aa0   0x4dc22fff  
+ write  0x1c0aa4   0x566  
+ write  0x1c0aa8   0x433  
+ write  0x1c0aac   0x4dc22fff  
+ write  0x1c0a90   0x567  
+ write  0x1c0a9c   0x423  
+ write  0x1c0aa0   0x4d8bffff  
+ write  0x1c0aa4   0x567  
+ write  0x1c0aa8   0x423  
+ write  0x1c0aac   0x4d8bffff  
+ write  0x1c0a90   0x568  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4d4a3fff  
+ write  0x1c0aa4   0x568  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4d4a3fff  
+ write  0x51040   0x491  
+ write  0x5104c   0x168  
+ write  0x51050   0x0  
+ write  0x51040   0x891  
+ write  0x5104c   0x0  
+ write  0x51050   0x290008  
+ write  0x1c0a90   0x569  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4d023fff  
+ write  0x1c0aa4   0x569  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4d023fff  
+ write  0x51040   0x492  
+ write  0x5104c   0x169  
+ write  0x51050   0x0  
+ write  0x51040   0x892  
+ write  0x5104c   0x0  
+ write  0x51050   0x290008  
+ write  0x1c0a90   0x56a  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4d463fff  
+ write  0x1c0aa4   0x56a  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4d463fff  
+ write  0x51040   0x493  
+ write  0x5104c   0x16a  
+ write  0x51050   0x0  
+ write  0x51040   0x893  
+ write  0x5104c   0x0  
+ write  0x51050   0x290000  
+ write  0x1c0a90   0x56b  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4d4e3fff  
+ write  0x1c0aa4   0x56b  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4d4e3fff  
+ write  0x51040   0x494  
+ write  0x5104c   0x16b  
+ write  0x51050   0x0  
+ write  0x51040   0x894  
+ write  0x5104c   0x0  
+ write  0x51050   0x1090000  
+ write  0x1c0a90   0x56c  
+ write  0x1c0a9c   0x533  
+ write  0x1c0aa0   0x4d5e3fff  
+ write  0x1c0aa4   0x56c  
+ write  0x1c0aa8   0x533  
+ write  0x1c0aac   0x4d5e3fff  
+ write  0x1c0a90   0x56d  
+ write  0x1c0a9c   0x823  
+ write  0x1c0aa0   0x4f8bffff  
+ write  0x1c0aa4   0x56d  
+ write  0x1c0aa8   0x823  
+ write  0x1c0aac   0x4f8bffff  
+ write  0x1c0a90   0x56e  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0x4fb22fff  
+ write  0x1c0aa4   0x56e  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0x4fb22fff  
+ write  0x51040   0x495  
+ write  0x5104c   0x16e  
+ write  0x51050   0x0  
+ write  0x51040   0x895  
+ write  0x5104c   0x0  
+ write  0x51050   0x190000  
+ write  0x1c0a90   0x56f  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0x4f322fff  
+ write  0x1c0aa4   0x56f  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0x4f322fff  
+ write  0x51040   0x496  
+ write  0x5104c   0x16f  
+ write  0x51050   0x0  
+ write  0x51040   0x896  
+ write  0x5104c   0x0  
+ write  0x51050   0x190000  
+ write  0x1c0a90   0x570  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3128ff  
+ write  0x1c0aa4   0x570  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3128ff  
+ write  0x51040   0x497  
+ write  0x5104c   0x170  
+ write  0x51050   0x0  
+ write  0x51040   0x897  
+ write  0x5104c   0x0  
+ write  0x51050   0x1c0008  
+ write  0x1c0a90   0x571  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3008ff  
+ write  0x1c0aa4   0x571  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3008ff  
+ write  0x51040   0x498  
+ write  0x5104c   0x171  
+ write  0x51050   0x0  
+ write  0x51040   0x898  
+ write  0x5104c   0x0  
+ write  0x51050   0x1c0008  
+ write  0x1c0a90   0x572  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3118ff  
+ write  0x1c0aa4   0x572  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3118ff  
+ write  0x51040   0x499  
+ write  0x5104c   0x172  
+ write  0x51050   0x0  
+ write  0x51040   0x899  
+ write  0x5104c   0x0  
+ write  0x51050   0x1c0000  
+ write  0x1c0a90   0x573  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3138ff  
+ write  0x1c0aa4   0x573  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3138ff  
+ write  0x51040   0x49a  
+ write  0x5104c   0x173  
+ write  0x51050   0x0  
+ write  0x51040   0x89a  
+ write  0x5104c   0x0  
+ write  0x51050   0xf90000  
+ write  0x1c0a90   0x574  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3148ff  
+ write  0x1c0aa4   0x574  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3148ff  
+ write  0x51040   0x49b  
+ write  0x5104c   0x174  
+ write  0x51050   0x0  
+ write  0x51040   0x89b  
+ write  0x5104c   0x0  
+ write  0x51050   0x190000  
+ write  0x1c0a90   0x575  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0x4f3708bf  
+ write  0x1c0aa4   0x575  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0x4f3708bf  
+ write  0x1c0a90   0x576  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0x4f362fff  
+ write  0x1c0aa4   0x576  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0x4f362fff  
+ write  0x1c0a90   0x577  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3528ff  
+ write  0x1c0aa4   0x577  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3528ff  
+ write  0x51040   0x49c  
+ write  0x5104c   0x177  
+ write  0x51050   0x0  
+ write  0x51040   0x89c  
+ write  0x5104c   0x0  
+ write  0x51050   0x300008  
+ write  0x1c0a90   0x578  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3408ff  
+ write  0x1c0aa4   0x578  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3408ff  
+ write  0x51040   0x49d  
+ write  0x5104c   0x178  
+ write  0x51050   0x0  
+ write  0x51040   0x89d  
+ write  0x5104c   0x0  
+ write  0x51050   0x300008  
+ write  0x1c0a90   0x579  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3518ff  
+ write  0x1c0aa4   0x579  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3518ff  
+ write  0x51040   0x49e  
+ write  0x5104c   0x179  
+ write  0x51050   0x0  
+ write  0x51040   0x89e  
+ write  0x5104c   0x0  
+ write  0x51050   0x300000  
+ write  0x1c0a90   0x57a  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3538ff  
+ write  0x1c0aa4   0x57a  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3538ff  
+ write  0x51040   0x49f  
+ write  0x5104c   0x17a  
+ write  0x51050   0x0  
+ write  0x51040   0x89f  
+ write  0x5104c   0x0  
+ write  0x51050   0x1110000  
+ write  0x1c0a90   0x57b  
+ write  0x1c0a9c   0x9c3  
+ write  0x1c0aa0   0x4f3578ff  
+ write  0x1c0aa4   0x57b  
+ write  0x1c0aa8   0x9c3  
+ write  0x1c0aac   0x4f3578ff  
+ write  0x1c0a90   0x57c  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0x4f822fff  
+ write  0x1c0aa4   0x57c  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0x4f822fff  
+ write  0x1c0a90   0x57d  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0x4f82c8bf  
+ write  0x1c0aa4   0x57d  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0x4f82c8bf  
+ write  0x51040   0x4a0  
+ write  0x5104c   0x17d  
+ write  0x51050   0x0  
+ write  0x51040   0x8a0  
+ write  0x5104c   0x0  
+ write  0x51050   0x370001  
+ write  0x1c0a90   0x57e  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0x4f80c8bf  
+ write  0x1c0aa4   0x57e  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0x4f80c8bf  
+ write  0x51040   0x4a1  
+ write  0x5104c   0x17e  
+ write  0x51050   0x0  
+ write  0x51040   0x8a1  
+ write  0x5104c   0x0  
+ write  0x51050   0x370001  
+ write  0x1c0a90   0x57f  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80c4a3  
+ write  0x1c0aa4   0x57f  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80c4a3  
+ write  0x51040   0x4a2  
+ write  0x5104c   0x17f  
+ write  0x51050   0x0  
+ write  0x51040   0x8a2  
+ write  0x5104c   0x0  
+ write  0x51050   0x3a0011  
+ write  0x1c0a90   0x580  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80c023  
+ write  0x1c0aa4   0x580  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80c023  
+ write  0x51040   0x4a3  
+ write  0x5104c   0x180  
+ write  0x51050   0x0  
+ write  0x51040   0x8a3  
+ write  0x5104c   0x0  
+ write  0x51050   0x3a0011  
+ write  0x1c0a90   0x581  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80c463  
+ write  0x1c0aa4   0x581  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80c463  
+ write  0x51040   0x4a4  
+ write  0x5104c   0x181  
+ write  0x51050   0x0  
+ write  0x51040   0x8a4  
+ write  0x5104c   0x0  
+ write  0x51050   0x3a0001  
+ write  0x1c0a90   0x582  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80c4e3  
+ write  0x1c0aa4   0x582  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80c4e3  
+ write  0x51040   0x4a5  
+ write  0x5104c   0x182  
+ write  0x51050   0x0  
+ write  0x51040   0x8a5  
+ write  0x5104c   0x0  
+ write  0x51050   0x1190001  
+ write  0x1c0a90   0x583  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80c523  
+ write  0x1c0aa4   0x583  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80c523  
+ write  0x51040   0x4a6  
+ write  0x5104c   0x183  
+ write  0x51050   0x0  
+ write  0x51040   0x8a6  
+ write  0x5104c   0x0  
+ write  0x51050   0x370001  
+ write  0x1c0a90   0x584  
+ write  0x1c0a9c   0x853  
+ write  0x1c0aa0   0x4f80dc22  
+ write  0x1c0aa4   0x584  
+ write  0x1c0aa8   0x853  
+ write  0x1c0aac   0x4f80dc22  
+ write  0x1c0a90   0x585  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0x4f80d8bf  
+ write  0x1c0aa4   0x585  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0x4f80d8bf  
+ write  0x1c0a90   0x586  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80d4a3  
+ write  0x1c0aa4   0x586  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80d4a3  
+ write  0x51040   0x4a7  
+ write  0x5104c   0x186  
+ write  0x51050   0x0  
+ write  0x51040   0x8a7  
+ write  0x5104c   0x0  
+ write  0x51050   0x420011  
+ write  0x1c0a90   0x587  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80d023  
+ write  0x1c0aa4   0x587  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80d023  
+ write  0x51040   0x4a8  
+ write  0x5104c   0x187  
+ write  0x51050   0x0  
+ write  0x51040   0x8a8  
+ write  0x5104c   0x0  
+ write  0x51050   0x420011  
+ write  0x1c0a90   0x588  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80d463  
+ write  0x1c0aa4   0x588  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80d463  
+ write  0x51040   0x4a9  
+ write  0x5104c   0x188  
+ write  0x51050   0x0  
+ write  0x51040   0x8a9  
+ write  0x5104c   0x0  
+ write  0x51050   0x420001  
+ write  0x1c0a90   0x589  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80d4e3  
+ write  0x1c0aa4   0x589  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80d4e3  
+ write  0x51040   0x4aa  
+ write  0x5104c   0x189  
+ write  0x51050   0x0  
+ write  0x51040   0x8aa  
+ write  0x5104c   0x0  
+ write  0x51050   0x1230001  
+ write  0x1c0a90   0x58a  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f80d5e3  
+ write  0x1c0aa4   0x58a  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f80d5e3  
+ write  0x1c0a90   0x58b  
+ write  0x1c0a9c   0x833  
+ write  0x1c0aa0   0x4f7e2fff  
+ write  0x1c0aa4   0x58b  
+ write  0x1c0aa8   0x833  
+ write  0x1c0aac   0x4f7e2fff  
+ write  0x51040   0x4ab  
+ write  0x5104c   0x18b  
+ write  0x51050   0x4000  
+ write  0x51040   0x8ab  
+ write  0x5104c   0x0  
+ write  0x51050   0x12b0000  
+ write  0x1c0a90   0x58c  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0x4f7ec8bf  
+ write  0x1c0aa4   0x58c  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0x4f7ec8bf  
+ write  0x51040   0x4ac  
+ write  0x5104c   0x18c  
+ write  0x51050   0x0  
+ write  0x51040   0x8ac  
+ write  0x5104c   0x0  
+ write  0x51050   0x370001  
+ write  0x51040   0x4ad  
+ write  0x5104c   0x18c  
+ write  0x51050   0x4000  
+ write  0x51040   0x8ad  
+ write  0x5104c   0x0  
+ write  0x51050   0x370000  
+ write  0x1c0a90   0x58d  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0x4f7cc8bf  
+ write  0x1c0aa4   0x58d  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0x4f7cc8bf  
+ write  0x51040   0x4ae  
+ write  0x5104c   0x18d  
+ write  0x51050   0x0  
+ write  0x51040   0x8ae  
+ write  0x5104c   0x0  
+ write  0x51050   0x370001  
+ write  0x51040   0x4af  
+ write  0x5104c   0x18d  
+ write  0x51050   0x4000  
+ write  0x51040   0x8af  
+ write  0x5104c   0x0  
+ write  0x51050   0x370000  
+ write  0x1c0a90   0x58e  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cc4a3  
+ write  0x1c0aa4   0x58e  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cc4a3  
+ write  0x51040   0x4b0  
+ write  0x5104c   0x18e  
+ write  0x51050   0x0  
+ write  0x51040   0x8b0  
+ write  0x5104c   0x0  
+ write  0x51050   0x3a0011  
+ write  0x51040   0x4b1  
+ write  0x5104c   0x18e  
+ write  0x51050   0x4000  
+ write  0x51040   0x8b1  
+ write  0x5104c   0x0  
+ write  0x51050   0x3a0010  
+ write  0x1c0a90   0x58f  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cc023  
+ write  0x1c0aa4   0x58f  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cc023  
+ write  0x51040   0x4b2  
+ write  0x5104c   0x18f  
+ write  0x51050   0x0  
+ write  0x51040   0x8b2  
+ write  0x5104c   0x0  
+ write  0x51050   0x3a0011  
+ write  0x51040   0x4b3  
+ write  0x5104c   0x18f  
+ write  0x51050   0x4000  
+ write  0x51040   0x8b3  
+ write  0x5104c   0x0  
+ write  0x51050   0x3a0010  
+ write  0x1c0a90   0x590  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cc463  
+ write  0x1c0aa4   0x590  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cc463  
+ write  0x51040   0x4b4  
+ write  0x5104c   0x190  
+ write  0x51050   0x0  
+ write  0x51040   0x8b4  
+ write  0x5104c   0x0  
+ write  0x51050   0x3a0001  
+ write  0x51040   0x4b5  
+ write  0x5104c   0x190  
+ write  0x51050   0x4000  
+ write  0x51040   0x8b5  
+ write  0x5104c   0x0  
+ write  0x51050   0x3a0000  
+ write  0x1c0a90   0x591  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cc4e3  
+ write  0x1c0aa4   0x591  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cc4e3  
+ write  0x51040   0x4b6  
+ write  0x5104c   0x191  
+ write  0x51050   0x0  
+ write  0x51040   0x8b6  
+ write  0x5104c   0x0  
+ write  0x51050   0x1190001  
+ write  0x51040   0x4b7  
+ write  0x5104c   0x191  
+ write  0x51050   0x4000  
+ write  0x51040   0x8b7  
+ write  0x5104c   0x0  
+ write  0x51050   0x1190000  
+ write  0x1c0a90   0x592  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cc523  
+ write  0x1c0aa4   0x592  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cc523  
+ write  0x51040   0x4b8  
+ write  0x5104c   0x192  
+ write  0x51050   0x0  
+ write  0x51040   0x8b8  
+ write  0x5104c   0x0  
+ write  0x51050   0x370001  
+ write  0x51040   0x4b9  
+ write  0x5104c   0x192  
+ write  0x51050   0x4000  
+ write  0x51040   0x8b9  
+ write  0x5104c   0x0  
+ write  0x51050   0x370000  
+ write  0x1c0a90   0x593  
+ write  0x1c0a9c   0x853  
+ write  0x1c0aa0   0x4f7cdc22  
+ write  0x1c0aa4   0x593  
+ write  0x1c0aa8   0x853  
+ write  0x1c0aac   0x4f7cdc22  
+ write  0x51040   0x4ba  
+ write  0x5104c   0x193  
+ write  0x51050   0x4000  
+ write  0x51040   0x8ba  
+ write  0x5104c   0x0  
+ write  0x51050   0x12b0010  
+ write  0x1c0a90   0x594  
+ write  0x1c0a9c   0x843  
+ write  0x1c0aa0   0x4f7cd8bf  
+ write  0x1c0aa4   0x594  
+ write  0x1c0aa8   0x843  
+ write  0x1c0aac   0x4f7cd8bf  
+ write  0x51040   0x4bb  
+ write  0x5104c   0x194  
+ write  0x51050   0x4000  
+ write  0x51040   0x8bb  
+ write  0x5104c   0x0  
+ write  0x51050   0x12b0010  
+ write  0x1c0a90   0x595  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cd4a3  
+ write  0x1c0aa4   0x595  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cd4a3  
+ write  0x51040   0x4bc  
+ write  0x5104c   0x195  
+ write  0x51050   0x0  
+ write  0x51040   0x8bc  
+ write  0x5104c   0x0  
+ write  0x51050   0x420011  
+ write  0x51040   0x4bd  
+ write  0x5104c   0x195  
+ write  0x51050   0x4000  
+ write  0x51040   0x8bd  
+ write  0x5104c   0x0  
+ write  0x51050   0x420010  
+ write  0x1c0a90   0x596  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cd023  
+ write  0x1c0aa4   0x596  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cd023  
+ write  0x51040   0x4be  
+ write  0x5104c   0x196  
+ write  0x51050   0x0  
+ write  0x51040   0x8be  
+ write  0x5104c   0x0  
+ write  0x51050   0x420011  
+ write  0x51040   0x4bf  
+ write  0x5104c   0x196  
+ write  0x51050   0x4000  
+ write  0x51040   0x8bf  
+ write  0x5104c   0x0  
+ write  0x51050   0x420010  
+ write  0x1c0a90   0x597  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cd463  
+ write  0x1c0aa4   0x597  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cd463  
+ write  0x51040   0x4c0  
+ write  0x5104c   0x197  
+ write  0x51050   0x0  
+ write  0x51040   0x8c0  
+ write  0x5104c   0x0  
+ write  0x51050   0x420001  
+ write  0x51040   0x4c1  
+ write  0x5104c   0x197  
+ write  0x51050   0x4000  
+ write  0x51040   0x8c1  
+ write  0x5104c   0x0  
+ write  0x51050   0x420000  
+ write  0x1c0a90   0x598  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cd4e3  
+ write  0x1c0aa4   0x598  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cd4e3  
+ write  0x51040   0x4c2  
+ write  0x5104c   0x198  
+ write  0x51050   0x0  
+ write  0x51040   0x8c2  
+ write  0x5104c   0x0  
+ write  0x51050   0x1230001  
+ write  0x51040   0x4c3  
+ write  0x5104c   0x198  
+ write  0x51050   0x4000  
+ write  0x51040   0x8c3  
+ write  0x5104c   0x0  
+ write  0x51050   0x1230000  
+ write  0x1c0a90   0x599  
+ write  0x1c0a9c   0xa53  
+ write  0x1c0aa0   0x4f7cd5e3  
+ write  0x1c0aa4   0x599  
+ write  0x1c0aa8   0xa53  
+ write  0x1c0aac   0x4f7cd5e3  
+ write  0x51040   0x4c4  
+ write  0x5104c   0x199  
+ write  0x51050   0x4000  
+ write  0x51040   0x8c4  
+ write  0x5104c   0x0  
+ write  0x51050   0x12b0000  
+ write  0x1c0a90   0x59a  
+ write  0x1c0a9c   0x411  
+ write  0x1c0aa0   0xe1ffffff  
+ write  0x1c0aa4   0x59a  
+ write  0x1c0aa8   0x411  
+ write  0x1c0aac   0xe1ffffff  
+ write  0x1c0a90   0x59b  
+ write  0x1c0a9c   0x421  
+ write  0x1c0aa0   0xec8bffff  
+ write  0x1c0aa4   0x59b  
+ write  0x1c0aa8   0x421  
+ write  0x1c0aac   0xec8bffff  
+ write  0x51040   0x4c5  
+ write  0x5104c   0x19b  
+ write  0x51050   0x0  
+ write  0x51040   0x8c5  
+ write  0x5104c   0x0  
+ write  0x51050   0xe0000  
+ write  0x1c0a90   0x59c  
+ write  0x1c0a9c   0x421  
+ write  0x1c0aa0   0xcc8bffff  
+ write  0x1c0aa4   0x59c  
+ write  0x1c0aa8   0x421  
+ write  0x1c0aac   0xcc8bffff  
+ write  0x51040   0x4c6  
+ write  0x5104c   0x19c  
+ write  0x51050   0x0  
+ write  0x51040   0x8c6  
+ write  0x5104c   0x0  
+ write  0x51050   0xe0000  
+ write  0x1c0a90   0x59d  
+ write  0x1c0a9c   0x531  
+ write  0x1c0aa0   0xcc4a3fff  
+ write  0x1c0aa4   0x59d  
+ write  0x1c0aa8   0x531  
+ write  0x1c0aac   0xcc4a3fff  
+ write  0x51040   0x4c7  
+ write  0x5104c   0x19d  
+ write  0x51050   0x0  
+ write  0x51040   0x8c7  
+ write  0x5104c   0x0  
+ write  0x51050   0x110008  
+ write  0x1c0a90   0x59e  
+ write  0x1c0a9c   0x531  
+ write  0x1c0aa0   0xcc463fff  
+ write  0x1c0aa4   0x59e  
+ write  0x1c0aa8   0x531  
+ write  0x1c0aac   0xcc463fff  
+ write  0x51040   0x4c8  
+ write  0x5104c   0x19e  
+ write  0x51050   0x0  
+ write  0x51040   0x8c8  
+ write  0x5104c   0x0  
+ write  0x51050   0x110000  
+ write  0x1c0a90   0x59f  
+ write  0x1c0a9c   0x531  
+ write  0x1c0aa0   0xcc4e3fff  
+ write  0x1c0aa4   0x59f  
+ write  0x1c0aa8   0x531  
+ write  0x1c0aac   0xcc4e3fff  
+ write  0x51040   0x4c9  
+ write  0x5104c   0x19f  
+ write  0x51050   0x0  
+ write  0x51040   0x8c9  
+ write  0x5104c   0x0  
+ write  0x51050   0xf00000  
+ write  0x1c0a90   0x5a0  
+ write  0x1c0a9c   0x531  
+ write  0x1c0aa0   0xcc523fff  
+ write  0x1c0aa4   0x5a0  
+ write  0x1c0aa8   0x531  
+ write  0x1c0aac   0xcc523fff  
+ write  0x51040   0x4ca  
+ write  0x5104c   0x1a0  
+ write  0x51050   0x0  
+ write  0x51040   0x8ca  
+ write  0x5104c   0x0  
+ write  0x51050   0xe0000  
+ write  0x1c0a90   0x5a1  
+ write  0x1c0a9c   0x431  
+ write  0x1c0aa0   0xcdc22fff  
+ write  0x1c0aa4   0x5a1  
+ write  0x1c0aa8   0x431  
+ write  0x1c0aac   0xcdc22fff  
+ write  0x1c0a90   0x5a2  
+ write  0x1c0a9c   0x421  
+ write  0x1c0aa0   0xcd8bffff  
+ write  0x1c0aa4   0x5a2  
+ write  0x1c0aa8   0x421  
+ write  0x1c0aac   0xcd8bffff  
+ write  0x1c0a90   0x5a3  
+ write  0x1c0a9c   0x531  
+ write  0x1c0aa0   0xcd4a3fff  
+ write  0x1c0aa4   0x5a3  
+ write  0x1c0aa8   0x531  
+ write  0x1c0aac   0xcd4a3fff  
+ write  0x51040   0x4cb  
+ write  0x5104c   0x1a3  
+ write  0x51050   0x0  
+ write  0x51040   0x8cb  
+ write  0x5104c   0x0  
+ write  0x51050   0x290008  
+ write  0x1c0a90   0x5a4  
+ write  0x1c0a9c   0x531  
+ write  0x1c0aa0   0xcd463fff  
+ write  0x1c0aa4   0x5a4  
+ write  0x1c0aa8   0x531  
+ write  0x1c0aac   0xcd463fff  
+ write  0x51040   0x4cc  
+ write  0x5104c   0x1a4  
+ write  0x51050   0x0  
+ write  0x51040   0x8cc  
+ write  0x5104c   0x0  
+ write  0x51050   0x290000  
+ write  0x1c0a90   0x5a5  
+ write  0x1c0a9c   0x531  
+ write  0x1c0aa0   0xcd4e3fff  
+ write  0x1c0aa4   0x5a5  
+ write  0x1c0aa8   0x531  
+ write  0x1c0aac   0xcd4e3fff  
+ write  0x51040   0x4cd  
+ write  0x5104c   0x1a5  
+ write  0x51050   0x0  
+ write  0x51040   0x8cd  
+ write  0x5104c   0x0  
+ write  0x51050   0x1090000  
+ write  0x1c0a90   0x5a6  
+ write  0x1c0a9c   0x531  
+ write  0x1c0aa0   0xcd5e3fff  
+ write  0x1c0aa4   0x5a6  
+ write  0x1c0aa8   0x531  
+ write  0x1c0aac   0xcd5e3fff  
+ write  0x1c0a90   0x5a7  
+ write  0x1c0a9c   0x21  
+ write  0x1c0aa0   0x4c8bffff  
+ write  0x1c0aa4   0x5a7  
+ write  0x1c0aa8   0x21  
+ write  0x1c0aac   0x4c8bffff  
+ write  0x51040   0x4ce  
+ write  0x5104c   0x1a7  
+ write  0x51050   0x0  
+ write  0x51040   0x8ce  
+ write  0x5104c   0x0  
+ write  0x51050   0xe0000  
\ No newline at end of file
diff --git a/fvlproto/run.sh b/fvlproto/run.sh
new file mode 100644
index 0000000..f8a6573
--- /dev/null
+++ b/fvlproto/run.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+#./build/fvlproto -c 3d5 -n 4 -- --lb-mode sw --rx 2,2 --w 4,6,7,8,9 --lb-proto 50
+
+#./build/fvlproto -c 3d5 -n 4 -- --lb-mode sw --rx 1,2 --w 4,6,7,8,9 --lb-proto 50
+#./build/fvlproto -c 3d5 -n 4 -- --lb-mode sw --rx 0,2 --w 4,6,7,8,9 --lb-proto 50
+
+#./build/fvlproto -c 7fff -n 4 -- --lb-mode sw --rx 0,0 --w 4,6,7,8,9 --lb-proto 50
+#RX - worked for me
+#./build/fvlproto -c 3fff -n 4 -- --lb-mode sw --rx 0,2 --w 1,4,5,6,7 --lb-proto 50
+#./build/fvlproto -c 3fff -n 4 -- --lb-mode rss --rx 0,2 --w 1,4,5,6,7 --lb-proto 50
+
+
+#Shobhi
+
+
+#./build/fvlproto -c 3fff -n 4 -- --rx 0,2 --tx 1,12:20:30:40:50:60 --w 4,6,7,8,9   --lb-proto 50 --lb-mode sw --input regs.txt
+./build/fvlproto -c 3fff -n 4 -- --rx 0,2 --w 4,6,7,8,9 --lb-mode sw --input regs.txt
+
+
diff --git a/fvlproto/test/Makefile b/fvlproto/test/Makefile
new file mode 100644
index 0000000..00b878b
--- /dev/null
+++ b/fvlproto/test/Makefile
@@ -0,0 +1,29 @@
+#   BSD LICENSE
+
+ifeq ($(RTE_SDK),)
+$(error "Please define RTE_SDK environment variable")
+endif
+
+# Default target, can be overriden by command line or environment
+RTE_TARGET ?= x86_64-native-linuxapp-gcc
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+# binary name
+APP = readreg
+
+# all source are stored in SRCS-y
+SRCS-y := readreg.c
+
+CFLAGS += -O3 -g
+CFLAGS += $(WERROR_FLAGS)
+#CFLAGS_config.o := -D_GNU_SOURCE
+
+# workaround for a gcc bug with noreturn attribute
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
+ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
+#CFLAGS_main.o += -Wno-return-type
+CFLAGS_readreg.o += -Wno-return-type
+endif
+
+include $(RTE_SDK)/mk/rte.extapp.mk
diff --git a/fvlproto/test/readreg.c b/fvlproto/test/readreg.c
new file mode 100644
index 0000000..717ddb3
--- /dev/null
+++ b/fvlproto/test/readreg.c
@@ -0,0 +1,167 @@
+// readreg.c
+
+#include <stdio.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include <rte_ethdev.h>
+//#include "i40e.h"
+//#include "trb.h"                  
+
+enum {
+	I40E_TRB_L2_PTP = 0,           /*  0 */
+	I40E_TRB_L2_FIP,			   /*  1 */
+	I40E_TRB_VXLAN_KEY,			   /*  2 */
+	I40E_TRB_GENEVE_KEY,		   /*  3 */
+	I40E_TRB_L2_LLDP,			   /*  4 */
+	I40E_TRB_L2_MPLS,			   /*  5 */
+	I40E_TRB_GENERIC_UDP_KEY,	   /*  6 */
+	I40E_TRB_L2_NSH,			   /*  7 */
+	I40E_TRB_L2_888E,			   /*  8 */
+	I40E_TRB_L2_ARP,			   /*  9 */
+	I40E_TRB_GRE_KEY,			   /* 10 */
+	I40E_TRB_GRE_KEYC,		       /* 11 **/
+	I40E_TRB_L3_IPV4,			   /* 12 */
+	I40E_TRB_L3_IPV6,			   /* 13 */
+	I40E_TRB_L2_FCOE,			   /* 14 */
+	I40E_TRB_GRE_NO_KEY,		   /* 15 GRENAT */
+	I40E_TRB_TEREDO,			   /* 16 NAT */
+	I40E_TRB_TCP,				   /* 17 */
+	I40E_TRB_UDP,				   /* 18 */
+	I40E_TRB_SCTP,				   /* 19 */
+	I40E_TRB_ICMP,				   /* 20 */
+	I40E_TRB_RESERVED_21,		   /* 21 */
+	I40E_TRB_RESERVED_22,		   /* 22 */
+	I40E_TRB_IPV6_ICMP,			   /* 23 */
+	I40E_TRB_IPV6_OTHER,		   /* 24 */
+	I40E_TRB_IPV6_DST_ROUTE,	   /* 25 */
+	I40E_TRB_FC_RDY_RW,			   /* 26 */
+	I40E_TRB_FC_DATA,			   /* 27 */
+	I40E_TRB_FC_VFT,			   /* 28 */
+	I40E_TRB_FC_RSP,			   /* 29 */
+	I40E_TRB_FC_OTHER,			   /* 30 */
+	I40E_TRB_CLOUD_MACVLAN,		   /* 31 */
+	I40E_TRB_CLOUD_MAC,			   /* 32 */
+	I40E_TRB_L2_PAYLOAD,		   /* 33 */
+	I40E_TRB_L3_PAYLOAD,		   /* 34 */
+	I40E_TRB_L4_PAYLOAD,		   /* 35 */
+	I40E_TRB_L2_HDR0,			   /* 36 */
+	I40E_TRB_L2_HDR1,			   /* 37 IP First Nibble */
+	I40E_TRB_L2_HDR2,			   /* 38 FCRCTL */
+	I40E_TRB_L2_HDR_STAG,		   /* 39 IDLE */
+	I40E_TRB_L2_HDR_EXVLAN,		   /* 40 VXLANGPE */
+	I40E_TRB_L2_HDR_VLAN,		   /* 41 UDPTIMESYNC1 */
+	I40E_TRB_L2_CTS,			   /* 42 NSH_TUNNEL */
+	I40E_TRB_L2_HDR7,			   /* 43 GRE */
+	I40E_TRB_L2_HDR8,			   /* 44 IPV4_FRAG */
+	I40E_TRB_L2_HDR9,			   /* 45 */
+	I40E_TRB_L2_RESERVED46,		   /* 46 */
+	I40E_TRB_L2_RESERVED47,		   /* 47 */
+	I40E_TRB_IP_HDR_FRAG,		   /* 48 IPV6_FRAG */
+	I40E_TRB_IP_INNER_HDR_OP,	   /* 49 MACDUMMY */
+	I40E_TRB_TCP_HDR_OP,		   /* 50 */
+	I40E_TRB_L2_RESERVED51,		   /* 51 */
+	I40E_TRB_EXT_IPV4,			   /* 52 */
+	I40E_TRB_EXT_IPV6,			   /* 53 */
+	I40E_TRB_FC_BIT23,			   /* 54 */
+	I40E_TRB_TCP_SYN,			   /* 55 */
+	I40E_TRB_FC_BIT22,			   /* 56 */
+	I40E_TRB_FLEX_OAM_VXLAN_GPE,   /* 57 */
+	I40E_TRB_FLEX_OAM_GENEVE,	   /* 58 */
+	I40E_TRB_FLEX_RESERVED59,	   /* 59 */
+	I40E_TRB_FLEX_RESERVED60,	   /* 60 */
+	I40E_TRB_L2_UCAST_MAC,		   /* 61 */
+	I40E_TRB_L2_MCAST_MAC,		   /* 62 */
+	I40E_TRB_L2_BCAST_MAC		   /* 63 */
+};
+
+// from i40e.h
+int i40e_dev_reg_write(uint8_t portid, uint32_t reg_addr, uint32_t reg_val, int ctl);
+
+int i40e_dev_reg_read(uint8_t portid, uint32_t reg_addr, uint64_t *reg_val, int ctl);
+// from i40e_int.h
+/* Some defines from internal i40e_register_x710_int.h */
+
+#define I40E_GLQF_PTYPE(_i, _j)           (0x00268200 + ((_i) * 4 + (_j) * 8)) /* _i=0...1, _j=0...63 */ /* Reset: CORER */
+#define I40E_GLQF_PTYPE_MAX_INDEX        1
+#define I40E_GLQF_PTYPE_PROT_LAYER_SHIFT 0
+#define I40E_GLQF_PTYPE_PROT_LAYER_MASK  I40E_MASK(0xFFFFFFFF, I40E_GLQF_PTYPE_PROT_LAYER_SHIFT)
+
+#define I40E_GLQF_PTYPE_ENA(_i, _j)           (0x00268600 + ((_i) * 4 + (_j) * 8)) /* _i=0...1, _j=0...63 */ /* Reset: CORER */
+#define I40E_GLQF_PTYPE_ENA_MAX_INDEX        1
+#define I40E_GLQF_PTYPE_ENA_PROT_LAYER_SHIFT 0
+#define I40E_GLQF_PTYPE_ENA_PROT_LAYER_MASK  I40E_MASK(0xFFFFFFFF, I40E_GLQF_PTYPE_ENA_PROT_LAYER_SHIFT)
+
+#define I40E_GLPPRS_INDIRECT_ADDRESS            0x001C0A90 /* Reset: CORER */
+#define I40E_GLPPRS_INDIRECT_ADDRESS_ADDR_SHIFT 0
+#define I40E_GLPPRS_INDIRECT_ADDRESS_ADDR_MASK  I40E_MASK(0xFFFF, I40E_GLPPRS_INDIRECT_ADDRESS_ADDR_SHIFT)
+
+#define I40E_GLPPRS_INDIRECT_DATA(_i)        (0x001C0A94 + ((_i) * 4)) /* _i=0...3 */ /* Reset: CORER */
+#define I40E_GLPPRS_INDIRECT_DATA_MAX_INDEX  3
+#define I40E_GLPPRS_INDIRECT_DATA_DATA_SHIFT 0
+#define I40E_GLPPRS_INDIRECT_DATA_DATA_MASK  I40E_MASK(0xFFFFFFFF, I40E_GLPPRS_INDIRECT_DATA_DATA_SHIFT)
+
+#define I40E_GLRCU_INDIRECT_ADDRESS                              0x001C0AA4 /* Reset: CORER */
+#define I40E_GLRCU_INDIRECT_ADDRESS_GLRCU_INDIRECT_ADDRESS_SHIFT 0
+#define I40E_GLRCU_INDIRECT_ADDRESS_GLRCU_INDIRECT_ADDRESS_MASK  I40E_MASK(0xFFFF, I40E_GLRCU_INDIRECT_ADDRESS_GLRCU_INDIRECT_ADDRESS_SHIFT)
+
+#define I40E_GLRCU_INDIRECT_DATA(_i)                       (0x001C0AA8 + ((_i) * 4)) /* _i=0...1 */ /* Reset: CORER */
+#define I40E_GLRCU_INDIRECT_DATA_MAX_INDEX                 1
+#define I40E_GLRCU_INDIRECT_DATA_GLRCU_INDIRECT_DATA_SHIFT 0
+#define I40E_GLRCU_INDIRECT_DATA_GLRCU_INDIRECT_DATA_MASK  I40E_MASK(0xFFFFFFFF, I40E_GLRCU_INDIRECT_DATA_GLRCU_INDIRECT_DATA_SHIFT)
+
+#define I40E_GLQF_L3_MAP(_i)                (0x0026C700 + ((_i) * 4)) /* _i=0...63 */ /* Reset: CORER */
+#define I40E_GLQF_L3_MAP_MAX_INDEX          63
+#define I40E_GLQF_L3_MAP_TR_IDX_CODE_SHIFT  0
+#define I40E_GLQF_L3_MAP_TR_IDX_CODE_MASK   I40E_MASK(0x3F, I40E_GLQF_L3_MAP_TR_IDX_CODE_SHIFT)
+#define I40E_GLQF_L3_MAP_TR_OPCODE_SHIFT    6
+#define I40E_GLQF_L3_MAP_TR_OPCODE_MASK     I40E_MASK(0x3, I40E_GLQF_L3_MAP_TR_OPCODE_SHIFT)
+#define I40E_GLQF_L3_MAP_MIN_SKIP_GAP_SHIFT 8
+#define I40E_GLQF_L3_MAP_MIN_SKIP_GAP_MASK  I40E_MASK(0x7F, I40E_GLQF_L3_MAP_MIN_SKIP_GAP_SHIFT)
+#define I40E_GLQF_L3_MAP_MIN_SKIP_ENA_SHIFT 15
+#define I40E_GLQF_L3_MAP_MIN_SKIP_ENA_MASK  I40E_MASK(0x1, I40E_GLQF_L3_MAP_MIN_SKIP_ENA_SHIFT)
+
+
+#define MEMTYPE_HEADER_SKIP 0x000
+#define MEMTYPE_PROTO       0x100
+#define MEMTYPE_PTYPE       0x500
+
+#define PROTO_SPACE_IPV4    1
+#define PROTO_SPACE_IPV6    2
+
+#define SKIP_SELECT_CONST   2
+
+static void i40_read_memconfig(uint8_t portid, uint32_t memtype, uint32_t entry)
+{
+	uint64_t val;
+	printf(" memtype + entry = %x in %s\n", memtype + entry, __func__);
+	i40e_dev_reg_write(portid, I40E_GLPPRS_INDIRECT_ADDRESS, memtype + entry, 0);
+	i40e_dev_reg_read(portid, I40E_GLPPRS_INDIRECT_DATA(2), &val, 0);
+	printf("I40E_GLPPRS_INDIRECT_DATA(2)=%lx in %s\n", val, __func__);
+	i40e_dev_reg_read(portid, I40E_GLPPRS_INDIRECT_DATA(3), &val, 0);
+	printf("I40E_GLPPRS_INDIRECT_DATA(3)=%lx in %s\n", val, __func__);	
+	printf("****************************************************\n" );	
+	i40e_dev_reg_write(portid, I40E_GLRCU_INDIRECT_ADDRESS, memtype + entry, 0);
+	i40e_dev_reg_read(portid, I40E_GLRCU_INDIRECT_DATA(0), &val, 0);
+	printf("I40E_GLRCU_INDIRECT_DATA(0)=%lx\n",val);
+	i40e_dev_reg_read(portid, I40E_GLRCU_INDIRECT_DATA(1), &val, 0);
+	printf("I40E_GLRCU_INDIRECT_DATA(1)=%lx\n",val);	
+}
+
+int main(int argc, char **argv)
+{
+    uint8_t portid = 0;
+    int ret;
+    uint32_t proto_entry = 36; // ICMPv4
+    ret = rte_eal_init(argc, argv);
+    if (ret < 0) {
+    	printf("rte_eal_init() failed in %s\n",__func__);
+    	return -1;
+    }
+    printf("calling i40_read_memconfig() for  MEMTYPE_PROTO + 0x24 in %s\n",__func__);
+    i40_read_memconfig(portid, MEMTYPE_PROTO, proto_entry);
+
+    printf("calling i40_read_memconfig() for  MEMTYPE_HEADER_SKIP + I40E_TRB_ICMP in %s\n",__func__);    
+    i40_read_memconfig(portid, MEMTYPE_HEADER_SKIP, I40E_TRB_ICMP);
+    
+    return ret;
+}
diff --git a/fvlproto/test/run.sh b/fvlproto/test/run.sh
new file mode 100644
index 0000000..0ece4b2
--- /dev/null
+++ b/fvlproto/test/run.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+./build/readreg -c 3fff -n 4
\ No newline at end of file
-- 
2.5.5



More information about the dev mailing list