• Roberto Vargas's avatar
    Fix use of MSR (immediate) · e0f34eaa
    Roberto Vargas authored
    
    
    The macro DEFINE_SYSREG_WRITE_CONST_FUNC defines an inline function
    to an assembly statement that uses the MSR (immediate) instruction
    to access the PSTATE.  The "i" (immediate) assembly constraint on
    the operand was only satisfied when compiling with optimizations
    enabled which resulted in the function being optimized out - the
    "const uint64_t v" parameter was optimized out and replaced by a
    literal value.
    
    When compiling without optimizations, the function call remained and
    therefore the parameter is not optimized out - compilation fails as
    the constraint is impossible to satisfy by the compiler.
    
    This patch replaces the function encapsulating the use of
    the MSR (immediate) with a macro that allows the literal value to be
    directly fed to the inline assembly statement
    
    Change-Id: Ib379a7acc48ef3cb83090a680cd8a6ce1a94a9d9
    Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
    e0f34eaa
arch_helpers.h 10.8 KB