• Huacai Chen's avatar
    MIPS: Loongson-3: Enable COP2 usage in kernel · 195615ec
    Huacai Chen authored
    Loongson-3's COP2 is Multi-Media coprocessor, it is disabled in kernel
    mode by default. However, gslq/gssq (16-bytes load/store instructions)
    overrides the instruction format of lwc2/swc2. If we wan't to use gslq/
    gssq for optimization in kernel, we should enable COP2 usage in kernel.
    
    Please pay attention that in this patch we only enable COP2 in kernel,
    which means it will lose ST0_CU2 when a process go to user space (try
    to use COP2 in user space will trigger an exception and then grab COP2,
    which is similar to FPU). And as a result, we need to modify the context
    switching code because the new scheduled process doesn't contain ST0_CU2
    in its THERAD_STATUS probably.
    
    For zboot, we disable gslq/gssq be generated by toolchain.
    Signed-off-by: default avatarHuacai Chen <chenhc@lemote.com>
    Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
    195615ec
traps.c 62.3 KB