summaryrefslogtreecommitdiffstats
path: root/c-user/config/event-record.rst
blob: 31a4fa90a2324869b8d1bec3f21df621e702732e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
.. SPDX-License-Identifier: CC-BY-SA-4.0

.. Copyright (C) 2019, 2021 embedded brains GmbH (http://www.embedded-brains.de)

.. This file is part of the RTEMS quality process and was automatically
.. generated.  If you find something that needs to be fixed or
.. worded better please post a report or patch to an RTEMS mailing list
.. or raise a bug report:
..
.. https://www.rtems.org/bugs.html
..
.. For information on updating and regenerating please refer to the How-To
.. section in the Software Requirements Engineering chapter of the
.. RTEMS Software Engineering manual.  The manual is provided as a part of
.. a release.  For development sources please refer to the online
.. documentation at:
..
.. https://docs.rtems.org

.. Generated from spec:/acfg/if/group-eventrecord

Event Recording Configuration
=============================

This section describes configuration options related to the event recording.

.. Generated from spec:/acfg/if/record-extensions-enabled

.. raw:: latex

    \clearpage

.. index:: CONFIGURE_RECORD_EXTENSIONS_ENABLED

.. _CONFIGURE_RECORD_EXTENSIONS_ENABLED:

CONFIGURE_RECORD_EXTENSIONS_ENABLED
-----------------------------------

.. rubric:: CONSTANT:

``CONFIGURE_RECORD_EXTENSIONS_ENABLED``

.. rubric:: OPTION TYPE:

This configuration option is a boolean feature define.

.. rubric:: DEFAULT CONFIGURATION:

If this configuration option is undefined, then the described feature is not
enabled.

.. rubric:: DESCRIPTION:

In case

* this configuration option is defined

* and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,

then the event record extensions are enabled.

.. rubric:: NOTES:

The record extensions capture thread create, start, restart, delete, switch,
begin, exitted and terminate events.

.. Generated from spec:/acfg/if/record-fatal-dump-base64

.. raw:: latex

    \clearpage

.. index:: CONFIGURE_RECORD_FATAL_DUMP_BASE64

.. _CONFIGURE_RECORD_FATAL_DUMP_BASE64:

CONFIGURE_RECORD_FATAL_DUMP_BASE64
----------------------------------

.. rubric:: CONSTANT:

``CONFIGURE_RECORD_FATAL_DUMP_BASE64``

.. rubric:: OPTION TYPE:

This configuration option is a boolean feature define.

.. rubric:: DEFAULT CONFIGURATION:

If this configuration option is undefined, then the described feature is not
enabled.

.. rubric:: DESCRIPTION:

In case

* this configuration option is defined

* and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,

* and :ref:`CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB` is undefined,

then the event records are dumped in Base64 encoding in a fatal error
extension (see :ref:`Terminate`).

.. rubric:: NOTES:

This extension can be used to produce crash dumps.

.. Generated from spec:/acfg/if/record-fatal-dump-base64-zlib

.. raw:: latex

    \clearpage

.. index:: CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB

.. _CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB:

CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB
---------------------------------------

.. rubric:: CONSTANT:

``CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB``

.. rubric:: OPTION TYPE:

This configuration option is a boolean feature define.

.. rubric:: DEFAULT CONFIGURATION:

If this configuration option is undefined, then the described feature is not
enabled.

.. rubric:: DESCRIPTION:

In case

* this configuration option is defined

* and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,

then the event records are compressed by zlib and dumped in Base64 encoding
in a fatal error extension (see :ref:`Terminate`).

.. rubric:: NOTES:

The zlib compression needs about 512KiB of RAM.  This extension can be used
to produce crash dumps.

.. Generated from spec:/acfg/if/record-per-processor-items

.. raw:: latex

    \clearpage

.. index:: CONFIGURE_RECORD_PER_PROCESSOR_ITEMS

.. _CONFIGURE_RECORD_PER_PROCESSOR_ITEMS:

CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
------------------------------------

.. rubric:: CONSTANT:

``CONFIGURE_RECORD_PER_PROCESSOR_ITEMS``

.. rubric:: OPTION TYPE:

This configuration option is an integer define.

.. rubric:: DEFAULT VALUE:

The default value is 0.

.. rubric:: DESCRIPTION:

The value of this configuration option defines the event record item count
per processor.

.. rubric:: NOTES:

The event record buffers are statically allocated for each configured
processor (:ref:`CONFIGURE_MAXIMUM_PROCESSORS`).  If the value of this
configuration option is zero, then nothing is allocated.

.. rubric:: CONSTRAINTS:

The following constraints apply to this configuration option:

* The value of the configuration option shall be greater than or equal to 16.

* The value of the configuration option shall be less than or equal to
  `SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_.

* The value of the configuration option shall be a power of two.

* The value of the configuration option shall be less than or equal to a
  BSP-specific and application-specific value which depends on the size of the
  memory available to the application.