diff options
-rw-r--r-- | arch/ppc/kernel/head_4xx.S | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/ppc/kernel/head_4xx.S b/arch/ppc/kernel/head_4xx.S index 6f5d380e2345..23fb51819ba5 100644 --- a/arch/ppc/kernel/head_4xx.S +++ b/arch/ppc/kernel/head_4xx.S | |||
@@ -291,8 +291,9 @@ label: | |||
291 | /* If we are faulting a kernel address, we have to use the | 291 | /* If we are faulting a kernel address, we have to use the |
292 | * kernel page tables. | 292 | * kernel page tables. |
293 | */ | 293 | */ |
294 | andis. r11, r10, 0x8000 | 294 | lis r11, TASK_SIZE@h |
295 | beq 3f | 295 | cmplw r10, r11 |
296 | blt+ 3f | ||
296 | lis r11, swapper_pg_dir@h | 297 | lis r11, swapper_pg_dir@h |
297 | ori r11, r11, swapper_pg_dir@l | 298 | ori r11, r11, swapper_pg_dir@l |
298 | li r9, 0 | 299 | li r9, 0 |
@@ -479,8 +480,9 @@ label: | |||
479 | /* If we are faulting a kernel address, we have to use the | 480 | /* If we are faulting a kernel address, we have to use the |
480 | * kernel page tables. | 481 | * kernel page tables. |
481 | */ | 482 | */ |
482 | andis. r11, r10, 0x8000 | 483 | lis r11, TASK_SIZE@h |
483 | beq 3f | 484 | cmplw r10, r11 |
485 | blt+ 3f | ||
484 | lis r11, swapper_pg_dir@h | 486 | lis r11, swapper_pg_dir@h |
485 | ori r11, r11, swapper_pg_dir@l | 487 | ori r11, r11, swapper_pg_dir@l |
486 | li r9, 0 | 488 | li r9, 0 |
@@ -578,8 +580,9 @@ label: | |||
578 | /* If we are faulting a kernel address, we have to use the | 580 | /* If we are faulting a kernel address, we have to use the |
579 | * kernel page tables. | 581 | * kernel page tables. |
580 | */ | 582 | */ |
581 | andis. r11, r10, 0x8000 | 583 | lis r11, TASK_SIZE@h |
582 | beq 3f | 584 | cmplw r10, r11 |
585 | blt+ 3f | ||
583 | lis r11, swapper_pg_dir@h | 586 | lis r11, swapper_pg_dir@h |
584 | ori r11, r11, swapper_pg_dir@l | 587 | ori r11, r11, swapper_pg_dir@l |
585 | li r9, 0 | 588 | li r9, 0 |