[U-Boot] [PATCH] nds32: Enable FPU if the version of CPU supported

uboot at andestech.com uboot at andestech.com
Thu Jul 18 09:16:55 CEST 2013


Hi Kuan-Yu Kuo,

2013/7/18 Kuan-Yu Kuo <ken.kuoky at gmail.com>:
> +       /*
> +        * enable_fpu:
> +        *  Some of Andes CPU version support FPU coprocessor, if so,
> +        *  we should enable it.
> +        */
> +enable_fpu:
> +       mfsr    $r0, $CPU_VER           /* enable FPU if it exists */
> +       srli    $r0, $r0, 3
> +       andi    $r0, $r0, 1
> +       beqz    $r0, 1f                                         /* skip if no COP */
> +       mfsr    $r0, $FUCOP_EXIST
> +       srli    $r0, $r0, 31
> +       beqz    $r0, 1f                                         /* skip if no FPU */
> +       mfsr    $r0, $FUCOP_CTL
> +       ori     $r0, $r0, 1
> +       mtsr    $r0, $FUCOP_CTL

There are two kinds of toolchain in Andes architecture, one is FPU supported and the other is not, for the latter one, there is no need to enable FPU even if the processor supports it.
This code snippet only useful for the toolchain that will generate FPU instructions, so add compile option to determine Andes predefined macros would be better.
For example:
#if defined(NDS32_EXT_FPU_DP) || defined(NDS32_EXT_FPU_SP)

Andes Technology Corporation


More information about the U-Boot mailing list