This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Ada Interrupt Tasks


I have Ada interrupt tasks that are attached
to real hardware interrupts working for RTEMS.
I based the RTEMS code on the existing code
for VxWorks.

I tried to minimize my modifications since I
could tell that the OS functionality used was
very generic.  But since the implementation
in s-interr-vxworks.adb binds directly to VxWorks
specific calls, I had to make an s-interr-rtems.adb
to account solely for API differences.  If the
VxWorks code had been implemented with a glue
layer to the VxWorks API, I would not have had
to copy the file in its 1147 line entirety.

I would like to suggest that
or (less desirable) a new package have adapter/facades
to the OS specific routines required to implement
Ada tasks attached to hardware interrupt sources.

I have a list of functionality that would have
to be in the adapter set:

+ simple binary semaphore
 - create
 - delete
 - obtain
 - release
 - flush
+ hardware interrupts
 - maximum hardware interrupts
 - connect
 - get handler
 - set handler
 - interrupt number to hardware vector

This functionality must be in a common place so
the s-interr-hwint.adb doesn't have to "with VxWorks"
or "with RTEMS".  The names of the new elements
shouldn't reflect either RTEMS or VxWorks.  They
are just capabilities that the s-interr-hwint.adb

Comments and suggestions are welcomed.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]