summaryrefslogtreecommitdiffstats
path: root/arch/ppc/kernel/head_4xx.S
diff options
context:
space:
mode:
authorMatt Porter <mporter@kernel.crashing.org>2005-06-21 17:15:22 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-21 18:46:24 -0700
commit1e5aa8c86571deea5d8e8462fedcf610e21af717 (patch)
tree779a4c57020d92659afa583abec0283db0a0fec4 /arch/ppc/kernel/head_4xx.S
parenta1604f9121ee97b27d5ce308ddd4b70c3a220279 (diff)
[PATCH] ppc32: fix CONFIG_TASK_SIZE handling on 40x
This patch is virtually identical to my previous 44x one. It removes 0x8000'0000 TASK_SIZE hardcoded assumption from head_4xx.S. Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc/kernel/head_4xx.S')
-rw-r--r--arch/ppc/kernel/head_4xx.S15
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/ppc/kernel/head_4xx.S b/arch/ppc/kernel/head_4xx.S
index 6f5d380e234..23fb51819ba 100644
--- a/arch/ppc/kernel/head_4xx.S
+++ b/arch/ppc/kernel/head_4xx.S
@@ -291,8 +291,9 @@ label:
/* 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@h
+ cmplw r10, r11
+ blt+ 3f
lis r11, swapper_pg_dir@h
ori r11, r11, swapper_pg_dir@l
li r9, 0
@@ -479,8 +480,9 @@ label:
/* 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@h
+ cmplw r10, r11
+ blt+ 3f
lis r11, swapper_pg_dir@h
ori r11, r11, swapper_pg_dir@l
li r9, 0
@@ -578,8 +580,9 @@ label:
/* 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@h
+ cmplw r10, r11
+ blt+ 3f
lis r11, swapper_pg_dir@h
ori r11, r11, swapper_pg_dir@l
li r9, 0