summaryrefslogtreecommitdiffstats
path: root/spec/rtems/intr/if/set-affinity.yml
blob: 648dcb3db97f282343104479e218cfc912854afa (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 (http://www.embedded-brains.de)
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