summaryrefslogtreecommitdiffstats
path: root/spec/rtems/intr/if
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rtems/intr/if')
-rw-r--r--spec/rtems/intr/if/catch.yml38
-rw-r--r--spec/rtems/intr/if/cause.yml26
-rw-r--r--spec/rtems/intr/if/clear.yml26
-rw-r--r--spec/rtems/intr/if/disable.yml27
-rw-r--r--spec/rtems/intr/if/enable.yml27
-rw-r--r--spec/rtems/intr/if/flash.yml27
-rw-r--r--spec/rtems/intr/if/group.yml24
-rw-r--r--spec/rtems/intr/if/header.yml12
-rw-r--r--spec/rtems/intr/if/is-in-progress.yml23
-rw-r--r--spec/rtems/intr/if/isr-entry.yml23
-rw-r--r--spec/rtems/intr/if/isr.yml19
-rw-r--r--spec/rtems/intr/if/level.yml19
-rw-r--r--spec/rtems/intr/if/local-disable.yml26
-rw-r--r--spec/rtems/intr/if/local-enable.yml26
-rw-r--r--spec/rtems/intr/if/lock-acquire-isr.yml35
-rw-r--r--spec/rtems/intr/if/lock-acquire.yml30
-rw-r--r--spec/rtems/intr/if/lock-context.yml19
-rw-r--r--spec/rtems/intr/if/lock-declare.yml30
-rw-r--r--spec/rtems/intr/if/lock-define.yml33
-rw-r--r--spec/rtems/intr/if/lock-destroy.yml26
-rw-r--r--spec/rtems/intr/if/lock-initialize.yml30
-rw-r--r--spec/rtems/intr/if/lock-initializer.yml26
-rw-r--r--spec/rtems/intr/if/lock-isr-disable.yml26
-rw-r--r--spec/rtems/intr/if/lock-member.yml26
-rw-r--r--spec/rtems/intr/if/lock-reference.yml30
-rw-r--r--spec/rtems/intr/if/lock-release-isr.yml35
-rw-r--r--spec/rtems/intr/if/lock-release.yml30
-rw-r--r--spec/rtems/intr/if/lock.yml19
-rw-r--r--spec/rtems/intr/if/vector-number.yml19
29 files changed, 757 insertions, 0 deletions
diff --git a/spec/rtems/intr/if/catch.yml b/spec/rtems/intr/if/catch.yml
new file mode 100644
index 00000000..40246fcb
--- /dev/null
+++ b/spec/rtems/intr/if/catch.yml
@@ -0,0 +1,38 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${isr-entry:/name} ${.:/params[0]/name}
+ - ${vector-number:/name} ${.:/params[1]/name}
+ - ${isr-entry:/name} *${.:/params[2]/name}
+ return: ${../../status/if/code:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_catch
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: new_isr_handler
+- description: '%'
+ dir: null
+ name: vector
+- description: '%'
+ dir: null
+ name: old_isr_handler
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/cause.yml b/spec/rtems/intr/if/cause.yml
new file mode 100644
index 00000000..6d562a61
--- /dev/null
+++ b/spec/rtems/intr/if/cause.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '%'
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_cause
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _interrupt_to_cause
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/clear.yml b/spec/rtems/intr/if/clear.yml
new file mode 100644
index 00000000..f77071c1
--- /dev/null
+++ b/spec/rtems/intr/if/clear.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: '%'
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_clear
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _interrupt_to_clear
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/disable.yml b/spec/rtems/intr/if/disable.yml
new file mode 100644
index 00000000..c87c3d56
--- /dev/null
+++ b/spec/rtems/intr/if/disable.yml
@@ -0,0 +1,27 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/local-disable:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by:
+ not: RTEMS_SMP
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_disable
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _isr_cookie
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/enable.yml b/spec/rtems/intr/if/enable.yml
new file mode 100644
index 00000000..e2353ccd
--- /dev/null
+++ b/spec/rtems/intr/if/enable.yml
@@ -0,0 +1,27 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/local-enable:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by:
+ not: RTEMS_SMP
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_enable
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _isr_cookie
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/flash.yml b/spec/rtems/intr/if/flash.yml
new file mode 100644
index 00000000..140ba90e
--- /dev/null
+++ b/spec/rtems/intr/if/flash.yml
@@ -0,0 +1,27 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/local-flash:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by:
+ not: RTEMS_SMP
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_flash
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _isr_cookie
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/group.yml b/spec/rtems/intr/if/group.yml
new file mode 100644
index 00000000..e1c4c8af
--- /dev/null
+++ b/spec/rtems/intr/if/group.yml
@@ -0,0 +1,24 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Any real-time executive must provide a mechanism for quick response to
+ externally generated interrupts to satisfy the critical time constraints of
+ the application. The Interrupt Manager provides this mechanism for RTEMS.
+ This manager permits quick interrupt response times by providing the critical
+ ability to alter task execution which allows a task to be preempted upon exit
+ from an ISR.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+description: null
+enabled-by: true
+identifier: RTEMSAPIClassicIntr
+interface-type: group
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: ../../if/group
+name: Interrupt Manager
+text: |
+ The Classic API shall provide an interface to the Interrupt Manager.
+type: interface
diff --git a/spec/rtems/intr/if/header.yml b/spec/rtems/intr/if/header.yml
new file mode 100644
index 00000000..b1c63786
--- /dev/null
+++ b/spec/rtems/intr/if/header.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: This header file defines the Interrupt Manager API.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: /if/domain
+path: rtems/rtems/intr.h
+prefix: cpukit/include
+type: interface
diff --git a/spec/rtems/intr/if/is-in-progress.yml b/spec/rtems/intr/if/is-in-progress.yml
new file mode 100644
index 00000000..115adee1
--- /dev/null
+++ b/spec/rtems/intr/if/is-in-progress.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/is-in-progress:/name}()
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_is_in_progress
+notes: null
+params: []
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/isr-entry.yml b/spec/rtems/intr/if/isr-entry.yml
new file mode 100644
index 00000000..eedfcca0
--- /dev/null
+++ b/spec/rtems/intr/if/isr-entry.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Interrupt service routines installed by ${catch:/name} shall have this
+ function pointer type.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: void ( *${.:/name} )( void * )
+ variants:
+ - definition: ${/score/isr/if/handler-entry:/name} ${.:/name}
+ enabled-by: ${/score/cpu/if/simple-vectored-interrupts:/name} == ${../../basedefs/if/true:/name}
+description: null
+enabled-by: true
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_isr_entry
+notes: null
+type: interface
diff --git a/spec/rtems/intr/if/isr.yml b/spec/rtems/intr/if/isr.yml
new file mode 100644
index 00000000..9ef98ecd
--- /dev/null
+++ b/spec/rtems/intr/if/isr.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/handler:/name} ${.:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_isr
+notes: null
+type: interface
diff --git a/spec/rtems/intr/if/level.yml b/spec/rtems/intr/if/level.yml
new file mode 100644
index 00000000..ab9d08d0
--- /dev/null
+++ b/spec/rtems/intr/if/level.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/level:/name} ${.:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_level
+notes: null
+type: interface
diff --git a/spec/rtems/intr/if/local-disable.yml b/spec/rtems/intr/if/local-disable.yml
new file mode 100644
index 00000000..2a4918c8
--- /dev/null
+++ b/spec/rtems/intr/if/local-disable.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/local-disable:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_local_disable
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _isr_cookie
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/local-enable.yml b/spec/rtems/intr/if/local-enable.yml
new file mode 100644
index 00000000..5bfa440e
--- /dev/null
+++ b/spec/rtems/intr/if/local-enable.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/local-enable:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_local_enable
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _isr_cookie
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-acquire-isr.yml b/spec/rtems/intr/if/lock-acquire-isr.yml
new file mode 100644
index 00000000..e7bca712
--- /dev/null
+++ b/spec/rtems/intr/if/lock-acquire-isr.yml
@@ -0,0 +1,35 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: do { (void) ${.:/params[1]/name}; } while ( 0 )
+ variants:
+ - definition: |
+ ${/score/smp/if/lock-acquire:/name}(
+ &( ${.:/params[0]/name} )->Lock,
+ &( ${.:/params[1]/name} )->Lock_context
+ )
+ enabled-by: defined(${/build-options/if/smp:/name})
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_lock_acquire_isr
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _lock
+- description: '%'
+ dir: null
+ name: _lock_context
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-acquire.yml b/spec/rtems/intr/if/lock-acquire.yml
new file mode 100644
index 00000000..4ca3dbde
--- /dev/null
+++ b/spec/rtems/intr/if/lock-acquire.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ${/score/isr/if/lock-isr-disable-acquire:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_lock_acquire
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _lock
+- description: '%'
+ dir: null
+ name: _lock_context
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-context.yml b/spec/rtems/intr/if/lock-context.yml
new file mode 100644
index 00000000..c1c53d91
--- /dev/null
+++ b/spec/rtems/intr/if/lock-context.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/lock-context:/name} ${.:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_lock_context
+notes: null
+type: interface
diff --git a/spec/rtems/intr/if/lock-declare.yml b/spec/rtems/intr/if/lock-declare.yml
new file mode 100644
index 00000000..fa1c1147
--- /dev/null
+++ b/spec/rtems/intr/if/lock-declare.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ${/score/isr/if/lock-declare:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_INTERRUPT_LOCK_DECLARE
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _qualifier
+- description: '%'
+ dir: null
+ name: _designator
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-define.yml b/spec/rtems/intr/if/lock-define.yml
new file mode 100644
index 00000000..762201a5
--- /dev/null
+++ b/spec/rtems/intr/if/lock-define.yml
@@ -0,0 +1,33 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ${/score/isr/if/lock-define:/name}( ${.:/params[0]/name}, ${.:/params[1]/name}, ${.:/params[2]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_INTERRUPT_LOCK_DEFINE
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _qualifier
+- description: '%'
+ dir: null
+ name: _designator
+- description: '%'
+ dir: null
+ name: _name
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-destroy.yml b/spec/rtems/intr/if/lock-destroy.yml
new file mode 100644
index 00000000..5c6e553e
--- /dev/null
+++ b/spec/rtems/intr/if/lock-destroy.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/lock-destroy:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_lock_destroy
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _lock
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-initialize.yml b/spec/rtems/intr/if/lock-initialize.yml
new file mode 100644
index 00000000..0c82aa65
--- /dev/null
+++ b/spec/rtems/intr/if/lock-initialize.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ${/score/isr/if/lock-initialize:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_lock_initialize
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _lock
+- description: '%'
+ dir: null
+ name: _name
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-initializer.yml b/spec/rtems/intr/if/lock-initializer.yml
new file mode 100644
index 00000000..b2ee84a4
--- /dev/null
+++ b/spec/rtems/intr/if/lock-initializer.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/lock-initializer:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_INTERRUPT_LOCK_INITIALIZER
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _name
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-isr-disable.yml b/spec/rtems/intr/if/lock-isr-disable.yml
new file mode 100644
index 00000000..43660b93
--- /dev/null
+++ b/spec/rtems/intr/if/lock-isr-disable.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/lock-isr-disable:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_lock_interrupt_disable
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _lock_context
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-member.yml b/spec/rtems/intr/if/lock-member.yml
new file mode 100644
index 00000000..19f9509e
--- /dev/null
+++ b/spec/rtems/intr/if/lock-member.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/lock-member:/name}( ${.:/params[0]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_INTERRUPT_LOCK_MEMBER
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _designator
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-reference.yml b/spec/rtems/intr/if/lock-reference.yml
new file mode 100644
index 00000000..e187c4b9
--- /dev/null
+++ b/spec/rtems/intr/if/lock-reference.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ${/score/isr/if/lock-reference:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_INTERRUPT_LOCK_REFERENCE
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _designator
+- description: '%'
+ dir: null
+ name: _target
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-release-isr.yml b/spec/rtems/intr/if/lock-release-isr.yml
new file mode 100644
index 00000000..e12e641a
--- /dev/null
+++ b/spec/rtems/intr/if/lock-release-isr.yml
@@ -0,0 +1,35 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: do { (void) ${.:/params[1]/name}; } while ( 0 )
+ variants:
+ - definition: |
+ ${/score/smp/if/lock-release:/name}(
+ &( ${.:/params[0]/name} )->Lock,
+ &( ${.:/params[1]/name} )->Lock_context
+ )
+ enabled-by: defined(${/build-options/if/smp:/name})
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_lock_release_isr
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _lock
+- description: '%'
+ dir: null
+ name: _lock_context
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock-release.yml b/spec/rtems/intr/if/lock-release.yml
new file mode 100644
index 00000000..97bbb81b
--- /dev/null
+++ b/spec/rtems/intr/if/lock-release.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ${/score/isr/if/lock-release-isr-enable:/name}( ${.:/params[0]/name}, ${.:/params[1]/name} )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_lock_release
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: _lock
+- description: '%'
+ dir: null
+ name: _lock_context
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/intr/if/lock.yml b/spec/rtems/intr/if/lock.yml
new file mode 100644
index 00000000..1b2615be
--- /dev/null
+++ b/spec/rtems/intr/if/lock.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/lock-control:/name} ${.:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_interrupt_lock
+notes: null
+type: interface
diff --git a/spec/rtems/intr/if/vector-number.yml b/spec/rtems/intr/if/vector-number.yml
new file mode 100644
index 00000000..74e96aa1
--- /dev/null
+++ b/spec/rtems/intr/if/vector-number.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: ${/score/isr/if/vector-number:/name} ${.:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_vector_number
+notes: null
+type: interface