diff -rNU2 linux-2.6.7-rc3/arch/ia64/kernel/entry.S linux-2.6.7-rc3.selinux/arch/ia64/kernel/entry.S --- linux-2.6.7-rc3/arch/ia64/kernel/entry.S 2004-06-08 04:14:02.000000000 +0900 +++ linux-2.6.7-rc3.selinux/arch/ia64/kernel/entry.S 2004-06-15 15:19:24.925797780 +0900 @@ -178,5 +178,8 @@ DO_SAVE_SWITCH_STACK .body - + + movl r22=init_task;; + cmp.eq p7,p6=r22,in0 + adds r22=IA64_TASK_THREAD_KSP_OFFSET,r13 mov r27=IA64_KR(CURRENT_STACK) @@ -190,5 +193,5 @@ * If we've already mapped this task's page, we can skip doing it again. */ - cmp.eq p7,p6=r26,r27 +(p6) cmp.eq p7,p6=r26,r27 (p6) br.cond.dpnt .map ;; diff -rNU2 linux-2.6.7-rc3/arch/ia64/kernel/head.S linux-2.6.7-rc3.selinux/arch/ia64/kernel/head.S --- linux-2.6.7-rc3/arch/ia64/kernel/head.S 2004-06-08 04:14:42.000000000 +0900 +++ linux-2.6.7-rc3.selinux/arch/ia64/kernel/head.S 2004-06-15 15:15:57.434480607 +0900 @@ -182,4 +182,6 @@ // load the "current" pointer (r13) and ar.k6 with the current task + (isBP) movl r2=init_task // migrate to region 5 + ;; mov IA64_KR(CURRENT)=r2 // virtual address mov IA64_KR(CURRENT_STACK)=r16