Context switching for VFP registers on Cortex-A8 board.

Thomas Kim thomas73.kim at gmail.com
Tue Dec 2 10:29:33 UTC 2014


Dear Sir,

I attached memcpy() object dump file in cxx_throw.exe.

As I check disassembly code of memcpy, register {d0-d7} are used for vst or
vld instruction.

Therefore, I am guessing VFP registers' range for context switching is not
{d8-d15}, but, {d0-d7}.

Please advise me.

Best Regards,
Thomas Kim


2014-12-02 19:16 GMT+09:00 Thomas Kim <thomas73.kim at gmail.com>:

> Dear  Sir.
>
> I completed to port RTEMS on Cortex-A8 board using below option.
>   CPU_CFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon
> -mfloat-abi=softfp
> At this time, RTEMS sample example(ticker.exe) is working very well.
>
> Because there is a problem for executing C++ exception example using
> "-mfloat-abi=softfp", I changed below option.
>   CPU_CFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard
>
> After I rebuild RTEMS using "-mfloat-abi=hard", I am tring to test both
> ticker.exe and cxx_throw.exe.
> But, both examples are crashed in mount() function of
> rtems_filesystem_initialize().
> In detailly, memcpy() of alloc_mount_table_entry() is called, exception is
> ocurred.
>
> I am guessing that the context switching for NEON/VFP registers by thread
> dispatcher is not correct.
>
> As I know in current RTEMS source,NEON/VFP registers({d8-d15}  only) are
> saved and restored.
>
> Is it correct feature ?
>
> Best Regards,
> Thomas Kim
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20141202/cb122b84/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cxx_throw.dump
Type: application/octet-stream
Size: 13720 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20141202/cb122b84/attachment-0001.obj>


More information about the users mailing list