[Bug 1607] __RTEMS_SIZEOF_VOID_P__ flawed design

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Wed Jul 14 20:56:52 UTC 2010


--- Comment #12 from Joel Sherrill <joel.sherrill at oarcorp.com> 2010-07-14 15:56:50 CDT ---
Let me see if I can sum up the primary issues:

+ can't multilib the autoconf output so the use of generated sizeof can't
  go in cpukit
+ rewriting ISR code in C would be a lengthy undertaking, likely breaking
  code that is very carefully written.
+ using a new variable with sizeof(void *) in it will require modifications
  to the ISR code (which itself is OK) but the additions will add execution
  time to the most critical part of the system.

The ISR code is already split between cpukit, libcpu, and libbsp.  SMP
support will require it to be outside the cpukit.  

So moving the ISR code outside the CPU Kit is not a bad alternative.  It 
will allow us to place all the ISR code in orthogonal locations.  I don't
care whether it is in libcpu or libbsp but think libcpu would be nicer.
This would mean the constant needed would not be generated by cpukit 
autoconf checks.

If it is outside cpukit, then we have to generate the sizeof constant
in either libcpu or libbsp.  libbsp already generates bspopts.h and
I don't think libcpu generates a .h.  libcpu would be a more central
place to generate this though.

If we move the ISR code outside cpukit, then how would you prefer the
offsets be generated?

Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.

More information about the bugs mailing list