diff options
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/debug/tegra.S | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/include/debug/tegra.S b/arch/arm/include/debug/tegra.S index 883d7c22fd9d..be6a720dd183 100644 --- a/arch/arm/include/debug/tegra.S +++ b/arch/arm/include/debug/tegra.S | |||
@@ -221,3 +221,32 @@ | |||
221 | 1002: | 221 | 1002: |
222 | #endif | 222 | #endif |
223 | .endm | 223 | .endm |
224 | |||
225 | /* | ||
226 | * Storage for the state maintained by the macros above. | ||
227 | * | ||
228 | * In the kernel proper, this data is located in arch/arm/mach-tegra/common.c. | ||
229 | * That's because this header is included from multiple files, and we only | ||
230 | * want a single copy of the data. In particular, the UART probing code above | ||
231 | * assumes it's running using physical addresses. This is true when this file | ||
232 | * is included from head.o, but not when included from debug.o. So we need | ||
233 | * to share the probe results between the two copies, rather than having | ||
234 | * to re-run the probing again later. | ||
235 | * | ||
236 | * In the decompressor, we put the symbol/storage right here, since common.c | ||
237 | * isn't included in the decompressor build. This symbol gets put in .text | ||
238 | * even though it's really data, since .data is discarded from the | ||
239 | * decompressor. Luckily, .text is writeable in the decompressor, unless | ||
240 | * CONFIG_ZBOOT_ROM. That dependency is handled in arch/arm/Kconfig.debug. | ||
241 | */ | ||
242 | #if defined(ZIMAGE) | ||
243 | tegra_uart_config: | ||
244 | /* Debug UART initialization required */ | ||
245 | .word 1 | ||
246 | /* Debug UART physical address */ | ||
247 | .word 0 | ||
248 | /* Debug UART virtual address */ | ||
249 | .word 0 | ||
250 | /* Scratch space for debug macro */ | ||
251 | .word 0 | ||
252 | #endif | ||