Hi! This patch is virtually identical to my previous 44x one. It removes 0x8000'0000 TASK_SIZE hardcoded assumption from head_4xx.S.
I don't have any 40x board which runs 2.6, so this one is untested, bit it compiles :). Signed-off-by: Eugene Surovegin <ebs at ebshome.net> Index: arch/ppc/kernel/head_4xx.S =================================================================== --- 59c3218467807e1793fb4fc5d90141e072ab2212/arch/ppc/kernel/head_4xx.S (mode:100644) +++ uncommitted/arch/ppc/kernel/head_4xx.S (mode:100644) @@ -291,8 +291,9 @@ /* If we are faulting a kernel address, we have to use the * kernel page tables. */ - andis. r11, r10, 0x8000 - beq 3f + lis r11, TASK_SIZE at h + cmplw r10, r11 + blt+ 3f lis r11, swapper_pg_dir at h ori r11, r11, swapper_pg_dir at l li r9, 0 @@ -479,8 +480,9 @@ /* If we are faulting a kernel address, we have to use the * kernel page tables. */ - andis. r11, r10, 0x8000 - beq 3f + lis r11, TASK_SIZE at h + cmplw r10, r11 + blt+ 3f lis r11, swapper_pg_dir at h ori r11, r11, swapper_pg_dir at l li r9, 0 @@ -578,8 +580,9 @@ /* If we are faulting a kernel address, we have to use the * kernel page tables. */ - andis. r11, r10, 0x8000 - beq 3f + lis r11, TASK_SIZE at h + cmplw r10, r11 + blt+ 3f lis r11, swapper_pg_dir at h ori r11, r11, swapper_pg_dir at l li r9, 0