source: rtems/testsuites/tmtests/tmoverhd/dumrtems.h @ d5154d0f

5
Last change on this file since d5154d0f was d5154d0f, checked in by Aun-Ali Zaidi <admin@…>, on 12/23/15 at 20:44:02

api: Remove deprecated Notepads

Notepads where a feature of RTEMS' tasks that simply functioned in
the same way as POSIX keys or threaded local storage (TLS). They were
introduced well before per task variables, which are also deprecated,
and were barely used in favor of their POSIX alternatives.

In addition to their scarce usage, Notepads took up unnecessary memory.
For each task:

  • 16 32-bit integers were allocated.
  • A total of 64 bytes per task per thread.

This is especially critical in low memory and safety-critical applications.

They are also defined as uint32_t, and therefore are not guaranteed to
hold a pointer.

Lastly, they are not portable solutions for SMP and uniprocessor systems,
like POSIX keys and TLS.

updates #2493.

  • Property mode set to 100644
File size: 8.2 KB
Line 
1/*  dumrtems.h
2 *
3 *  This include file contains phony macros to map
4 *  executive calls to Empty_directive().
5 *
6 *  COPYRIGHT (c) 1989-1999.
7 *  On-Line Applications Research Corporation (OAR).
8 *
9 *  The license and distribution terms for this file may be
10 *  found in the file LICENSE in this distribution or at
11 *  http://www.rtems.org/license/LICENSE.
12 */
13
14#ifndef __DUMRTEMS_h
15#define __DUMRTEMS_h
16
17/* RTEMS call redefinition macros */
18
19#undef rtems_signal_catch
20#undef rtems_signal_send
21#undef rtems_io_close
22#undef rtems_io_control
23#undef rtems_io_initialize
24#undef rtems_io_open
25#undef rtems_io_read
26#undef rtems_io_write
27#undef rtems_port_internal_to_external
28#undef rtems_port_external_to_internal
29#undef rtems_port_create
30#undef rtems_port_delete
31#undef rtems_port_ident
32#undef rtems_event_receive
33#undef rtems_event_send
34#undef rtems_initialize_data_structures
35#undef rtems_shutdown_executive
36#undef rtems_interrupt_catch
37#undef rtems_partition_create
38#undef rtems_partition_delete
39#undef rtems_partition_get_buffer
40#undef rtems_partition_ident
41#undef rtems_partition_return_buffer
42#undef rtems_message_queue_broadcast
43#undef rtems_message_queue_create
44#undef rtems_message_queue_delete
45#undef rtems_message_queue_flush
46#undef rtems_message_queue_ident
47#undef rtems_message_queue_receive
48#undef rtems_message_queue_send
49#undef rtems_message_queue_urgent
50#undef rtems_region_create
51#undef rtems_region_delete
52#undef rtems_region_get_segment
53#undef rtems_region_ident
54#undef rtems_region_return_segment
55#undef rtems_semaphore_create
56#undef rtems_semaphore_delete
57#undef rtems_semaphore_ident
58#undef rtems_semaphore_obtain
59#undef rtems_semaphore_release
60#undef rtems_task_create
61#undef rtems_task_delete
62#undef rtems_task_ident
63#undef rtems_task_mode
64#undef rtems_task_restart
65#undef rtems_task_resume
66#undef rtems_task_set_priority
67#undef rtems_task_start
68#undef rtems_task_suspend
69#undef rtems_clock_get
70#undef rtems_clock_set
71#undef rtems_clock_tick
72#undef rtems_task_wake_after
73#undef rtems_task_wake_when
74#undef rtems_fatal_error_occurred
75#undef rtems_rate_monotonic_create
76#undef rtems_rate_monotonic_ident
77#undef rtems_rate_monotonic_delete
78#undef rtems_rate_monotonic_cancel
79#undef rtems_rate_monotonic_period
80#undef rtems_multiprocessing_announce
81#undef rtems_timer_create
82#undef rtems_timer_ident
83#undef rtems_timer_delete
84#undef rtems_timer_cancel
85#undef rtems_timer_fire_after
86#undef rtems_timer_fire_when
87#undef rtems_timer_reset
88
89#define     rtems_signal_catch( asraddr, mode ) \
90           Empty_directive()
91#define     rtems_signal_send( tid, signal ) \
92           Empty_directive()
93
94#define     rtems_io_close( major, minor, argp, rval ) \
95           Empty_directive()
96#define     rtems_io_control( major, minor, argp, rval ) \
97           Empty_directive()
98#define     rtems_io_initialize( major, minor, argp, rval ) \
99           Empty_directive()
100#define     rtems_io_open( major, minor, argp, rval ) \
101           Empty_directive()
102#define     rtems_io_read( major, minor, argp, rval ) \
103           Empty_directive()
104#define     rtems_io_write( major, minor, argp, rval ) \
105           Empty_directive()
106
107#define     rtems_port_internal_to_external( dpid, internal, external ) \
108           Empty_directive()
109#define     rtems_port_external_to_internal( dpid, external, internal ) \
110           Empty_directive()
111#define     rtems_port_create( name, intaddr, extaddr, length, dpid ) \
112           Empty_directive()
113#define     rtems_port_delete( dpid ) \
114           Empty_directive()
115#define     rtems_port_ident( name, dpid ) \
116           Empty_directive()
117
118#define     rtems_event_receive( eventin, options, timeout, eventout ) \
119           Empty_directive()
120#define     rtems_event_send( tid, event ) \
121           Empty_directive()
122
123#define     rtems_initialize_executive( conftbl, cputbl ) \
124           Empty_directive()
125#define     rtems_shutdown_executive( the_error ) \
126           Empty_directive()
127
128#define     rtems_interrupt_catch( israddr, vector, oldisr ) \
129           Empty_directive()
130
131#define     rtems_partition_create( name, paddr, length, bsize, attr, ptid ) \
132           Empty_directive()
133#define     rtems_partition_delete( ptid ) \
134           Empty_directive()
135#define     rtems_partition_get_buffer( ptid, bufaddr ) \
136           Empty_directive()
137#define     rtems_partition_ident( name, node, ptid ) \
138           Empty_directive()
139#define     rtems_partition_return_buffer( ptid, bufaddr ) \
140           Empty_directive()
141
142#define     rtems_message_queue_broadcast( qid, buffer, count ) \
143           Empty_directive()
144#define     rtems_message_queue_create( name, count, attr, qid ) \
145           Empty_directive()
146#define     rtems_message_queue_delete( qid ) \
147           Empty_directive()
148#define     rtems_message_queue_flush( qid, count ) \
149           Empty_directive()
150#define     rtems_message_queue_ident( name, node, qid ) \
151           Empty_directive()
152#define     rtems_message_queue_receive( qid, buffer, options, timeout ) \
153           Empty_directive()
154#define     rtems_message_queue_send( qid, buffer ) \
155           Empty_directive()
156#define     rtems_message_queue_urgent( qid, buffer ) \
157           Empty_directive()
158
159#define     rtems_region_create( name, paddr, length, pagesize, attr, rnid ) \
160           Empty_directive()
161#define     rtems_region_delete( rnid ) \
162           Empty_directive()
163#define     rtems_region_get_segment( rnid, size, options, timeout, segaddr ) \
164           Empty_directive()
165#define     rtems_region_ident( name, rnid ) \
166           Empty_directive()
167#define     rtems_region_return_segment( rnid, segaddr ) \
168           Empty_directive()
169
170#define     rtems_semaphore_create( name, count, attr, priceil, smid ) \
171           Empty_directive()
172#define     rtems_semaphore_delete( smid ) \
173           Empty_directive()
174#define     rtems_semaphore_ident( name, node, smid ) \
175           Empty_directive()
176#define     rtems_semaphore_obtain( smid, options, timeout ) \
177           Empty_directive()
178#define     rtems_semaphore_release( smid ) \
179           Empty_directive()
180
181#define     rtems_task_create( name, priority, stack_size, mode, attr, tid ) \
182           Empty_directive()
183#define     rtems_task_delete( tid ) \
184           Empty_directive()
185#define     rtems_task_ident( name, node, tid ) \
186           Empty_directive()
187#define     rtems_task_mode( mode, mask, pmode ) \
188           Empty_directive()
189#define     rtems_task_restart( tid, arg ) \
190           Empty_directive()
191#define     rtems_task_resume( tid ) \
192           Empty_directive()
193#define     rtems_task_set_priority( tid, priority, ppriority ) \
194           Empty_directive()
195#define     rtems_task_start( tid, saddr, arg ) \
196           Empty_directive()
197#define     rtems_task_suspend( tid ) \
198           Empty_directive()
199
200#define     rtems_clock_get( options, time ) \
201           Empty_directive()
202#define     rtems_clock_set( time ) \
203           Empty_directive()
204#define     rtems_clock_tick() \
205           Empty_directive()
206#define     rtems_task_wake_after( ticks ) \
207           Empty_directive()
208#define     rtems_task_wake_when( time ) \
209           Empty_directive()
210
211#define     rtems_fatal_error_occurred( errcode ) \
212           Empty_directive()
213
214#define     rtems_rate_monotonic_create( name, id ) \
215           Empty_directive()
216#define     rtems_rate_monotonic_ident( name, id ) \
217           Empty_directive()
218#define     rtems_rate_monotonic_delete( id ) \
219           Empty_directive()
220#define     rtems_rate_monotonic_cancel( id ) \
221           Empty_directive()
222#define     rtems_rate_monotonic_period( id, period ) \
223           Empty_directive()
224
225#define     rtems_multiprocessing_announce() \
226           Empty_directive()
227
228#define     rtems_timer_create( name, tmid ) \
229           Empty_directive()
230#define     rtems_timer_delete( tmid ) \
231           Empty_directive()
232#define     rtems_timer_cancel( tmid ) \
233           Empty_directive()
234#define     rtems_timer_ident( name, tmid ) \
235           Empty_directive()
236#define     rtems_timer_fire_after( tmid, ticks, routine, user_data ) \
237           Empty_directive()
238#define     rtems_timer_fire_when( tmid, time, routine, user_data ) \
239           Empty_directive()
240#define     rtems_timer_reset( tmid ) \
241           Empty_directive()
242
243#if defined(__GNUC__)
244#define RTEMS_GCC_NOWARN_UNUSED RTEMS_UNUSED
245#else
246#define RTEMS_GCC_NOWARN_UNUSED
247#endif
248
249#endif
250/* end of include file */
Note: See TracBrowser for help on using the repository browser.