• Will Deacon's avatar
    arm64: psci: move psci firmware calls out of line · d02167c4
    Will Deacon authored
    commit f5e0a12c upstream.
    
    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: default avatarAndy Whitcroft <apw@canonical.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    [bwh: Backported to 3.16: adjust context]
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    Cc: Guenter Roeck <linux@roeck-us.net>
    d02167c4
psci-call.S 856 Bytes