<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hello,</p>
    <p>I've a question: does RTEMS really wants to support FPU
      operations in ISRs?</p>
    <p>Because if the answer is "no", then I believe that we could
      simplify the RTEMS code (and for me the mental model of the whole
      thing) by running the FPU with both FPCCR.ASPEN and FPCCR.LSPEN =
      0.</p>
    <p>This mean that during IRQ/exception, the simple exception frame
      (32 bytes) would always be used instead of a combination of the
      simple and extended frame (32 or 116 bytes).</p>
    <p>This would then improve the real-time guarantees of the system,
      by having a shorter and more deterministic IRQ response time.<br>
    </p>
    <p>This would also simplify the context switching code, by
      centralizing of the saving of the FPU context in RTEMS only, and
      enabling optimisation like only saving/restoring the FPU when
      switching between tasks defined with <span
        style="background-color:#ffffff;padding:0px 0px 0px 2px;"><span
style="color:#000000;background-color:#ffffff;font-family:"Menlo";font-size:12pt;white-space:pre;"><span
        style="color:#000000;">RTEMS_FLOATING_POINT</span></span></span>.</p>
    <p>What do you think? I'm missing something? would it be a good
      idea?<br>
    </p>
    <p>I would be willing to work on that is there is some kind of
      agreement here.<br>
    </p>
    <p>Cedric</p>
    <p><br>
    </p>
  </body>
</html>