[rtems-central commit] spec: Add IRQ(A)MP support function
Sebastian Huber
sebh at rtems.org
Wed Jul 21 17:20:21 UTC 2021
Module: rtems-central
Branch: master
Commit: 938c27998dbf90ca183e817b4e9211712c55948a
Changeset: http://git.rtems.org/rtems-central/commit/?id=938c27998dbf90ca183e817b4e9211712c55948a
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Fri Jul 16 15:34:40 2021 +0200
spec: Add IRQ(A)MP support function
---
spec/dev/grlib/if/io-header.yml | 14 +++++++++
spec/dev/grlib/if/irqamp-get-timestamp.yml | 48 ++++++++++++++++++++++++++++++
spec/dev/grlib/if/irqamp-header-2.yml | 16 ++++++++++
spec/dev/grlib/if/load-32.yml | 12 ++++++++
4 files changed, 90 insertions(+)
diff --git a/spec/dev/grlib/if/io-header.yml b/spec/dev/grlib/if/io-header.yml
new file mode 100644
index 0000000..075f536
--- /dev/null
+++ b/spec/dev/grlib/if/io-header.yml
@@ -0,0 +1,14 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This header file defines the register load/store interface.
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: container
+links:
+- role: interface-placement
+ uid: /if/domain
+path: grlib/io.h
+prefix: bsps/include
+type: interface
diff --git a/spec/dev/grlib/if/irqamp-get-timestamp.yml b/spec/dev/grlib/if/irqamp-get-timestamp.yml
new file mode 100644
index 0000000..c7fbba1
--- /dev/null
+++ b/spec/dev/grlib/if/irqamp-get-timestamp.yml
@@ -0,0 +1,48 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Gets the interrupt timestamping register bock.
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+definition:
+ default:
+ attributes: null
+ body: |
+ ${irqamp-timestamp:/name} *timestamp_regs;
+ uint32_t itstmpc;
+
+ timestamp_regs = &${.:/params[0]/name}->itstmp[ 0 ];
+ itstmpc = ${load-32:/name}( ×tamp_regs->itstmpc );
+
+ if ( IRQAMP_ITSTMPC_TSTAMP_GET( itstmpc ) == 0 ) {
+ return NULL;
+ }
+
+ return timestamp_regs;
+ params:
+ - ${irqamp:/name} *${.:/params[0]/name}
+ return: ${irqamp-timestamp:/name} *
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: irqamp-header-2
+- role: interface-ingroup
+ uid: irqamp
+name: irqamp_get_timestamp_registers
+notes: null
+params:
+- description: |
+ is the IRQ(A)MP register block.
+ dir: null
+ name: irqamp_regs
+return:
+ return: |
+ Returns the interrupt timestamping register block.
+ return-values:
+ - description: |
+ The IRQ(A)MP does not support the interrupt timestamping feature.
+ value: ${/c/if/null:/name}
+type: interface
diff --git a/spec/dev/grlib/if/irqamp-header-2.yml b/spec/dev/grlib/if/irqamp-header-2.yml
new file mode 100644
index 0000000..62f4d3e
--- /dev/null
+++ b/spec/dev/grlib/if/irqamp-header-2.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ This header file defines the IRQ(A)MP interface.
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: /if/domain
+- role: interface-ingroup
+ uid: irqamp
+path: grlib/irqamp.h
+prefix: bsps/include
+type: interface
diff --git a/spec/dev/grlib/if/load-32.yml b/spec/dev/grlib/if/load-32.yml
new file mode 100644
index 0000000..5627eb2
--- /dev/null
+++ b/spec/dev/grlib/if/load-32.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+index-entries: []
+interface-type: unspecified-function
+links:
+- role: interface-placement
+ uid: io-header
+name: grlib_load_32
+references: {}
+type: interface
More information about the vc
mailing list