diff options
-rw-r--r-- | src/cpu/amd/car/copy_and_run.c | 8 | ||||
-rw-r--r-- | src/cpu/x86/car/copy_and_run.c | 8 | ||||
-rw-r--r-- | src/lib/nrv2b.c | 6 | ||||
-rw-r--r-- | src/stream/rom_stream.c | 5 |
4 files changed, 10 insertions, 17 deletions
diff --git a/src/cpu/amd/car/copy_and_run.c b/src/cpu/amd/car/copy_and_run.c index b81297c149..76b8a8b847 100644 --- a/src/cpu/amd/car/copy_and_run.c +++ b/src/cpu/amd/car/copy_and_run.c @@ -38,17 +38,15 @@ static void copy_and_run(void) #else __asm__ volatile ( - "leal _liseg, %0\n\t" - "leal _iseg, %1\n\t" + "leal _liseg, %0\n\t" + "leal _iseg, %1\n\t" : "=a" (src) , "=b" (dst) ); print_debug_cp_run("src=",(uint32_t)src); print_debug_cp_run("dst=",(uint32_t)dst); - olen = unrv2b(src, dst, &ilen); - print_debug_cp_run("linxbios_ram.nrv2b length = ", ilen); - + olen = unrv2b(src, dst); #endif print_debug_cp_run("linxbios_ram.bin length = ", olen); diff --git a/src/cpu/x86/car/copy_and_run.c b/src/cpu/x86/car/copy_and_run.c index 98a47c9bc6..5c61177a10 100644 --- a/src/cpu/x86/car/copy_and_run.c +++ b/src/cpu/x86/car/copy_and_run.c @@ -4,6 +4,8 @@ */ #if CONFIG_COMPRESS +#define ENDIAN 0 +#define BITSIZE 32 #include "lib/nrv2b.c" #endif @@ -11,9 +13,7 @@ static void copy_and_run(unsigned cpu_reset) { uint8_t *src, *dst; unsigned long dst_len; - unsigned long ilen = 0, olen = 0, last_m_off = 1; - uint32_t bb = 0; - unsigned bc = 0; + unsigned long ilen, olen; print_debug("Copying LinuxBIOS to ram.\r\n"); @@ -44,7 +44,7 @@ static void copy_and_run(unsigned cpu_reset) // dump_mem(src, src+0x100); - unrv2b(src, dst); + olen=unrv2b(src, dst); #endif // dump_mem(dst, dst+0x100); diff --git a/src/lib/nrv2b.c b/src/lib/nrv2b.c index e9d6ebf8b0..e9956cfcfa 100644 --- a/src/lib/nrv2b.c +++ b/src/lib/nrv2b.c @@ -29,7 +29,7 @@ #define GETBIT(bb, src, ilen) GETBIT_LE32(bb, src, ilen) #endif -static unsigned long unrv2b(uint8_t * src, uint8_t * dst, unsigned long *ilen_p) +static unsigned long unrv2b(uint8_t * src, uint8_t * dst) { unsigned long ilen = 0, olen = 0, last_m_off = 1; uint32_t bb = 0; @@ -38,8 +38,8 @@ static unsigned long unrv2b(uint8_t * src, uint8_t * dst, unsigned long *ilen_p) // skip length src += 4; + /* FIXME: check olen with the length stored in first 4 bytes */ - /* FIXME: check olen with len on first 4 bytes */ for (;;) { unsigned int m_off, m_len; while (GETBIT(bb, src, ilen)) { @@ -77,8 +77,6 @@ static unsigned long unrv2b(uint8_t * src, uint8_t * dst, unsigned long *ilen_p) } while (--m_len > 0); } - *ilen_p = ilen; - return olen; } diff --git a/src/stream/rom_stream.c b/src/stream/rom_stream.c index f62f13d2f1..c9f2fa3f4d 100644 --- a/src/stream/rom_stream.c +++ b/src/stream/rom_stream.c @@ -27,15 +27,12 @@ extern unsigned char _heap, _eheap; /*static const */unsigned char *rom_end = (unsigned char *)(CONFIG_ROM_STREAM_START + PAYLOAD_SIZE - 1); /*XXXXXXXXXXXXXX */ -unsigned char *rom_start = (void *)CONFIG_ROM_STREAM_START; -unsigned char *rom_end = (void *)(CONFIG_ROM_STREAM_START + PAYLOAD_SIZE - 1); static const unsigned char *rom; int stream_init(void) { #if CONFIG_COMPRESSED_ROM_STREAM unsigned long dest; - unsigned long ilen; unsigned long olen; #endif @@ -60,7 +57,7 @@ int stream_init(void) #endif printk_debug("Uncompressing to RAM 0x%08lx ", dest); - olen = unrv2b((uint8_t *) rom_start, (uint8_t *)dest, &ilen ); + olen = unrv2b((uint8_t *) rom_start, (uint8_t *)dest ); printk_debug(" ilen = 0x%08lx olen = 0x%08lx done.\n", ilen, olen); rom_end = dest + olen - 1; rom = dest; |