diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index a52baedf6262..fb8e7f4c4b37 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -3,6 +3,7 @@ | |||
3 | * | 3 | * |
4 | * Copyright (C) 1996,1997,1998 Russell King. | 4 | * Copyright (C) 1996,1997,1998 Russell King. |
5 | * ARM700 fix by Matthew Godbolt (linux-user@willothewisp.demon.co.uk) | 5 | * ARM700 fix by Matthew Godbolt (linux-user@willothewisp.demon.co.uk) |
6 | * nommu support by Hyok S. Choi (hyok.choi@samsung.com) | ||
6 | * | 7 | * |
7 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
@@ -538,7 +539,11 @@ ENTRY(__switch_to) | |||
538 | add ip, r1, #TI_CPU_SAVE | 539 | add ip, r1, #TI_CPU_SAVE |
539 | ldr r3, [r2, #TI_TP_VALUE] | 540 | ldr r3, [r2, #TI_TP_VALUE] |
540 | stmia ip!, {r4 - sl, fp, sp, lr} @ Store most regs on stack | 541 | stmia ip!, {r4 - sl, fp, sp, lr} @ Store most regs on stack |
542 | #ifndef CONFIG_MMU | ||
543 | add r2, r2, #TI_CPU_DOMAIN | ||
544 | #else | ||
541 | ldr r6, [r2, #TI_CPU_DOMAIN]! | 545 | ldr r6, [r2, #TI_CPU_DOMAIN]! |
546 | #endif | ||
542 | #if __LINUX_ARM_ARCH__ >= 6 | 547 | #if __LINUX_ARM_ARCH__ >= 6 |
543 | #ifdef CONFIG_CPU_MPCORE | 548 | #ifdef CONFIG_CPU_MPCORE |
544 | clrex | 549 | clrex |
@@ -556,7 +561,9 @@ ENTRY(__switch_to) | |||
556 | mov r4, #0xffff0fff | 561 | mov r4, #0xffff0fff |
557 | str r3, [r4, #-15] @ TLS val at 0xffff0ff0 | 562 | str r3, [r4, #-15] @ TLS val at 0xffff0ff0 |
558 | #endif | 563 | #endif |
564 | #ifdef CONFIG_MMU | ||
559 | mcr p15, 0, r6, c3, c0, 0 @ Set domain register | 565 | mcr p15, 0, r6, c3, c0, 0 @ Set domain register |
566 | #endif | ||
560 | #ifdef CONFIG_VFP | 567 | #ifdef CONFIG_VFP |
561 | @ Always disable VFP so we can lazily save/restore the old | 568 | @ Always disable VFP so we can lazily save/restore the old |
562 | @ state. This occurs in the context of the previous thread. | 569 | @ state. This occurs in the context of the previous thread. |