summaryrefslogtreecommitdiffstats
path: root/spec/rtems/intr/if
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-14 09:21:46 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-14 12:18:15 +0200
commit160a456f95ec8ed7e0792d7f1498d174e9635412 (patch)
tree075588027b1f628e31a2ac119897090b26c2c211 /spec/rtems/intr/if
parentmodules: Update rsb (diff)
downloadrtems-central-160a456f95ec8ed7e0792d7f1498d174e9635412.tar.bz2
spec: Rework interrupt attributes
Diffstat (limited to 'spec/rtems/intr/if')
-rw-r--r--spec/rtems/intr/if/attributes.yml41
-rw-r--r--spec/rtems/intr/if/signal-no.yml17
-rw-r--r--spec/rtems/intr/if/signal-unspecified.yml2
-rw-r--r--spec/rtems/intr/if/signal-variant.yml2
4 files changed, 47 insertions, 15 deletions
diff --git a/spec/rtems/intr/if/attributes.yml b/spec/rtems/intr/if/attributes.yml
index 193d589e..1280a175 100644
--- a/spec/rtems/intr/if/attributes.yml
+++ b/spec/rtems/intr/if/attributes.yml
@@ -33,9 +33,8 @@ definition:
definition: bool ${.:name}
description: |
When an interrupt vector can be enabled, this means that the enabled
- state can always be changed from disabled to enabled and from enabled to
- enabled. For an interrupt vector which can be enabled it follows that it
- may be enabled.
+ state can always be changed from disabled to enabled. For an interrupt
+ vector which can be enabled it follows that it may be enabled.
kind: member
name: can_enable
variants: []
@@ -46,11 +45,10 @@ definition:
definition: bool ${.:name}
description: |
When an interrupt vector may be enabled, this means that the enabled
- state may be changed from disabled to enabled and from enabled to
- enabled. The requested enabled state change should be checked by
- ${vector-is-enabled:/name}. Some interrupt vectors may be optionally
- avaialable and cannot be enabled on a particular
- ${/glossary/target:/term}.
+ state may be changed from disabled to enabled. The requested enabled
+ state change should be checked by ${vector-is-enabled:/name}. Some
+ interrupt vectors may be optionally avaialable and cannot be enabled on a
+ particular ${/glossary/target:/term}.
kind: member
name: maybe_enable
variants: []
@@ -61,13 +59,27 @@ definition:
definition: bool ${.:name}
description: |
When an interrupt vector can be disabled, this means that the enabled
- state can be changed from disabled to disabled and from enabled to
- disabled.
+ state can be changed from enabled to disabled. For an interrupt vector
+ which can be disabled it follows that it may be disabled.
kind: member
name: can_disable
variants: []
- default:
brief: |
+ This member is true, if the interrupt vector may be disabled by
+ ${vector-disable:/name}, otherwise it is false.
+ definition: bool ${.:name}
+ description: |
+ When an interrupt vector may be disabled, this means that the enabled
+ state may be changed from enabled to disabled. The requested enabled
+ state change should be checked by ${vector-is-enabled:/name}. Some
+ interrupt vectors may be always enabled and cannot be disabled on a
+ particular ${/glossary/target:/term}.
+ kind: member
+ name: maybe_disable
+ variants: []
+- default:
+ brief: |
This member is true, if the interrupt vector can be caused by
${cause:/name}, otherwise it is false.
definition: bool ${.:name}
@@ -127,12 +139,12 @@ definition:
vector can be triggered by a message.
definition: bool ${.:name}
description: |
- Interrupts may be also triggered by signals, ${cause:/name} or
+ Interrupts may be also triggered by signals, ${cause:/name}, or
${cause-on:/name}. Examples for message triggered interrupts are the
PCIe MSI/MSI-X and the ARM GICv3 Locality-specific Peripheral Interrupts
(LPI).
kind: member
- name: may_be_triggered_by_message
+ name: can_be_triggered_by_message
variants: []
- default:
brief: |
@@ -140,8 +152,9 @@ definition:
the interrupt vector.
definition: ${signal-variant:/name} ${.:name}
description: |
- Interrupts may be also triggered by messages, ${cause:/name} or
- ${cause-on:/name}.
+ Interrupts are normally triggered by signals which indicate an interrupt
+ request from a peripheral. Interrupts may be also triggered by messages,
+ ${cause:/name}, or ${cause-on:/name}.
kind: member
name: trigger_signal
variants: []
diff --git a/spec/rtems/intr/if/signal-no.yml b/spec/rtems/intr/if/signal-no.yml
new file mode 100644
index 00000000..9cc05a41
--- /dev/null
+++ b/spec/rtems/intr/if/signal-no.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This interrupt signal variant indicates that the interrupt cannot be
+ triggered by a signal.
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+definition:
+ default: null
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: enumerator
+links: []
+name: RTEMS_INTERRUPT_NO_SIGNAL
+notes: null
+type: interface
diff --git a/spec/rtems/intr/if/signal-unspecified.yml b/spec/rtems/intr/if/signal-unspecified.yml
index 2850d2e3..e30ce4d3 100644
--- a/spec/rtems/intr/if/signal-unspecified.yml
+++ b/spec/rtems/intr/if/signal-unspecified.yml
@@ -12,6 +12,6 @@ enabled-by: true
index-entries: []
interface-type: enumerator
links: []
-name: RTEMS_INTERRUPT_SIGNAL_UNSPECIFIED
+name: RTEMS_INTERRUPT_UNSPECIFIED_SIGNAL
notes: null
type: interface
diff --git a/spec/rtems/intr/if/signal-variant.yml b/spec/rtems/intr/if/signal-variant.yml
index eb30ea70..2e3ab173 100644
--- a/spec/rtems/intr/if/signal-variant.yml
+++ b/spec/rtems/intr/if/signal-variant.yml
@@ -16,6 +16,8 @@ links:
- role: interface-enumerator
uid: signal-unspecified
- role: interface-enumerator
+ uid: signal-no
+- role: interface-enumerator
uid: signal-level-low
- role: interface-enumerator
uid: signal-level-high