/SPARTAN/trunk/arch/ia64/src/cpu/cpu.c |
---|
14,25 → 14,28 |
int *p=&IVT; |
volatile __u64 hlp,hlp2; |
int psr = 0x2000; |
__asm__ volatile ( |
"mov r15 = %0;;" |
"mov cr2 = r15;;" |
"mov psr.l = %1;;" |
"mov cr2 = %0;;\n" |
"mov psr.l = %1;;\n" |
"srlz.i;" |
"srlz.d;;" |
: |
: "r" (p), "r" (psr) |
: "r15" |
); |
/*Switch register bank of regs r16 .. r31 to 1 It is automaticly cleared on exception*/ |
__asm__ volatile ("bsw.1;;"); |
__asm__ volatile |
( |
"bsw.1;;\n" |
); |
} |
/SPARTAN/trunk/arch/ia64/src/start.S |
---|
34,7 → 34,9 |
kernel_image_start: |
.auto |
# initialize PSR |
mov psr.l = r0 |
mov psr.l = r0;; |
srlz.i; |
srlz.d;; |
# initialize register stack |
mov ar.rsc = r0 |