aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/compressed/efi-header.S4
-rw-r--r--arch/arm/boot/compressed/head.S17
-rw-r--r--arch/arm/common/mcpm_entry.c6
-rw-r--r--arch/arm/include/asm/pgtable-nommu.h1
4 files changed, 15 insertions, 13 deletions
diff --git a/arch/arm/boot/compressed/efi-header.S b/arch/arm/boot/compressed/efi-header.S
index 9d5dc4fda3c1..3f7d1b74c5e0 100644
--- a/arch/arm/boot/compressed/efi-header.S
+++ b/arch/arm/boot/compressed/efi-header.S
@@ -17,14 +17,12 @@
17 @ there. 17 @ there.
18 .inst 'M' | ('Z' << 8) | (0x1310 << 16) @ tstne r0, #0x4d000 18 .inst 'M' | ('Z' << 8) | (0x1310 << 16) @ tstne r0, #0x4d000
19#else 19#else
20 mov r0, r0 20 W(mov) r0, r0
21#endif 21#endif
22 .endm 22 .endm
23 23
24 .macro __EFI_HEADER 24 .macro __EFI_HEADER
25#ifdef CONFIG_EFI_STUB 25#ifdef CONFIG_EFI_STUB
26 b __efi_start
27
28 .set start_offset, __efi_start - start 26 .set start_offset, __efi_start - start
29 .org start + 0x3c 27 .org start + 0x3c
30 @ 28 @
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 7c711ba61417..8a756870c238 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -130,19 +130,22 @@ start:
130 .rept 7 130 .rept 7
131 __nop 131 __nop
132 .endr 132 .endr
133 ARM( mov r0, r0 ) 133#ifndef CONFIG_THUMB2_KERNEL
134 ARM( b 1f ) 134 mov r0, r0
135 THUMB( badr r12, 1f ) 135#else
136 THUMB( bx r12 ) 136 AR_CLASS( sub pc, pc, #3 ) @ A/R: switch to Thumb2 mode
137 M_CLASS( nop.w ) @ M: already in Thumb2 mode
138 .thumb
139#endif
140 W(b) 1f
137 141
138 .word _magic_sig @ Magic numbers to help the loader 142 .word _magic_sig @ Magic numbers to help the loader
139 .word _magic_start @ absolute load/run zImage address 143 .word _magic_start @ absolute load/run zImage address
140 .word _magic_end @ zImage end address 144 .word _magic_end @ zImage end address
141 .word 0x04030201 @ endianness flag 145 .word 0x04030201 @ endianness flag
142 146
143 THUMB( .thumb ) 147 __EFI_HEADER
1441: __EFI_HEADER 1481:
145
146 ARM_BE8( setend be ) @ go BE8 if compiled for BE8 149 ARM_BE8( setend be ) @ go BE8 if compiled for BE8
147 AR_CLASS( mrs r9, cpsr ) 150 AR_CLASS( mrs r9, cpsr )
148#ifdef CONFIG_ARM_VIRT_EXT 151#ifdef CONFIG_ARM_VIRT_EXT
diff --git a/arch/arm/common/mcpm_entry.c b/arch/arm/common/mcpm_entry.c
index cf062472e07b..2b913f17d50f 100644
--- a/arch/arm/common/mcpm_entry.c
+++ b/arch/arm/common/mcpm_entry.c
@@ -235,7 +235,7 @@ int mcpm_cpu_power_up(unsigned int cpu, unsigned int cluster)
235 return ret; 235 return ret;
236} 236}
237 237
238typedef void (*phys_reset_t)(unsigned long); 238typedef typeof(cpu_reset) phys_reset_t;
239 239
240void mcpm_cpu_power_down(void) 240void mcpm_cpu_power_down(void)
241{ 241{
@@ -300,7 +300,7 @@ void mcpm_cpu_power_down(void)
300 * on the CPU. 300 * on the CPU.
301 */ 301 */
302 phys_reset = (phys_reset_t)(unsigned long)__pa_symbol(cpu_reset); 302 phys_reset = (phys_reset_t)(unsigned long)__pa_symbol(cpu_reset);
303 phys_reset(__pa_symbol(mcpm_entry_point)); 303 phys_reset(__pa_symbol(mcpm_entry_point), false);
304 304
305 /* should never get here */ 305 /* should never get here */
306 BUG(); 306 BUG();
@@ -389,7 +389,7 @@ static int __init nocache_trampoline(unsigned long _arg)
389 __mcpm_cpu_down(cpu, cluster); 389 __mcpm_cpu_down(cpu, cluster);
390 390
391 phys_reset = (phys_reset_t)(unsigned long)__pa_symbol(cpu_reset); 391 phys_reset = (phys_reset_t)(unsigned long)__pa_symbol(cpu_reset);
392 phys_reset(__pa_symbol(mcpm_entry_point)); 392 phys_reset(__pa_symbol(mcpm_entry_point), false);
393 BUG(); 393 BUG();
394} 394}
395 395
diff --git a/arch/arm/include/asm/pgtable-nommu.h b/arch/arm/include/asm/pgtable-nommu.h
index 302240c19a5a..a0d726a47c8a 100644
--- a/arch/arm/include/asm/pgtable-nommu.h
+++ b/arch/arm/include/asm/pgtable-nommu.h
@@ -66,6 +66,7 @@ typedef pte_t *pte_addr_t;
66#define pgprot_noncached(prot) (prot) 66#define pgprot_noncached(prot) (prot)
67#define pgprot_writecombine(prot) (prot) 67#define pgprot_writecombine(prot) (prot)
68#define pgprot_dmacoherent(prot) (prot) 68#define pgprot_dmacoherent(prot) (prot)
69#define pgprot_device(prot) (prot)
69 70
70 71
71/* 72/*