<div dir="ltr">Dear Sir,<div><br></div><div>I attached memcpy() object dump file in cxx_throw.exe.</div><div><br></div><div>As I check disassembly code of memcpy, register {d0-d7} are used for vst or vld instruction.</div><div><br></div><div>Therefore, I am guessing VFP registers' range for context switching is not {d8-d15}, but, {d0-d7}.</div><div><br></div><div>Please advise me.</div><div><br></div><div>Best Regards,</div><div>Thomas Kim</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-12-02 19:16 GMT+09:00 Thomas Kim <span dir="ltr"><<a href="mailto:thomas73.kim@gmail.com" target="_blank">thomas73.kim@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear Sir.<div><br></div><div>I completed to port RTEMS on Cortex-A8 board using below option.</div><div><div> CPU_CFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp</div></div><div>At this time, RTEMS sample example(ticker.exe) is working very well.</div><div><br></div><div>Because there is a problem for executing C++ exception example using "-mfloat-abi=softfp", I changed below option.</div><div><div> CPU_CFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard</div></div><div><br></div><div>After I rebuild RTEMS using "-mfloat-abi=hard", I am tring to test both ticker.exe and cxx_throw.exe.</div><div>But, both examples are crashed in mount() function of rtems_filesystem_initialize().</div><div>In detailly, memcpy() of alloc_mount_table_entry() is called, exception is ocurred.</div><div><br></div><div>I am guessing that the context switching for NEON/VFP registers by thread dispatcher is not correct. </div><div><br></div><div>As I know in current RTEMS source,NEON/VFP registers({d8-d15} only) are saved and restored.</div><div><br></div><div>Is it correct feature ?</div><div><br></div><div>Best Regards,</div><div>Thomas Kim</div><div><br></div></div>
</blockquote></div><br></div>