aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/compressed/misc.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c
index 4657e877bf8f..51b87b54a7ef 100644
--- a/arch/arm/boot/compressed/misc.c
+++ b/arch/arm/boot/compressed/misc.c
@@ -26,8 +26,6 @@ unsigned int __machine_arch_type;
26#include <linux/linkage.h> 26#include <linux/linkage.h>
27#include <asm/string.h> 27#include <asm/string.h>
28 28
29#include <asm/unaligned.h>
30
31 29
32static void putstr(const char *ptr); 30static void putstr(const char *ptr);
33extern void error(char *x); 31extern void error(char *x);
@@ -149,13 +147,12 @@ void *memcpy(void *__dest, __const void *__src, size_t __n)
149} 147}
150 148
151/* 149/*
152 * gzip delarations 150 * gzip declarations
153 */ 151 */
154extern char input_data[]; 152extern char input_data[];
155extern char input_data_end[]; 153extern char input_data_end[];
156 154
157unsigned char *output_data; 155unsigned char *output_data;
158unsigned long output_ptr;
159 156
160unsigned long free_mem_ptr; 157unsigned long free_mem_ptr;
161unsigned long free_mem_end_ptr; 158unsigned long free_mem_end_ptr;
@@ -183,13 +180,11 @@ asmlinkage void __div0(void)
183extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x)); 180extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x));
184 181
185 182
186unsigned long 183void
187decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, 184decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p,
188 unsigned long free_mem_ptr_end_p, 185 unsigned long free_mem_ptr_end_p,
189 int arch_id) 186 int arch_id)
190{ 187{
191 unsigned char *tmp;
192
193 output_data = (unsigned char *)output_start; 188 output_data = (unsigned char *)output_start;
194 free_mem_ptr = free_mem_ptr_p; 189 free_mem_ptr = free_mem_ptr_p;
195 free_mem_end_ptr = free_mem_ptr_end_p; 190 free_mem_end_ptr = free_mem_ptr_end_p;
@@ -197,12 +192,8 @@ decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p,
197 192
198 arch_decomp_setup(); 193 arch_decomp_setup();
199 194
200 tmp = (unsigned char *) (((unsigned long)input_data_end) - 4);
201 output_ptr = get_unaligned_le32(tmp);
202
203 putstr("Uncompressing Linux..."); 195 putstr("Uncompressing Linux...");
204 do_decompress(input_data, input_data_end - input_data, 196 do_decompress(input_data, input_data_end - input_data,
205 output_data, error); 197 output_data, error);
206 putstr(" done, booting the kernel.\n"); 198 putstr(" done, booting the kernel.\n");
207 return output_ptr;
208} 199}