arm64: psci: move psci firmware calls out of line
authorWill Deacon <will.deacon@arm.com>
Wed, 25 Feb 2015 12:10:35 +0000 (12:10 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 26 Feb 2015 18:23:53 +0000 (18:23 +0000)
commitf5e0a12ca2d939e47995f73428d9bf1ad372b289
treefe360c91f65f238dd2ad3dfb4351b763a73edf60
parente1b6b6ce55a0a25c8aa8af019095253b2133a41a
arm64: psci: move psci firmware calls out of line

An arm64 allmodconfig fails to build with GCC 5 due to __asmeq
assertions in the PSCI firmware calling code firing due to mcount
preambles breaking our assumptions about register allocation of function
arguments:

  /tmp/ccDqJsJ6.s: Assembler messages:
  /tmp/ccDqJsJ6.s:60: Error: .err encountered
  /tmp/ccDqJsJ6.s:61: Error: .err encountered
  /tmp/ccDqJsJ6.s:62: Error: .err encountered
  /tmp/ccDqJsJ6.s:99: Error: .err encountered
  /tmp/ccDqJsJ6.s:100: Error: .err encountered
  /tmp/ccDqJsJ6.s:101: Error: .err encountered

This patch fixes the issue by moving the PSCI calls out-of-line into
their own assembly files, which are safe from the compiler's meddling
fingers.

Reported-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/Makefile
arch/arm64/kernel/psci-call.S [new file with mode: 0644]
arch/arm64/kernel/psci.c