From 60bfafb86679add73b6018d193a35f74ed1ea895 Mon Sep 17 00:00:00 2001
From: noz <noz@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Tue, 27 May 2008 15:01:07 +0000
Subject: Don't nuke fw_argX from CFE - Thanks jhansen

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11275 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 target/linux/brcm-2.4/image/lzma-loader/src/decompress.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

(limited to 'target/linux/brcm-2.4')

diff --git a/target/linux/brcm-2.4/image/lzma-loader/src/decompress.c b/target/linux/brcm-2.4/image/lzma-loader/src/decompress.c
index ec510e21e..ce2876a30 100644
--- a/target/linux/brcm-2.4/image/lzma-loader/src/decompress.c
+++ b/target/linux/brcm-2.4/image/lzma-loader/src/decompress.c
@@ -120,7 +120,9 @@ static __inline__ unsigned char get_byte(void)
 
 /* should be the first function */
 void entry(unsigned long icache_size, unsigned long icache_lsize, 
-	unsigned long dcache_size, unsigned long dcache_lsize)
+	unsigned long dcache_size, unsigned long dcache_lsize,
+	unsigned long fw_arg0, unsigned long fw_arg1,
+	unsigned long fw_arg2, unsigned long fw_arg3)
 {
 	unsigned int i;  /* temp value */
 	unsigned int lc; /* literal context bits */
@@ -170,6 +172,8 @@ void entry(unsigned long icache_size, unsigned long icache_lsize,
 		blast_icache(icache_size, icache_lsize);
 
 		/* Jump to load address */
-		((void (*)(void)) LOADADDR)();
+		((void (*)(unsigned long, unsigned long, unsigned long,
+			unsigned long)) LOADADDR)(fw_arg0, fw_arg1, fw_arg2,
+				fw_arg3);
 	}
 }
-- 
cgit v1.2.3