Commit 112eb072 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 3c2993b8 06a4b6d0
...@@ -17,14 +17,12 @@ ...@@ -17,14 +17,12 @@
@ there. @ there.
.inst 'M' | ('Z' << 8) | (0x1310 << 16) @ tstne r0, #0x4d000 .inst 'M' | ('Z' << 8) | (0x1310 << 16) @ tstne r0, #0x4d000
#else #else
mov r0, r0 W(mov) r0, r0
#endif #endif
.endm .endm
.macro __EFI_HEADER .macro __EFI_HEADER
#ifdef CONFIG_EFI_STUB #ifdef CONFIG_EFI_STUB
b __efi_start
.set start_offset, __efi_start - start .set start_offset, __efi_start - start
.org start + 0x3c .org start + 0x3c
@ @
......
...@@ -130,19 +130,22 @@ start: ...@@ -130,19 +130,22 @@ start:
.rept 7 .rept 7
__nop __nop
.endr .endr
ARM( mov r0, r0 ) #ifndef CONFIG_THUMB2_KERNEL
ARM( b 1f ) mov r0, r0
THUMB( badr r12, 1f ) #else
THUMB( bx r12 ) AR_CLASS( sub pc, pc, #3 ) @ A/R: switch to Thumb2 mode
M_CLASS( nop.w ) @ M: already in Thumb2 mode
.thumb
#endif
W(b) 1f
.word _magic_sig @ Magic numbers to help the loader .word _magic_sig @ Magic numbers to help the loader
.word _magic_start @ absolute load/run zImage address .word _magic_start @ absolute load/run zImage address
.word _magic_end @ zImage end address .word _magic_end @ zImage end address
.word 0x04030201 @ endianness flag .word 0x04030201 @ endianness flag
THUMB( .thumb ) __EFI_HEADER
1: __EFI_HEADER 1:
ARM_BE8( setend be ) @ go BE8 if compiled for BE8 ARM_BE8( setend be ) @ go BE8 if compiled for BE8
AR_CLASS( mrs r9, cpsr ) AR_CLASS( mrs r9, cpsr )
#ifdef CONFIG_ARM_VIRT_EXT #ifdef CONFIG_ARM_VIRT_EXT
......
...@@ -235,7 +235,7 @@ int mcpm_cpu_power_up(unsigned int cpu, unsigned int cluster) ...@@ -235,7 +235,7 @@ int mcpm_cpu_power_up(unsigned int cpu, unsigned int cluster)
return ret; return ret;
} }
typedef void (*phys_reset_t)(unsigned long); typedef typeof(cpu_reset) phys_reset_t;
void mcpm_cpu_power_down(void) void mcpm_cpu_power_down(void)
{ {
...@@ -300,7 +300,7 @@ void mcpm_cpu_power_down(void) ...@@ -300,7 +300,7 @@ void mcpm_cpu_power_down(void)
* on the CPU. * on the CPU.
*/ */
phys_reset = (phys_reset_t)(unsigned long)__pa_symbol(cpu_reset); phys_reset = (phys_reset_t)(unsigned long)__pa_symbol(cpu_reset);
phys_reset(__pa_symbol(mcpm_entry_point)); phys_reset(__pa_symbol(mcpm_entry_point), false);
/* should never get here */ /* should never get here */
BUG(); BUG();
...@@ -389,7 +389,7 @@ static int __init nocache_trampoline(unsigned long _arg) ...@@ -389,7 +389,7 @@ static int __init nocache_trampoline(unsigned long _arg)
__mcpm_cpu_down(cpu, cluster); __mcpm_cpu_down(cpu, cluster);
phys_reset = (phys_reset_t)(unsigned long)__pa_symbol(cpu_reset); phys_reset = (phys_reset_t)(unsigned long)__pa_symbol(cpu_reset);
phys_reset(__pa_symbol(mcpm_entry_point)); phys_reset(__pa_symbol(mcpm_entry_point), false);
BUG(); BUG();
} }
......
...@@ -66,6 +66,7 @@ typedef pte_t *pte_addr_t; ...@@ -66,6 +66,7 @@ typedef pte_t *pte_addr_t;
#define pgprot_noncached(prot) (prot) #define pgprot_noncached(prot) (prot)
#define pgprot_writecombine(prot) (prot) #define pgprot_writecombine(prot) (prot)
#define pgprot_dmacoherent(prot) (prot) #define pgprot_dmacoherent(prot) (prot)
#define pgprot_device(prot) (prot)
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment