sh: Consolidate the sh64 changes in arch/sh/boot/compressed/misc_32.c

This makes some minor changes to misc_32.c so that it can be used by
sh64.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Paul Mundt 2009-07-11 13:30:38 -04:00
parent 07e88e1bfc
commit b14c6d428a
1 changed files with 14 additions and 3 deletions

View File

@ -26,7 +26,10 @@
#undef memcpy #undef memcpy
#define memzero(s, n) memset ((s), 0, (n)) #define memzero(s, n) memset ((s), 0, (n))
static void error(char *m); /* cache.c */
#define CACHE_ENABLE 0
#define CACHE_DISABLE 1
int cache_control(unsigned int command);
extern char input_data[]; extern char input_data[];
extern int input_len; extern int input_len;
@ -111,9 +114,15 @@ static void error(char *x)
while(1); /* Halt */ while(1); /* Halt */
} }
#ifdef CONFIG_SUPERH64
#define stackalign 8
#else
#define stackalign 4
#endif
#define STACK_SIZE (4096) #define STACK_SIZE (4096)
long user_stack [STACK_SIZE]; long __attribute__ ((aligned(stackalign))) user_stack[STACK_SIZE];
long* stack_start = &user_stack[STACK_SIZE]; long *stack_start = &user_stack[STACK_SIZE];
void decompress_kernel(void) void decompress_kernel(void)
{ {
@ -129,6 +138,8 @@ void decompress_kernel(void)
free_mem_end_ptr = free_mem_ptr + HEAP_SIZE; free_mem_end_ptr = free_mem_ptr + HEAP_SIZE;
puts("Uncompressing Linux... "); puts("Uncompressing Linux... ");
cache_control(CACHE_ENABLE);
decompress(input_data, input_len, NULL, NULL, output, NULL, error); decompress(input_data, input_len, NULL, NULL, output, NULL, error);
cache_control(CACHE_DISABLE);
puts("Ok, booting the kernel.\n"); puts("Ok, booting the kernel.\n");
} }