hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
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
Overview
========
 
This directory contains a pSOS(*) emulation interface on top of the
Xenomai framework.
 
 
Known variations from pSOS
==========================
 
You may observe some variations from pSOS. If you find such a
variation and you think it would be easy to correct, please mail to
the Xenomai mailing list at <xenomai@xenomai.org>.  Here are the known
variations:
 
- pSOS task priorities are restricted to [1..97] in the current
  implementation of the emulator.
 
- Clearing the T_SLICE bit using t_mode() may induce a round-robin
  effect within the priority level of the current task.
 
- T_LEVELMASKx bits are ignored by the emulator
  (e.g. t_mode()). Interrupts are always enabled for the running task.
 
- The following calls may return ERR_SSFN when called from a
  non-pSOS task context:
 
  ev_receive, tm_evafter, tm_evevery, tm_evwhen
 
- ERR_NOTIME is never returned, since the emulator sets the pSOS time
  at startup.
 
- q_create() always uses system buffers (Q_SYSBUF), regardless of the
  creation flags (i.e. Q_PRIBUF is ignored). System buffer memory is
  only limited by the addressable process memory; it is obtained from
  the main memory pool (see --mem-pool-size init option).
 
- Fixed and variable size message queues share a common namespace with
  respect to q_[v]ident() calls.
 
- tm_set() will not elapse any outstanding timer based on calendar
  time which timeout date moves to the past as a consequence of this
  call.
 
- rn_retseg() does not fully check the validity of the pointer
  argument. Therefore ERR_SEGADDR and ERR_SEGFREE error codes will
  never be returned, and passing a non-NULL invalid pointer within the
  bounds of the region may lead to unpredictable results.
 
(*) pSOS is a registered trademark of Wind River Systems, Inc
(http://www.windriver.com).