<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">But if you don't use FP in ISR you still need to compile the ISR with -fsoft-float because the compiler may dirty the FP registers otherwise.<div>For example: a = b; where a, b are struct timespec may be implemented in FP registers.<br><div><br><div><div>On Dec 11, 2013, at 9:44 PM, Kate Feng <<a href="mailto:kate007.feng@gmail.com">kate007.feng@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div dir="ltr"><div>Using -msoft-float is slower than using the hardware FPU.<br>The former one will kill real-time performance. -msoft-float is not<br>recommended to be used at the BSP level, unless the board does not<br>support hardware FP registers. See more below......<br></div><br><div class="gmail_extra"><div class="gmail_quote">On Tue, Dec 10, 2013 at 12:36 PM, Joel Sherrill<span class="Apple-converted-space"> </span><span dir="ltr"><<a href="mailto:Joel.Sherrill@oarcorp.com" target="_blank">Joel.Sherrill@oarcorp.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><p dir="ltr">GCC for the PowerPC will use floating point registers when you don't expect. Because of this all tasks are implicitly float on PPC. But in the bsp, there is concern for accidentally using the FPU in an ISR. This may be the sole reason soft float is used here.</p></blockquote><div>If the usage of the FPU could not be avoided in an ISR, then one<br>should explicitly save and restore the FP registers in the ISR.<br><br></div><div>Cheers,<br></div><div>Kate Feng<br></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div><p dir="ltr">Would love to hear from Kate or another PowerPC BSP folks.</p><div><div class="h5"><div>On Dec 10, 2013 9:05 AM, Chirayu Desai <<a href="mailto:chirayudesai1@gmail.com" target="_blank">chirayudesai1@gmail.com</a>> wrote:<br type="attribution"></div><div><div dir="ltr">Sorry for not being clear earlier, I want to know whether -msoft-float is required or not.<div>If someone using the git HEAD (or RTEMS 4.10 or above) can verify that it is working without a problem, that would be great.</div><div>-msoft-float was removed in rtems.git commit 7425411ff581a8f5c92a1266085e7eb1f4debd2b,</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 10 December 2013 22:29, Chirayu Desai<span class="Apple-converted-space"> </span><span dir="ltr"><<a href="mailto:chirayudesai1@gmail.com" target="_blank">chirayudesai1@gmail.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div dir="ltr">Hi,<div><br></div><div><a href="https://www.rtems.org/bugzilla/show_bug.cgi?id=1323" target="_blank">https://www.rtems.org/bugzilla/show_bug.cgi?id=1323</a><br></div><div>There is still an uncertainty regarding that bug, as the hardware does have a FPU, but looks like it was removed for some reason.</div><div><br></div><div><pre style="width: 50em; white-space: pre-wrap;">git says this was introduced by commit ee732739bf9021a7a22de95eca9095c49b1d9169
commit ee732739bf9021a7a22de95eca9095c49b1d9169
Author: Joel Sherrill <<a href="mailto:joel.sherrill@OARcorp.com" target="_blank" style="color: rgb(102, 51, 102);">joel.sherrill@OARcorp.com</a>>
Date: Thu Sep 13 14:26:24 2007 +0000
2007-09-07 Kate Feng <<a href="mailto:feng1@bnl.gov" target="_blank" style="color: rgb(102, 51, 102);">feng1@bnl.gov</a>>
* ChangeLog, Makefile.am, README, README.booting, README.irq,
<a href="http://preinstall.am/" target="_blank">preinstall.am</a>, GT64260/MVME5500I2C.c, include/bsp.h, irq/irq.c,
irq/irq.h, irq/irq_init.c, pci/detect_host_bridge.c, pci/pci.c,
pci/pci_interface.c, pci/pcifinddevice.c, start/preload.S,
startup/bspclean.c, startup/bspstart.c, startup/pgtbl_activate.c,
startup/reboot.c, vectors/bspException.h, vectors/exceptionhandler.c:
Merge my improvements in this BSP including a new network
driver for the 1GHz NIC.
* network/if_100MHz/GT64260eth.c, network/if_100MHz/GT64260eth.h,
network/if_100MHz/GT64260ethreg.h, network/if_100MHz/Makefile.am,
network/if_1GHz/Makefile.am, network/if_1GHz/POSSIBLEBUG,
network/if_1GHz/if_wm.c, network/if_1GHz/if_wmreg.h,
network/if_1GHz/pci_map.c, network/if_1GHz/pcireg.h: New files.
<br></pre><pre style="width: 50em; white-space: pre-wrap;">Anybody here who can test this on actual hardware and verify what is wrong with this?
<br></pre><pre style="width: 50em; white-space: pre-wrap;">Thanks.</pre><span><font color="#888888"><pre style="width: 50em; white-space: pre-wrap;">Chirayu Desai</pre></font></span></div></div></blockquote></div><br></div></div></div></div></div><br>_______________________________________________<br>rtems-users mailing list<br><a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br><a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br><br></blockquote></div><br></div></div>_______________________________________________<br>rtems-users mailing list<br><a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br><a href="http://www.rtems.org/mailman/listinfo/rtems-users">http://www.rtems.org/mailman/listinfo/rtems-users</a></div></blockquote></div><br></div></div></body></html>