2 moved from nrv2v.c and some lines from crt0.S
3 2006/05/02 - stepan: move nrv2b to an extra file.
12 static void copy_and_run(unsigned cpu_reset)
16 unsigned long dst_len;
18 unsigned long ilen, olen;
22 print_debug("Copying coreboot to RAM.\r\n");
28 : "=a" (src), "=b" (dst), "=c" (dst_len)
30 memcpy(src, dst, dst_len);
32 print_debug("Uncompressing coreboot to RAM.\r\n");
37 : "=a" (src) , "=b" (dst)
41 printk_spew("src=%08x\r\n",src);
42 printk_spew("dst=%08x\r\n",dst);
44 print_spew("src="); print_spew_hex32((uint32_t)src); print_spew("\r\n");
45 print_spew("dst="); print_spew_hex32((uint32_t)dst); print_spew("\r\n");
48 // dump_mem(src, src+0x100);
50 olen = unrv2b(src, dst, &ilen);
53 // dump_mem(dst, dst+0x100);
55 printk_spew("coreboot_ram.bin length = %08x\r\n", olen);
57 print_spew("coreboot_ram.bin length = "); print_spew_hex32(olen); print_spew("\r\n");
59 print_debug("Jumping to coreboot.\r\n");
63 "movl $0xffffffff, %ebp\n\t"
74 "leal _iseg, %edi\n\t"