diff options
Diffstat (limited to 'include/asm-mips/stackframe.h')
| -rw-r--r-- | include/asm-mips/stackframe.h | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/include/asm-mips/stackframe.h b/include/asm-mips/stackframe.h index a8919dcc93c8..2acf3e844f00 100644 --- a/include/asm-mips/stackframe.h +++ b/include/asm-mips/stackframe.h | |||
| @@ -63,17 +63,7 @@ | |||
| 63 | addu k1, k0 | 63 | addu k1, k0 |
| 64 | LONG_L k1, %lo(kernelsp)(k1) | 64 | LONG_L k1, %lo(kernelsp)(k1) |
| 65 | #endif | 65 | #endif |
| 66 | #if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) | 66 | #ifdef CONFIG_64BIT |
| 67 | MFC0 k1, CP0_CONTEXT | ||
| 68 | dsra k1, 23 | ||
| 69 | lui k0, %hi(pgd_current) | ||
| 70 | addiu k0, %lo(pgd_current) | ||
| 71 | dsubu k1, k0 | ||
| 72 | lui k0, %hi(kernelsp) | ||
| 73 | daddu k1, k0 | ||
| 74 | LONG_L k1, %lo(kernelsp)(k1) | ||
| 75 | #endif | ||
| 76 | #if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) | ||
| 77 | MFC0 k1, CP0_CONTEXT | 67 | MFC0 k1, CP0_CONTEXT |
| 78 | lui k0, %highest(kernelsp) | 68 | lui k0, %highest(kernelsp) |
| 79 | dsrl k1, 23 | 69 | dsrl k1, 23 |
| @@ -91,11 +81,7 @@ | |||
| 91 | mfc0 \temp, CP0_CONTEXT | 81 | mfc0 \temp, CP0_CONTEXT |
| 92 | srl \temp, 23 | 82 | srl \temp, 23 |
| 93 | #endif | 83 | #endif |
| 94 | #if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) | 84 | #ifdef CONFIG_64BIT |
| 95 | lw \temp, TI_CPU(gp) | ||
| 96 | dsll \temp, 3 | ||
| 97 | #endif | ||
| 98 | #if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) | ||
| 99 | MFC0 \temp, CP0_CONTEXT | 85 | MFC0 \temp, CP0_CONTEXT |
| 100 | dsrl \temp, 23 | 86 | dsrl \temp, 23 |
| 101 | #endif | 87 | #endif |
| @@ -103,7 +89,7 @@ | |||
| 103 | .endm | 89 | .endm |
| 104 | #else | 90 | #else |
| 105 | .macro get_saved_sp /* Uniprocessor variation */ | 91 | .macro get_saved_sp /* Uniprocessor variation */ |
| 106 | #if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) | 92 | #ifdef CONFIG_64BIT |
| 107 | lui k1, %highest(kernelsp) | 93 | lui k1, %highest(kernelsp) |
| 108 | daddiu k1, %higher(kernelsp) | 94 | daddiu k1, %higher(kernelsp) |
| 109 | dsll k1, k1, 16 | 95 | dsll k1, k1, 16 |
