Changeset 4812a8b5 in rtems


Ignore:
Timestamp:
04/06/21 14:02:20 (3 years ago)
Author:
Kinsey Moore <kinsey.moore@…>
Branches:
master
Children:
c5986a5
Parents:
3fc641ab
git-author:
Kinsey Moore <kinsey.moore@…> (04/06/21 14:02:20)
git-committer:
Joel Sherrill <joel@…> (10/29/21 17:40:56)
Message:

cpukit: Add signal mapping support

This adds a confdef option allowing an application to request mapping
machine exceptions to POSIX signals. This is required for some languages
such as Ada.

Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • cpukit/doxygen/appl-config.h

    r3fc641ab r4812a8b5  
    17731773 */
    17741774#define CONFIGURE_ATA_DRIVER_TASK_PRIORITY
     1775
     1776/* Generated from spec:/acfg/if/exception-to-signal-mapping */
     1777
     1778/**
     1779 * @brief This configuration option is a boolean feature define.
     1780 *
     1781 * In case this configuration option is defined, then the machine exception to
     1782 * POSIX signal mapping is configured during system initialization.
     1783 *
     1784 * @par Default Configuration
     1785 * If this configuration option is undefined, then the described feature is not
     1786 * enabled.
     1787 *
     1788 * @par Notes
     1789 * @parblock
     1790 * This device driver is responsible for setting up a mapping from machine
     1791 * exceptions to POSIX signals so that applications may consume them and alter
     1792 * task execution as necessary.
     1793 *
     1794 * This is especially useful for applications written in Ada or C++.
     1795 * @endparblock
     1796 */
     1797#define CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
    17751798
    17761799/* Generated from spec:/acfg/if/max-drivers */
  • cpukit/include/rtems/confdefs/extensions.h

    r3fc641ab r4812a8b5  
    9494#endif
    9595
     96#ifdef CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
     97  #include <rtems/score/exception.h>
     98#endif
     99
    96100#ifdef __cplusplus
    97101extern "C" {
     
    104108  || defined(BSP_INITIAL_EXTENSION)
    105109  const User_extensions_Table _User_extensions_Initial_extensions[] = {
     110    #ifdef CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
     111      { .fatal = _Exception_Raise_signal },
     112    #endif
    106113    #ifdef _CONFIGURE_RECORD_NEED_EXTENSION
    107114      {
  • spec/build/cpukit/librtemscpu.yml

    r3fc641ab r4812a8b5  
    344344  - cpukit/include/rtems/score/coresemimpl.h
    345345  - cpukit/include/rtems/score/cpustdatomic.h
     346  - cpukit/include/rtems/score/exception.h
    346347  - cpukit/include/rtems/score/freechain.h
    347348  - cpukit/include/rtems/score/hash.h
     
    498499- role: build-dependency
    499500  uid: objdrvmgr
     501- role: build-dependency
     502  uid: objexceptionmapping
    500503- role: build-dependency
    501504  uid: objgnat
Note: See TracChangeset for help on using the changeset viewer.