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)
committerJon Medhurst <tixy@linaro.org>
Fri, 24 Apr 2015 09:44:15 +0000 (10:44 +0100)
commitb4a13f60e0fbd2be0cb4f2001810fc32412d7d70
treeff33f35c91c143798f393d64fea2bdbdba50a865
parentb4ef43d5de3b44a2d98198d5d9b66d9fc97b2924
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>
(cherry picked from commit f5e0a12ca2d939e47995f73428d9bf1ad372b289)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
arch/arm64/kernel/Makefile
arch/arm64/kernel/psci-call.S [new file with mode: 0644]
arch/arm64/kernel/psci.c