This is the mail archive of the
mailing list for the GCC project.
Ada Interrupt Tasks
- From: Joel Sherrill <joel dot sherrill at oarcorp dot com>
- To: GCC List <gcc at gcc dot gnu dot org>
- Date: Wed, 17 Oct 2007 16:31:51 -0500
- Subject: 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
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 s-osinte.ad?
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
+ hardware interrupts
- maximum hardware interrupts
- 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.