Changeset 32de9ff in rtems-docs

12/01/22 18:13:43 (2 months ago)
Joel Sherrill <joel@…>
Joel Sherrill <joel@…> (12/01/22 18:13:43)
Joel Sherrill <joel@…> (12/07/22 18:35:19)

c-user: Add Local vs Global to Key Concepts Chapter

Add multiple new index entries and cite them where RTEMS_LOCAL
and RTEMS_GLOBAL are cited.

Closes #4453.

1 edited


  • c-user/key_concepts.rst

    r8f5f371 r32de9ff  
    8686    }
    88 .. index:: object ID
    89 .. index:: object ID composition
     88.. index:: object id
     89.. index:: object id composition
    9090.. index:: rtems_id
    92 Object IDs
     92Object Ids
    95 An object ID is a unique 32-bit unsigned integer value which uniquely
    96 identifies an object instance.  Object IDs are passed as arguments to many
    97 directives in RTEMS and RTEMS translates the ID to an internal object pointer.
    98 The efficient manipulation of object IDs is critical to the performance of some
    99 RTEMS services.
     95an object id is a unique 32-bit unsigned integer value which uniquely
     96identifies an object instance.  object ids are passed as arguments to many
     97directives in rtems and rtems translates the id to an internal object pointer.
     98the efficient manipulation of object ids is critical to the performance of some
     99rtems services.
     101.. index:: rtems_extension_ident()
     102.. index:: rtems_barrier_ident()
     103.. index:: rtems_port_ident()
     104.. index:: rtems_message_queue_ident()
     105.. index:: rtems_partition_ident()
     106.. index:: rtems_region_ident()
     107.. index:: rtems_semaphore_ident()
     108.. index:: rtems_task_ident()
     109.. index:: rtems_timer_ident()
     111There are multiple directives with names of the form
     112``rtems_@CLASS@_ident`` that take a name as argument and return the associated
     113id if the name is found. The following is the set of name to id services:
     114which can look up an object
     116* ``rtems_extension_ident()``
     117* ``rtems_barrier_ident()``
     118* ``rtems_port_ident()``
     119* ``rtems_message_queue_ident()``
     120* ``rtems_partition_ident()``
     121* ``rtems_region_ident()``
     122* ``rtems_semaphore_ident()``
     123* ``rtems_task_ident()``
     124* ``rtems_timer_ident()``
     126Local and Global Scope
     129.. index:: uniprocesor
     130.. index:: multiprocessing
     131.. index:: distributed multiprocessing
     132.. index:: symmetric multiprocessing (SMP)
     133.. index:: local scope
     134.. index:: global scope
     135.. index:: RTEMS_GLOBAL
     136.. index:: RTEMS_LOCAL
     137.. index:: RTEMS_GLOBAL
     139RTEMS supports uniprocessing, distributed multiprocessing, and Symmetric
     140Multiprocessing (SMP) configurations. A uniprocessor system includes only
     141a single processor in a single node. Distributed multiprocessor systems
     142include multiple nodes, each of which is a single processor and is usually
     143referred to as just multiprocessor mode for historical reasons. SMP
     144systems consist of multiple processors cores in a single node.
     146In distributed multiprocessing configurations, there are multiple nodes in
     147the system and object instances may be visible on just the creating node
     148or to all nodes. If visible only to the creating node, this is referred to
     149as **local scope** and corresponds to the RTEMS_LOCAL attribute setting
     150which is the default. If RTEMS GLOBAL is specified as part of the object
     151attributes, then the object instance has **global scope** and the object
     152id can be used anywhere in the system to identify that object instance.
     154In uniprocessing and SMP configurations, there is only one node in
     155the system and object instances are locally scoped to that node. Any
     156attempt to create with the RTEMS_GLOBAL attribute is an error.
    101158Object ID Format
    122179identifier, called the object index, ranges in value from 1 to the maximum
    123180number of objects configured for this object type.
     182None of the fields in an object id may be zero except for the special
     183case of RTEMS_SELF to indicate the currently running thread.
    125185Object ID Description
Note: See TracChangeset for help on using the changeset viewer.