• Kim Phillips's avatar
    [POWERPC] Add support for FP emulation for the e300c2 core · aa42c69c
    Kim Phillips authored
    The e300c2 has no FPU.  Its MSR[FP] is grounded to zero.  If an attempt
    is made to execute a floating point instruction (including floating-point
    load, store, or move instructions), the e300c2 takes a floating-point
    unavailable interrupt.
    
    This patch adds support for FP emulation on the e300c2 by declaring a
    new CPU_FTR_FP_TAKES_FPUNAVAIL, where FP unavail interrupts are
    intercepted and redirected to the ProgramCheck exception path for
    correct emulation handling.
    
    (If we run out of CPU_FTR bits we could look to reclaim this bit by adding
    support to test the cpu_user_features for PPC_FEATURE_HAS_FPU instead)
    
    It adds a nop to the exception path for 32-bit processors with a FPU.
    Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
    Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
    aa42c69c
traps.c 28.5 KB