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
|