summaryrefslogtreecommitdiffstats
path: root/spec/if
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-06-04 16:57:10 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-07-03 10:22:45 +0200
commit773e5724dffdd4a78e4b11b4ca0e11aa312496b2 (patch)
treeb36aeebf8aed8c90d356db6353b4bc87a3878b4b /spec/if
parentspec: Add /if/rtems/config/* (diff)
downloadrtems-central-773e5724dffdd4a78e4b11b4ca0e11aa312496b2.tar.bz2
spec: Add /if/rtems/modes/*
Diffstat (limited to 'spec/if')
-rw-r--r--spec/if/impl/cpu/modes-interrupt-mask.yml10
-rw-r--r--spec/if/rtems/modes/all-mode-masks.yml19
-rw-r--r--spec/if/rtems/modes/asr-mask.yml20
-rw-r--r--spec/if/rtems/modes/asr.yml20
-rw-r--r--spec/if/rtems/modes/current-mode.yml21
-rw-r--r--spec/if/rtems/modes/default-modes.yml20
-rw-r--r--spec/if/rtems/modes/header.yml11
-rw-r--r--spec/if/rtems/modes/interrupt-level-body.yml35
-rw-r--r--spec/if/rtems/modes/interrupt-level.yml30
-rw-r--r--spec/if/rtems/modes/interrupt-mask-variable.yml19
-rw-r--r--spec/if/rtems/modes/interrupt-mask.yml20
-rw-r--r--spec/if/rtems/modes/mode.yml20
-rw-r--r--spec/if/rtems/modes/no-asr.yml20
-rw-r--r--spec/if/rtems/modes/no-preempt.yml20
-rw-r--r--spec/if/rtems/modes/no-timeslice.yml20
-rw-r--r--spec/if/rtems/modes/preempt-mask.yml20
-rw-r--r--spec/if/rtems/modes/preempt.yml20
-rw-r--r--spec/if/rtems/modes/timeslice-mask.yml20
-rw-r--r--spec/if/rtems/modes/timeslice.yml20
19 files changed, 385 insertions, 0 deletions
diff --git a/spec/if/impl/cpu/modes-interrupt-mask.yml b/spec/if/impl/cpu/modes-interrupt-mask.yml
new file mode 100644
index 00000000..7bd2d8cd
--- /dev/null
+++ b/spec/if/impl/cpu/modes-interrupt-mask.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: unspecified
+links:
+- role: interface-placement
+ uid: header
+name: CPU_MODES_INTERRUPT_MASK
+type: interface
diff --git a/spec/if/rtems/modes/all-mode-masks.yml b/spec/if/rtems/modes/all-mode-masks.yml
new file mode 100644
index 00000000..85d7d6eb
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_ALL_MODE_MASKS
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/asr-mask.yml b/spec/if/rtems/modes/asr-mask.yml
new file mode 100644
index 00000000..6129d8e2
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_ASR_MASK
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/asr.yml b/spec/if/rtems/modes/asr.yml
new file mode 100644
index 00000000..6dbb3848
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_ASR
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/current-mode.yml b/spec/if/rtems/modes/current-mode.yml
new file mode 100644
index 00000000..6bbb5953
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_CURRENT_MODE
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/default-modes.yml b/spec/if/rtems/modes/default-modes.yml
new file mode 100644
index 00000000..688a3bb0
--- /dev/null
+++ b/spec/if/rtems/modes/default-modes.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: /groups/api/classic/modes
+name: RTEMS_DEFAULT_MODES
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/header.yml b/spec/if/rtems/modes/header.yml
new file mode 100644
index 00000000..1cd9e781
--- /dev/null
+++ b/spec/if/rtems/modes/header.yml
@@ -0,0 +1,11 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+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/domains/api
+path: rtems/rtems/modes.h
+prefix: cpukit/include
+type: interface
diff --git a/spec/if/rtems/modes/interrupt-level-body.yml b/spec/if/rtems/modes/interrupt-level-body.yml
new file mode 100644
index 00000000..96c322c1
--- /dev/null
+++ b/spec/if/rtems/modes/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:
+ - ${/if/c/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: /groups/api/classic/modes
+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/if/rtems/modes/interrupt-level.yml b/spec/if/rtems/modes/interrupt-level.yml
new file mode 100644
index 00000000..89c8c3e5
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+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/if/rtems/modes/interrupt-mask-variable.yml b/spec/if/rtems/modes/interrupt-mask-variable.yml
new file mode 100644
index 00000000..26976ef1
--- /dev/null
+++ b/spec/if/rtems/modes/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 ${/if/c/uint32_t:/name} ${.:/name}
+ variants: []
+description: '%'
+enabled-by: true
+interface-type: variable
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/classic/modes
+name: rtems_interrupt_mask
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/interrupt-mask.yml b/spec/if/rtems/modes/interrupt-mask.yml
new file mode 100644
index 00000000..c48c6dc6
--- /dev/null
+++ b/spec/if/rtems/modes/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: ${/if/impl/cpu/modes-interrupt-mask:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/classic/modes
+name: RTEMS_INTERRUPT_MASK
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/mode.yml b/spec/if/rtems/modes/mode.yml
new file mode 100644
index 00000000..dcab96b2
--- /dev/null
+++ b/spec/if/rtems/modes/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: ${/if/c/uint32_t:/name} ${.:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/classic/modes
+name: rtems_mode
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/no-asr.yml b/spec/if/rtems/modes/no-asr.yml
new file mode 100644
index 00000000..d6a4f31c
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_NO_ASR
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/no-preempt.yml b/spec/if/rtems/modes/no-preempt.yml
new file mode 100644
index 00000000..878b455c
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_NO_PREEMPT
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/no-timeslice.yml b/spec/if/rtems/modes/no-timeslice.yml
new file mode 100644
index 00000000..fb5b2c4e
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_NO_TIMESLICE
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/preempt-mask.yml b/spec/if/rtems/modes/preempt-mask.yml
new file mode 100644
index 00000000..7d01e612
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_PREEMPT_MASK
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/preempt.yml b/spec/if/rtems/modes/preempt.yml
new file mode 100644
index 00000000..ce0b9f06
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_PREEMPT
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/timeslice-mask.yml b/spec/if/rtems/modes/timeslice-mask.yml
new file mode 100644
index 00000000..1afca8eb
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_TIMESLICE_MASK
+notes: null
+type: interface
diff --git a/spec/if/rtems/modes/timeslice.yml b/spec/if/rtems/modes/timeslice.yml
new file mode 100644
index 00000000..31fc044e
--- /dev/null
+++ b/spec/if/rtems/modes/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: /groups/api/classic/modes
+name: RTEMS_TIMESLICE
+notes: null
+type: interface