aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/compressed/head.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/compressed/head.S')
-rw-r--r--arch/arm/boot/compressed/head.S22
1 files changed, 16 insertions, 6 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 14a9ff9c68df..e5ab51b9cceb 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -20,11 +20,21 @@
20#ifdef DEBUG 20#ifdef DEBUG
21 21
22#if defined(CONFIG_DEBUG_ICEDCC) 22#if defined(CONFIG_DEBUG_ICEDCC)
23
24#ifdef CONFIG_CPU_V6
25 .macro loadsp, rb
26 .endm
27 .macro writeb, ch, rb
28 mcr p14, 0, \ch, c0, c5, 0
29 .endm
30#else
23 .macro loadsp, rb 31 .macro loadsp, rb
24 .endm 32 .endm
25 .macro writeb, ch, rb 33 .macro writeb, ch, rb
26 mcr p14, 0, \ch, c0, c1, 0 34 mcr p14, 0, \ch, c0, c1, 0
27 .endm 35 .endm
36#endif
37
28#else 38#else
29 39
30#include <asm/arch/debug-macro.S> 40#include <asm/arch/debug-macro.S>
@@ -42,12 +52,6 @@
42 add \rb, \rb, #0x00010000 @ Ser1 52 add \rb, \rb, #0x00010000 @ Ser1
43#endif 53#endif
44 .endm 54 .endm
45#elif defined(CONFIG_ARCH_IOP331)
46 .macro loadsp, rb
47 mov \rb, #0xff000000
48 orr \rb, \rb, #0x00ff0000
49 orr \rb, \rb, #0x0000f700 @ location of the UART
50 .endm
51#elif defined(CONFIG_ARCH_S3C2410) 55#elif defined(CONFIG_ARCH_S3C2410)
52 .macro loadsp, rb 56 .macro loadsp, rb
53 mov \rb, #0x50000000 57 mov \rb, #0x50000000
@@ -78,9 +82,11 @@
78 kphex r6, 8 /* processor id */ 82 kphex r6, 8 /* processor id */
79 kputc #':' 83 kputc #':'
80 kphex r7, 8 /* architecture id */ 84 kphex r7, 8 /* architecture id */
85#ifdef CONFIG_CPU_CP15
81 kputc #':' 86 kputc #':'
82 mrc p15, 0, r0, c1, c0 87 mrc p15, 0, r0, c1, c0
83 kphex r0, 8 /* control reg */ 88 kphex r0, 8 /* control reg */
89#endif
84 kputc #'\n' 90 kputc #'\n'
85 kphex r5, 8 /* decompressed kernel start */ 91 kphex r5, 8 /* decompressed kernel start */
86 kputc #'-' 92 kputc #'-'
@@ -503,7 +509,11 @@ call_kernel: bl cache_clean_flush
503 */ 509 */
504 510
505call_cache_fn: adr r12, proc_types 511call_cache_fn: adr r12, proc_types
512#ifdef CONFIG_CPU_CP15
506 mrc p15, 0, r6, c0, c0 @ get processor ID 513 mrc p15, 0, r6, c0, c0 @ get processor ID
514#else
515 ldr r6, =CONFIG_PROCESSOR_ID
516#endif
5071: ldr r1, [r12, #0] @ get value 5171: ldr r1, [r12, #0] @ get value
508 ldr r2, [r12, #4] @ get mask 518 ldr r2, [r12, #4] @ get mask
509 eor r1, r1, r6 @ (real ^ match) 519 eor r1, r1, r6 @ (real ^ match)