blob: 7334f16999f620e65745d4371a3b6d8515ec4773 (
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
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
Releases the ISR lock.
copyrights:
- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
default:
attributes: null
body: |
${/score/isr/if/lock-release-isr-enable:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} )
params:
- ${lock-context:/name} *${.:/params[0]/name}
return: void
variants: []
description: |
This directive releases the ISR lock specified by ${.:/params[0]/name} using
the lock context provided by ${.:/params[1]/name}. The previous interrupt
level will be restored on the current processor.
enabled-by: true
index-entries: []
interface-type: macro
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
- role: constraint
uid: /constraint/directive-ctx-any
- role: constraint
uid: /constraint/directive-no-preempt
- role: constraint
uid: /constraint/interrupt-enable
name: rtems_interrupt_lock_release
notes: |
The lock context shall be the one used to acquire the lock, otherwise the
result is unpredictable.
Where the system was built with SMP support enabled, this directive releases
an SMP lock.
params:
- description: |
is the ISR lock to release.
dir: inout
name: _lock
- description: |
is the ISR lock context. This lock context shall have been used to acquire
the lock by calling ${lock-acquire:/name}.
dir: inout
name: _lock_context
return: null
type: interface
|