<!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>