summaryrefslogtreecommitdiffstats
path: root/spec/rtems/mode/if
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rtems/mode/if')
-rw-r--r--spec/rtems/mode/if/all-mode-masks.yml19
-rw-r--r--spec/rtems/mode/if/asr-mask.yml20
-rw-r--r--spec/rtems/mode/if/asr.yml20
-rw-r--r--spec/rtems/mode/if/current-mode.yml21
-rw-r--r--spec/rtems/mode/if/default.yml20
-rw-r--r--spec/rtems/mode/if/group.yml18
-rw-r--r--spec/rtems/mode/if/header.yml12
-rw-r--r--spec/rtems/mode/if/interrupt-level-body.yml35
-rw-r--r--spec/rtems/mode/if/interrupt-level.yml30
-rw-r--r--spec/rtems/mode/if/interrupt-mask-variable.yml19
-rw-r--r--spec/rtems/mode/if/interrupt-mask.yml20
-rw-r--r--spec/rtems/mode/if/mode.yml20
-rw-r--r--spec/rtems/mode/if/no-asr.yml20
-rw-r--r--spec/rtems/mode/if/no-preempt.yml20
-rw-r--r--spec/rtems/mode/if/no-timeslice.yml20
-rw-r--r--spec/rtems/mode/if/preempt-mask.yml20
-rw-r--r--spec/rtems/mode/if/preempt.yml20
-rw-r--r--spec/rtems/mode/if/timeslice-mask.yml20
-rw-r--r--spec/rtems/mode/if/timeslice.yml20
19 files changed, 394 insertions, 0 deletions
diff --git a/spec/rtems/mode/if/all-mode-masks.yml b/spec/rtems/mode/if/all-mode-masks.yml
new file mode 100644
index 00000000..92a86105
--- /dev/null
+++ b/spec/rtems/mode/if/all-mode-masks.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: This mode constant is a mask with all mode bits set.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x0000ffff'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_ALL_MODE_MASKS
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/asr-mask.yml b/spec/rtems/mode/if/asr-mask.yml
new file mode 100644
index 00000000..690a4cb8
--- /dev/null
+++ b/spec/rtems/mode/if/asr-mask.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant corresponds to the signal enable/disable bit.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000400'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_ASR_MASK
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/asr.yml b/spec/rtems/mode/if/asr.yml
new file mode 100644
index 00000000..54231e74
--- /dev/null
+++ b/spec/rtems/mode/if/asr.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant is used to indicate signal processing is enabled.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000000'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_ASR
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/current-mode.yml b/spec/rtems/mode/if/current-mode.yml
new file mode 100644
index 00000000..06767b5f
--- /dev/null
+++ b/spec/rtems/mode/if/current-mode.yml
@@ -0,0 +1,21 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant is used when the user wishes to obtain their current
+ execution mode.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_CURRENT_MODE
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/default.yml b/spec/rtems/mode/if/default.yml
new file mode 100644
index 00000000..a5d62d71
--- /dev/null
+++ b/spec/rtems/mode/if/default.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant is the default mode set.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000000'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_DEFAULT_MODES
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/group.yml b/spec/rtems/mode/if/group.yml
new file mode 100644
index 00000000..effb1397
--- /dev/null
+++ b/spec/rtems/mode/if/group.yml
@@ -0,0 +1,18 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This group contains the Classic API task modes.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+description: null
+enabled-by: true
+identifier: RTEMSAPIClassicModes
+interface-type: group
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: ../../if/group
+name: Task Modes
+text: |
+ The Classic API shall provide an interface to task modes.
+type: interface
diff --git a/spec/rtems/mode/if/header.yml b/spec/rtems/mode/if/header.yml
new file mode 100644
index 00000000..17d29647
--- /dev/null
+++ b/spec/rtems/mode/if/header.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: This header file defines the task modes of the Task Manager API.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: /if/domain
+path: rtems/rtems/modes.h
+prefix: cpukit/include
+type: interface
diff --git a/spec/rtems/mode/if/interrupt-level-body.yml b/spec/rtems/mode/if/interrupt-level-body.yml
new file mode 100644
index 00000000..16608cc8
--- /dev/null
+++ b/spec/rtems/mode/if/interrupt-level-body.yml
@@ -0,0 +1,35 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns a mode with the desired interrupt level in the proper bit-field
+ location.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${/c/if/uint32_t:/name} ${.:/params[0]/name}
+ return: ${mode:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_level_body
+notes: |
+ This function is used by bindings from languages other than C and C++.
+params:
+- description: is the desired interrupt level.
+ dir: null
+ name: level
+return:
+ return: |
+ A mode with the desired interrupt level in the proper bit-field location is
+ returned.
+ return-values: []
+type: interface
diff --git a/spec/rtems/mode/if/interrupt-level.yml b/spec/rtems/mode/if/interrupt-level.yml
new file mode 100644
index 00000000..b4eb17e5
--- /dev/null
+++ b/spec/rtems/mode/if/interrupt-level.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns the processor dependent interrupt level which corresponds to the
+ requested interrupt level.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ( ( ${.:/params[0]/name} ) & ${interrupt-mask:/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_INTERRUPT_LEVEL
+notes: |
+ RTEMS supports 256 interrupt levels using the least significant eight bits of
+ the mode set. On any particular CPU, fewer than 256 levels may be supported.
+params:
+- description: is the mode set.
+ dir: null
+ name: _mode_set
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/mode/if/interrupt-mask-variable.yml b/spec/rtems/mode/if/interrupt-mask-variable.yml
new file mode 100644
index 00000000..6e185f6e
--- /dev/null
+++ b/spec/rtems/mode/if/interrupt-mask-variable.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: const ${/c/if/uint32_t:/name} ${.:/name}
+ variants: []
+description: '%'
+enabled-by: true
+interface-type: variable
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_mask
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/interrupt-mask.yml b/spec/rtems/mode/if/interrupt-mask.yml
new file mode 100644
index 00000000..8f343f11
--- /dev/null
+++ b/spec/rtems/mode/if/interrupt-mask.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant corresponds to the interrupt enable/disable bits.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/cpu/if/modes-interrupt-mask:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_INTERRUPT_MASK
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/mode.yml b/spec/rtems/mode/if/mode.yml
new file mode 100644
index 00000000..4ecfc56f
--- /dev/null
+++ b/spec/rtems/mode/if/mode.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This type defines the control block used to manage each a mode set.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/c/if/uint32_t:/name} ${.:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_mode
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/no-asr.yml b/spec/rtems/mode/if/no-asr.yml
new file mode 100644
index 00000000..c2278801
--- /dev/null
+++ b/spec/rtems/mode/if/no-asr.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant is used to indicate signal processing is disabled.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000400'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_NO_ASR
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/no-preempt.yml b/spec/rtems/mode/if/no-preempt.yml
new file mode 100644
index 00000000..f6183fe9
--- /dev/null
+++ b/spec/rtems/mode/if/no-preempt.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant is used to indicate preemption is disabled.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000100'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_NO_PREEMPT
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/no-timeslice.yml b/spec/rtems/mode/if/no-timeslice.yml
new file mode 100644
index 00000000..de7aec75
--- /dev/null
+++ b/spec/rtems/mode/if/no-timeslice.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant is used to indicate timeslicing is disabled.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000000'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_NO_TIMESLICE
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/preempt-mask.yml b/spec/rtems/mode/if/preempt-mask.yml
new file mode 100644
index 00000000..8020cb47
--- /dev/null
+++ b/spec/rtems/mode/if/preempt-mask.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant corresponds to the preemption enable/disable bit.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000100'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_PREEMPT_MASK
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/preempt.yml b/spec/rtems/mode/if/preempt.yml
new file mode 100644
index 00000000..c513ffac
--- /dev/null
+++ b/spec/rtems/mode/if/preempt.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant is used to indicate preemption is enabled.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000000'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_PREEMPT
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/timeslice-mask.yml b/spec/rtems/mode/if/timeslice-mask.yml
new file mode 100644
index 00000000..c1846c59
--- /dev/null
+++ b/spec/rtems/mode/if/timeslice-mask.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant corresponds to the timeslice enable/disable bit.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000200'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_TIMESLICE_MASK
+notes: null
+type: interface
diff --git a/spec/rtems/mode/if/timeslice.yml b/spec/rtems/mode/if/timeslice.yml
new file mode 100644
index 00000000..1d2f98b6
--- /dev/null
+++ b/spec/rtems/mode/if/timeslice.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This mode constant is used to indicate timeslicing is enabled.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '0x00000200'
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_TIMESLICE
+notes: null
+type: interface