nds32: Support FP emulation
authorVincent Chen <vincentc@andestech.com>
Thu, 22 Nov 2018 03:14:35 +0000 (11:14 +0800)
committerGreentime Hu <greentime@andestech.com>
Thu, 22 Nov 2018 10:13:21 +0000 (18:13 +0800)
commit1ac832509f2ea1b566f0c06f98f308f58b03d098
tree080dcfd5832558823072d3fd4de51df32d96ef51
parente46bf83c1864a20f9dd17d597ec9be18ed05add8
nds32: Support FP emulation

The Andes FPU coprocessor does not support denormalized number handling.
According to the specification, FPU generates a denorm input exception
that requires the kernel to deal with this instrution operation when it
encounters denormalized operands. Hence an nds32 FPU ISA emulator in the
kernel is required to meet requirement.

Signed-off-by: Vincent Chen <vincentc@andestech.com>
Signed-off-by: Nickhu <nickhu@andestech.com>
Acked-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
24 files changed:
arch/nds32/Makefile
arch/nds32/include/asm/fpu.h
arch/nds32/include/asm/fpuemu.h [new file with mode: 0644]
arch/nds32/include/asm/nds32_fpu_inst.h [new file with mode: 0644]
arch/nds32/include/asm/sfp-machine.h [new file with mode: 0644]
arch/nds32/kernel/fpu.c
arch/nds32/math-emu/Makefile [new file with mode: 0644]
arch/nds32/math-emu/faddd.c [new file with mode: 0644]
arch/nds32/math-emu/fadds.c [new file with mode: 0644]
arch/nds32/math-emu/fcmpd.c [new file with mode: 0644]
arch/nds32/math-emu/fcmps.c [new file with mode: 0644]
arch/nds32/math-emu/fd2s.c [new file with mode: 0644]
arch/nds32/math-emu/fdivd.c [new file with mode: 0644]
arch/nds32/math-emu/fdivs.c [new file with mode: 0644]
arch/nds32/math-emu/fmuld.c [new file with mode: 0644]
arch/nds32/math-emu/fmuls.c [new file with mode: 0644]
arch/nds32/math-emu/fnegd.c [new file with mode: 0644]
arch/nds32/math-emu/fnegs.c [new file with mode: 0644]
arch/nds32/math-emu/fpuemu.c [new file with mode: 0644]
arch/nds32/math-emu/fs2d.c [new file with mode: 0644]
arch/nds32/math-emu/fsqrtd.c [new file with mode: 0644]
arch/nds32/math-emu/fsqrts.c [new file with mode: 0644]
arch/nds32/math-emu/fsubd.c [new file with mode: 0644]
arch/nds32/math-emu/fsubs.c [new file with mode: 0644]