• Stephen Chivers's avatar
    powerpc: Correct emulated mtfsf instruction · c59c015b
    Stephen Chivers authored
    The emulated (CONFIG_MATH_EMULATION_FULL)
    PowerPC Floating Point instruction mtfsf
    does not correctly copy bits from its source
    register to the Floating Point Status and Register (FPSCR).
    
    The error is in the preparation of the mask used to
    select the bits to be copied from the source to the FPSCR.
    
    Execution of the mtfsf instruction does not produce the same
    results on a MPC8548 platform (emulated floating point)
    as on MPC7410 or 440EP platforms (hardware floating point).
    
    This error has been detected using a Freescale MPC8548
    based platform and the patch below tested using that platform.
    
    The patch is based on the patch(es) provided by
    Gabriel Paubert and analysis by Gabriel, James Yang and David Laight.
    Signed-off-by: default avatarStephen Chivers <schivers@csc.com>
    Signed-off-by: default avatarGabriel Paubert <paubert@iram.es>
    Tested-by: default avatarStephen Chivers <schivers@csc.com>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    c59c015b
mtfsf.c 1.08 KB