• James Hogan's avatar
    MIPS: Fix VZ probe gas errors with binutils <2.24 · bad50d79
    James Hogan authored
    The VZ guest register & TLB access macros introduced in commit "MIPS:
    Add guest CP0 accessors" use VZ ASE specific instructions that aren't
    understood by versions of binutils prior to 2.24.
    
    Add a check for whether the toolchain supports the -mvirt option,
    similar to the MSA toolchain check, and implement the accessors using
    .word if not.
    
    Due to difficulty in converting compiler specified registers (e.g. "$3")
    to usable numbers (e.g. "3") in inline asm, we need to copy to/from a
    temporary register, namely the assembler temporary (at/$1), and specify
    guest CP0 registers numerically in the gc0 macros.
    
    Fixes: 7eb91118 ("MIPS: Add guest CP0 accessors")
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-next@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/13255/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    bad50d79
mipsregs.h 83.5 KB