blob: 61ca05d68d5d4b5901268c7b34dc8de5ae6127ac (
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
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
Sets the processor affinity set of the interrupt vector.
copyrights:
- Copyright (C) 2017, 2022 embedded brains GmbH & Co. KG
definition:
default:
attributes: null
body: null
params:
- ${vector-number:/name} ${.:/params[0]/name}
- ${/c/if/size_t:/name} ${.:/params[1]/name}
- const ${/c/if/cpu_set_t:/name} *${.:/params[2]/name}
return: ${../../status/if/code:/name}
variants: []
description: null
enabled-by: true
index-entries: []
interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
- role: constraint
uid: /constraint/directive-ctx-isr
- role: constraint
uid: /constraint/directive-ctx-devinit
- role: constraint
uid: /constraint/directive-ctx-task
- role: constraint
uid: /constraint/directive-no-preempt
name: rtems_interrupt_set_affinity
notes: |
The ${get-attributes:/name} directive may be used to check if the processor
affinity of an interrupt vector can be set.
Only online processors of the affinity set specified by ${.:/params[1]/name}
and ${.:/params[2]/name} are considered by the directive. Other processors
of the set are ignored. If the set contains no online processor, then the
set is invalid and an error status is returned.
params:
- description: |
is the interrupt vector number.
dir: null
name: vector
- description: |
is the size of the processor set referenced by ${.:/params[2]/name} in
bytes.
dir: null
name: affinity_size
- description: |
is the pointer to a ${/c/if/cpu_set_t:/name} object. The processor set
defines the new processor affinity set of the interrupt vector. A set bit
in the processor set means that the corresponding processor shall be in the
processor affinity set of the interrupt vector, otherwise the bit shall be
cleared.
dir: null
name: affinity
return:
return: null
return-values:
- description: |
The requested operation was successful.
value: ${../../status/if/successful:/name}
- description: |
The ${.:/params[2]/name} parameter was ${/c/if/null:/name}.
value: ${../../status/if/invalid-address:/name}
- description: |
There was no interrupt vector associated with the number specified by
${.:/params[0]/name}.
value: ${../../status/if/invalid-id:/name}
- description: |
The referenced processor set was not a valid new processor affinity set
for the interrupt vector.
value: ${../../status/if/invalid-number:/name}
- description: |
The request to set the processor affinity of the interrupt vector has not
been satisfied.
value: ${../../status/if/unsatisfied:/name}
type: interface
|