summaryrefslogtreecommitdiff
path: root/src/arch/i386/lib/copy_and_run.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/i386/lib/copy_and_run.c')
-rw-r--r--src/arch/i386/lib/copy_and_run.c53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/arch/i386/lib/copy_and_run.c b/src/arch/i386/lib/copy_and_run.c
deleted file mode 100644
index 9cec90a81c..0000000000
--- a/src/arch/i386/lib/copy_and_run.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* by yhlu 6.2005
- moved from nrv2v.c and some lines from crt0.S
- 2006/05/02 - stepan: move nrv2b to an extra file.
-*/
-
-#include <console/console.h>
-#include <stdint.h>
-#include <string.h>
-
-#if CONFIG_COMPRESS
-#define ENDIAN 0
-#define BITSIZE 32
-#include "../lib/nrv2b.c"
-#endif
-
-void copy_and_run_core(u8 *src, u8 *dst, unsigned long ilen, unsigned ebp)
-{
- unsigned long olen;
-
-#if CONFIG_USE_INIT
- printk_spew("src=%08x\r\n",src);
- printk_spew("dst=%08x\r\n",dst);
-#else
- print_spew("src="); print_spew_hex32((uint32_t)src); print_spew("\r\n");
- print_spew("dst="); print_spew_hex32((uint32_t)dst); print_spew("\r\n");
-#endif
-
-#if !CONFIG_COMPRESS
- print_debug("Copying image to RAM.\r\n");
- memcpy(src, dst, ilen);
- olen = ilen;
-#else
- print_debug("Uncompressing image to RAM.\r\n");
-// dump_mem(src, src+0x100);
- olen = unrv2b(src, dst, &ilen);
-#endif
-
-// dump_mem(dst, dst+0x100);
-#if CONFIG_USE_INIT
- printk_spew("image length = %08x\r\n", olen);
-#else
- print_spew("image length = "); print_spew_hex32(olen); print_spew("\r\n");
-#endif
- print_debug("Jumping to image.\r\n");
-
- __asm__ volatile (
- "movl %%eax, %%ebp\n\t"
- "cli\n\t"
- "jmp *%%edi\n\t"
- :: "a"(ebp), "D"(dst)
- );
-
-}