summaryrefslogtreecommitdiffstats
path: root/spec/rtems/intr/if/attributes.yml
blob: f7af1954c2d80e690427bababda4984643088459 (plain) (blame)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
  This structure provides the attributes of an interrupt vector.
copyrights:
- Copyright (C) 2021 embedded brains GmbH & Co. KG
definition:
- default:
    brief: |
      This member is true, if the interrupt vector is maskable by
      ${local-disable:/name}, otherwise it is false.
    definition: bool ${.:name}
    description: |
      Interrupt vectors which are not maskable by ${local-disable:/name} should
      be used with care since they cannot use most operating system services.
    kind: member
    name: is_maskable
  variants: []
- default:
    brief: |
      This member is true, if the interrupt vector can be enabled by
      ${vector-enable:/name}, otherwise it is false.
    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.  For an interrupt
      vector which can be enabled it follows that it may be enabled.
    kind: member
    name: can_enable
  variants: []
- default:
    brief: |
      This member is true, if the interrupt vector may be enabled by
      ${vector-enable:/name}, otherwise it is false.
    definition: bool ${.:name}
    description: |
      When an interrupt vector may be enabled, this means that the enabled
      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 available and cannot be enabled on a
      particular ${/glossary/target:/term}.
    kind: member
    name: maybe_enable
  variants: []
- default:
    brief: |
      This member is true, if the interrupt vector can be disabled by
      ${vector-disable:/name}, otherwise it is false.
    definition: bool ${.:name}
    description: |
      When an interrupt vector can be disabled, this means that the enabled
      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 raised by
      ${raise:/name}, otherwise it is false.
    definition: bool ${.:name}
    description: null
    kind: member
    name: can_raise
  variants: []
- default:
    brief: |
      This member is true, if the interrupt vector can be raised on a processor
      by ${raise-on:/name}, otherwise it is false.
    definition: bool ${.:name}
    description: null
    kind: member
    name: can_raise_on
  variants: []
- default:
    brief: |
      This member is true, if the interrupt vector can be cleared by
      ${clear:/name}, otherwise it is false.
    definition: bool ${.:name}
    description: null
    kind: member
    name: can_clear
  variants: []
- default:
    brief: |
      This member is true, if the pending status of the interrupt associated
      with the interrupt vector is cleared by an interrupt acknowledge from the
      processor, otherwise it is false.
    definition: bool ${.:name}
    description: null
    kind: member
    name: cleared_by_acknowledge
  variants: []
- default:
    brief: |
      This member is true, if the affinity set of the interrupt vector can be
      obtained by ${get-affinity:/name}, otherwise it is false.
    definition: bool ${.:name}
    description: null
    kind: member
    name: can_get_affinity
  variants: []
- default:
    brief: |
      This member is true, if the affinity set of the interrupt vector can be
      set by ${set-affinity:/name}, otherwise it is false.
    definition: bool ${.:name}
    description: null
    kind: member
    name: can_set_affinity
  variants: []
- default:
    brief: |
      This member is true, if the interrupt associated with the interrupt
      vector can be triggered by a message.
    definition: bool ${.:name}
    description: |
      Interrupts may be also triggered by signals, ${raise:/name}, or
      ${raise-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: can_be_triggered_by_message
  variants: []
- default:
    brief: |
      This member describes the trigger signal of the interrupt associated with
      the interrupt vector.
    definition: ${signal-variant:/name} ${.:name}
    description: |
      Interrupts are normally triggered by signals which indicate an interrupt
      request from a peripheral.  Interrupts may be also triggered by messages,
      ${raise:/name}, or ${raise-on:/name}.
    kind: member
    name: trigger_signal
  variants: []
definition-kind: typedef-only
description: |
  The ${get-attributes:/name} directive may be used to obtain the attributes of
  an interrupt vector.
enabled-by: true
index-entries: []
interface-type: struct
links:
- role: interface-placement
  uid: header
- role: interface-ingroup
  uid: group
name: rtems_interrupt_attributes
notes: null
type: interface