diff options
Diffstat (limited to 'arch/ppc/kernel/head_44x.S')
-rw-r--r-- | arch/ppc/kernel/head_44x.S | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/ppc/kernel/head_44x.S b/arch/ppc/kernel/head_44x.S index 9b6a8e513657..6c7ae6052464 100644 --- a/arch/ppc/kernel/head_44x.S +++ b/arch/ppc/kernel/head_44x.S | |||
@@ -330,8 +330,9 @@ interrupt_base: | |||
330 | /* If we are faulting a kernel address, we have to use the | 330 | /* If we are faulting a kernel address, we have to use the |
331 | * kernel page tables. | 331 | * kernel page tables. |
332 | */ | 332 | */ |
333 | andis. r11, r10, 0x8000 | 333 | lis r11, TASK_SIZE@h |
334 | beq 3f | 334 | cmplw r10, r11 |
335 | blt+ 3f | ||
335 | lis r11, swapper_pg_dir@h | 336 | lis r11, swapper_pg_dir@h |
336 | ori r11, r11, swapper_pg_dir@l | 337 | ori r11, r11, swapper_pg_dir@l |
337 | 338 | ||
@@ -464,8 +465,9 @@ interrupt_base: | |||
464 | /* If we are faulting a kernel address, we have to use the | 465 | /* If we are faulting a kernel address, we have to use the |
465 | * kernel page tables. | 466 | * kernel page tables. |
466 | */ | 467 | */ |
467 | andis. r11, r10, 0x8000 | 468 | lis r11, TASK_SIZE@h |
468 | beq 3f | 469 | cmplw r10, r11 |
470 | blt+ 3f | ||
469 | lis r11, swapper_pg_dir@h | 471 | lis r11, swapper_pg_dir@h |
470 | ori r11, r11, swapper_pg_dir@l | 472 | ori r11, r11, swapper_pg_dir@l |
471 | 473 | ||
@@ -533,8 +535,9 @@ interrupt_base: | |||
533 | /* If we are faulting a kernel address, we have to use the | 535 | /* If we are faulting a kernel address, we have to use the |
534 | * kernel page tables. | 536 | * kernel page tables. |
535 | */ | 537 | */ |
536 | andis. r11, r10, 0x8000 | 538 | lis r11, TASK_SIZE@h |
537 | beq 3f | 539 | cmplw r10, r11 |
540 | blt+ 3f | ||
538 | lis r11, swapper_pg_dir@h | 541 | lis r11, swapper_pg_dir@h |
539 | ori r11, r11, swapper_pg_dir@l | 542 | ori r11, r11, swapper_pg_dir@l |
540 | 543 | ||