=================================================================== RCS file: /cvs/prex-old/boot/arm/cats/head.S,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- prex-old/boot/arm/cats/head.S 2008/07/17 22:00:25 1.2 +++ prex-old/boot/arm/cats/head.S 2008/07/20 23:37:35 1.3 @@ -106,6 +106,24 @@ * Start kernel */ ENTRY(start_kernel) + /* + * XXX Copy kernel vectors and their displacement constants + * XXX to the beginning of physical memory. + * NOTE: it shouldn't hurt if we replace first 15 words of ourselfes. + */ + mov r2, #0 /* counter */ + mov r3, #15 /* num. of current insn */ + mov r4, #0 /* save addr */ + mov r5, r0 /* load addr */ + mov r6, #0 /* data */ + +copy_insn: + ldr r6, [r5], #4 /* load insn */ + str r6, [r4], #4 /* save insn */ + add r2, r2, #1 /* increment counter */ + tst r2, r3 + bne copy_insn + bx r0 .section .tail,"ax"