Index: boot/arm/at91/boot2/boot2.c =================================================================== RCS file: /cognet/ncvs/src/sys/boot/arm/at91/boot2/boot2.c,v retrieving revision 1.1 diff -u -p -r1.1 boot2.c --- boot/arm/at91/boot2/boot2.c 20 Oct 2006 09:12:05 -0000 1.1 +++ boot/arm/at91/boot2/boot2.c 6 Nov 2006 22:24:14 -0000 @@ -23,6 +23,7 @@ __FBSDID("$FreeBSD: src/sys/boot/arm/at9 #include #include +#include #include @@ -225,11 +226,15 @@ load(void) } for (i = 0; i < 2; i++) { p = (caddr_t)ep[i].p_paddr; + if (p >= (caddr_t)KERNBASE) + p = (caddr_t)((vm_offset_t)p - KERNBASE + 0x20000000); fs_off = ep[i].p_offset; if (xfsread(ino, p, ep[i].p_filesz)) return; } addr = eh.e_entry; + if (addr >= KERNBASE) + addr = addr - KERNBASE + 0x20000000; ((void(*)(int))addr)(RB_BOOTINFO | (opts & RBX_MASK)); }