Skip to content

Commit 112eb07

Browse files
committed
Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King: "Three fixes this time around: - Two fixes for noMMU, fixing the decompressor header layout, and preventing a build error with some configurations. - Fixing the hyp-stub updates that went in during the merge window for platforms that use MCPM" * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 8677/1: boot/compressed: fix decompressor header layout for v7-M ARM: 8676/1: NOMMU: provide pgprot_device() macro ARM: 8675/1: MCPM: ensure not to enter __hyp_soft_restart from loopback and cpu_power_down
2 parents 3c2993b + 06a4b6d commit 112eb07

File tree

4 files changed

+15
-13
lines changed

4 files changed

+15
-13
lines changed

arch/arm/boot/compressed/efi-header.S

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,12 @@
1717
@ there.
1818
.inst 'M' | ('Z' << 8) | (0x1310 << 16) @ tstne r0, #0x4d000
1919
#else
20-
mov r0, r0
20+
W(mov) r0, r0
2121
#endif
2222
.endm
2323

2424
.macro __EFI_HEADER
2525
#ifdef CONFIG_EFI_STUB
26-
b __efi_start
27-
2826
.set start_offset, __efi_start - start
2927
.org start + 0x3c
3028
@

arch/arm/boot/compressed/head.S

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -130,19 +130,22 @@ start:
130130
.rept 7
131131
__nop
132132
.endr
133-
ARM( mov r0, r0 )
134-
ARM( b 1f )
135-
THUMB( badr r12, 1f )
136-
THUMB( bx r12 )
133+
#ifndef CONFIG_THUMB2_KERNEL
134+
mov r0, r0
135+
#else
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
137141

138142
.word _magic_sig @ Magic numbers to help the loader
139143
.word _magic_start @ absolute load/run zImage address
140144
.word _magic_end @ zImage end address
141145
.word 0x04030201 @ endianness flag
142146

143-
THUMB( .thumb )
144-
1: __EFI_HEADER
145-
147+
__EFI_HEADER
148+
1:
146149
ARM_BE8( setend be ) @ go BE8 if compiled for BE8
147150
AR_CLASS( mrs r9, cpsr )
148151
#ifdef CONFIG_ARM_VIRT_EXT

arch/arm/common/mcpm_entry.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ int mcpm_cpu_power_up(unsigned int cpu, unsigned int cluster)
235235
return ret;
236236
}
237237

238-
typedef void (*phys_reset_t)(unsigned long);
238+
typedef typeof(cpu_reset) phys_reset_t;
239239

240240
void mcpm_cpu_power_down(void)
241241
{
@@ -300,7 +300,7 @@ void mcpm_cpu_power_down(void)
300300
* on the CPU.
301301
*/
302302
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);
304304

305305
/* should never get here */
306306
BUG();
@@ -389,7 +389,7 @@ static int __init nocache_trampoline(unsigned long _arg)
389389
__mcpm_cpu_down(cpu, cluster);
390390

391391
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);
393393
BUG();
394394
}
395395

arch/arm/include/asm/pgtable-nommu.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ typedef pte_t *pte_addr_t;
6666
#define pgprot_noncached(prot) (prot)
6767
#define pgprot_writecombine(prot) (prot)
6868
#define pgprot_dmacoherent(prot) (prot)
69+
#define pgprot_device(prot) (prot)
6970

7071

7172
/*

0 commit comments

Comments
 (0)