[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:

https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/sys/rtems/include/sys/lock.h;h=d6169025b1a0d10ded0e31982baff64453e69cae;hb=HEAD

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
Germany
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:
https://embedded-brains.de/datenschutzerklaerung/


More information about the Gcc-patches mailing list