[Ada] RTEMS: use hardware interrupts instead of signals for interrupt handling

Sebastian Huber sebastian.huber@embedded-brains.de
Fri Nov 26 13:59:57 GMT 2021

Hello Pierre-Marie,

On 11/10/2021 15:39, Pierre-Marie de Rodat via Gcc-patches wrote:
> RTEMS supports attaching interrupt handlers to hardware interrupt
> vectors, which is superior to the current approach of attaching handlers
> to signals.  Direct attachment of handlers removes the execution
> overhead of converting hardware interrupts to signals and their
> subsequent propagation to the interrupt manager. It also removes the
> limitation of the number of hardware interrupts that can be supported
> under the signals model, as RTEMS is limited to 32 signals.
> Tested on x86_64-pc-linux-gnu, committed on trunk

for Newlib internal locks, the OpenMP library (libgomp), and the C++ 
standard library we use self-contained synchronization objects for RTEMS 
defined by <sys/_lock.h> which is provided by Newlib:


Binary and counting semaphores are supported, for example:

void _Semaphore_Post_binary(struct _Semaphore_Control *);

Using this interface has the benefit that the storage for the 
synchronization objects is user-provided. So, there is no need to 
account for these objects in the configuration.

embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
email: sebastian.huber@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:

More information about the Gcc-patches mailing list