[GSOC] : Reducing Publicly Installed .h Files

Joel Sherrill joel.sherrill at OARcorp.com
Sun Apr 14 20:34:47 UTC 2013


Hi

I had an insight which makes it easy to answer the question
"What BSP specific .h files do the testsuites depend upon?"

We typically think of BSPs for real hardware with levels of
complexity. It is easy to forget that RTEMS has a number of
very simple BSPs for the simulators built into gdb.

Looking at gdbv850sim, m32rsim, m32csim, and h8sim, I can
pretty confidently state that this is the MINIMUM set of .h files
a BSP must install:

$(PROJECT_INCLUDE)/bsp.h
$(PROJECT_INCLUDE)/tm27.h
$(PROJECT_INCLUDE)/bspopts.h
$(PROJECT_INCLUDE)/bsp/bootcard.h
$(PROJECT_INCLUDE)/coverhd.h

And here are some notes on these:

$(PROJECT_INCLUDE)/bsp.h - Universally needed per current rules
$(PROJECT_INCLUDE)/tm27.h - Only used by tmtests/tm27
$(PROJECT_INCLUDE)/bspopts.h - Universally needed per current rules
$(PROJECT_INCLUDE)/bsp/bootcard.h - Needed for fatal error information
    Rework possible since it has mix of what I would think is internal 
to the
    BSP and what would be part of its public interface.
$(PROJECT_INCLUDE)/coverhd.h - Used by tmtests.
     We could discuss obsoleting this. I bet most recent BSPs use the 
version
     which default all values to 0.

Anything beyond that needs to be questioned using this as a starting point
for things which can be public:

+ Is it in support of an optional (but standard) API?
    - PCI
    - PIC IRQ
    - ... more TBD but a known list ...
+ ... more questions TBD ...

If the answer isn't yes based on that growing list of questions, then we 
should
push to make it private.

Every publicly installed .h file should be there for a known reason. :)

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985




More information about the devel mailing list