[rtems commit] bsp/riscv: Initialize FPU depending on ISA
Chris Johns
chrisj at rtems.org
Thu Aug 2 08:32:53 UTC 2018
On 02/08/2018 17:47, Sebastian Huber wrote:
> On 01/08/18 12:06, Hesham Almatary wrote:
>> On Wed, Aug 1, 2018 at 10:18 AM, Sebastian Huber <sebh at rtems.org> wrote:
>>> Module: rtems
>>> Branch: master
>>> Commit: 529154bad207a42a6d0f03343c7e215eab97ced5
>>> Changeset:
>>> http://git.rtems.org/rtems/commit/?id=529154bad207a42a6d0f03343c7e215eab97ced5
>>>
>>> Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
>>> Date: Tue Jul 31 09:15:00 2018 +0200
>>>
>>> bsp/riscv: Initialize FPU depending on ISA
>>>
>>> Initialize fcsr to zero for a defined rounding mode.
>>>
>>> Update #3433.
>>>
>>> ---
>>>
>>> bsps/riscv/riscv/start/start.S | 5 ++++-
>>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/bsps/riscv/riscv/start/start.S b/bsps/riscv/riscv/start/start.S
>>> index 290c95a..feb07fe 100644
>>> --- a/bsps/riscv/riscv/start/start.S
>>> +++ b/bsps/riscv/riscv/start/start.S
>>> @@ -48,9 +48,12 @@ SYM(_start):
>>> LADDR gp, __global_pointer$
>>> .option pop
>>>
>>> - /* Init FPU unit if it's there */
>>> + /* Init FPU */
>>> +#ifdef __riscv_flen
>>> li t0, MSTATUS_FS
>>> csrs mstatus, t0
>>> + csrw fcsr, zero
>>> +#endif
>> Do you think it makes sense to check the MISA register for checking
>> the existence of an FPU unit or not?
>
> I considered adding run-time tests here. I decided to not do it since we should
> offer a good multilib for a particular chip. It is the duty of the user to
> select the right multilib for its chip.
>
This seems reasonable.
Will the user get a kind landing if they select the wrong library, ie no support
in the hardware or supported in hardware but using the wrong library? I remember
the horrible error with the FPU on the m68k, it was often incorrect linker flags.
Chris
More information about the devel
mailing list