• David Daney's avatar
    MIPS: Fix emulation of 64-bit FPU on FPU-less 64-bit CPUs. · da0bac33
    David Daney authored
    Running a 64-bit kernel on a 64-bit CPU without an FPU would cause the
    emulator to run in 32-bit mode.  The c0_Status.FR bit is wired to zero
    on systems without an FPU, so using that bit to decide how the emulator
    behaves doesn't allow for proper emulation on 64-bit FPU-less
    processors.
    
    Instead, we need to select the emulator mode based on the user-space
    ABI.  Since the thread flag TIF_32BIT_REGS is used to set c0_Status.FR,
    we can just use it to decide if the emulator should be in 32-bit or
    64-bit mode.
    Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    da0bac33
cp1emu.c 28.3 KB