Changeset 92745a4 in rtems-docs


Ignore:
Timestamp:
Nov 16, 2018, 6:14:37 AM (5 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
5278c7f
Parents:
fdaef80
git-author:
Sebastian Huber <sebastian.huber@…> (11/16/18 06:14:37)
git-committer:
Sebastian Huber <sebastian.huber@…> (11/21/18 07:08:04)
Message:

c-user: Remove 16-bit object identifiers

Close #3603.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c-user/key_concepts.rst

    rfdaef80 r92745a4  
    9595----------
    9696
    97 An object ID is a unique unsigned integer value which uniquely identifies an
    98 object instance.  Object IDs are passed as arguments to many directives in
    99 RTEMS and RTEMS translates the ID to an internal object pointer. The efficient
    100 manipulation of object IDs is critical to the performance of RTEMS services.
    101 Because of this, there are two object Id formats defined.  Each target
    102 architecture specifies which format it will use.  There is a thirty-two bit
    103 format which is used for most of the supported architectures and supports
    104 multiprocessor configurations.  There is also a simpler sixteen bit format
    105 which is appropriate for smaller target architectures and does not support
    106 multiprocessor configurations.
    107 
    108 Thirty-Two Object ID Format
    109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
     97An object ID is a unique 32-bit unsigned integer value which uniquely
     98identifies an object instance.  Object IDs are passed as arguments to many
     99directives in RTEMS and RTEMS translates the ID to an internal object pointer.
     100The efficient manipulation of object IDs is critical to the performance of some
     101RTEMS services.
     102
     103Object ID Format
     104~~~~~~~~~~~~~~~~
    110105
    111106The thirty-two bit format for an object ID is composed of four parts: API,
     
    129124identifier, called the object index, ranges in value from 1 to the maximum
    130125number of objects configured for this object type.
    131 
    132 Sixteen Bit Object ID Format
    133 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    134 
    135 The sixteen bit format for an object ID is composed of three parts: API, object
    136 class, and index.  The data type ``rtems_id`` is used to store object IDs.
    137 
    138 .. code-block:: c
    139 
    140     15      11 10    8 7            0
    141     +---------+-------+--------------+
    142     |         |       |              |
    143     |  Class  |  API  |    Index     |
    144     |         |       |              |
    145     +---------+-------+--------------+
    146 
    147 The sixteen-bit format is designed to be as similar as possible to the
    148 thrity-two bit format.  The differences are limited to the eliminatation of the
    149 node field and reduction of the index field from sixteen-bits to 8-bits.  Thus
    150 the sixteen bit format only supports up to 255 object instances per API/Class
    151 combination and single processor systems.  As this format is typically utilized
    152 by sixteen-bit processors with limited address space, this is more than enough
    153 object instances.
    154126
    155127Object ID Description
Note: See TracChangeset for help on using the changeset viewer.