diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-15 14:11:03 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-21 16:27:58 +0200 |
commit | e54b1d7765ef4ff522e6db6f266cf7a2cb50c792 (patch) | |
tree | 9033a4eb01d318ce52b6f84b1fe69271641efa95 | |
parent | spec: Add grlib register blocks (diff) | |
download | rtems-central-e54b1d7765ef4ff522e6db6f266cf7a2cb50c792.tar.bz2 |
spec: Add grlib register load/store
-rw-r--r-- | spec/bsp/sparc/if/grlib-io-group.yml | 19 | ||||
-rw-r--r-- | spec/bsp/sparc/if/grlib-io-header.yml | 16 | ||||
-rw-r--r-- | spec/bsp/sparc/if/grlib-load-08.yml | 39 | ||||
-rw-r--r-- | spec/bsp/sparc/if/grlib-load-16.yml | 39 | ||||
-rw-r--r-- | spec/bsp/sparc/if/grlib-load-32.yml | 39 | ||||
-rw-r--r-- | spec/bsp/sparc/if/grlib-load-64.yml | 39 | ||||
-rw-r--r-- | spec/bsp/sparc/if/grlib-store-08.yml | 39 | ||||
-rw-r--r-- | spec/bsp/sparc/if/grlib-store-16.yml | 39 | ||||
-rw-r--r-- | spec/bsp/sparc/if/grlib-store-32.yml | 39 | ||||
-rw-r--r-- | spec/bsp/sparc/if/grlib-store-64.yml | 39 | ||||
-rw-r--r-- | spec/bsp/sparc/req/grlib-load-08.yml | 16 | ||||
-rw-r--r-- | spec/bsp/sparc/req/grlib-load-16.yml | 16 | ||||
-rw-r--r-- | spec/bsp/sparc/req/grlib-load-32.yml | 16 | ||||
-rw-r--r-- | spec/bsp/sparc/req/grlib-load-64.yml | 16 | ||||
-rw-r--r-- | spec/bsp/sparc/req/grlib-store-08.yml | 16 | ||||
-rw-r--r-- | spec/bsp/sparc/req/grlib-store-16.yml | 16 | ||||
-rw-r--r-- | spec/bsp/sparc/req/grlib-store-32.yml | 16 | ||||
-rw-r--r-- | spec/bsp/sparc/req/grlib-store-64.yml | 16 | ||||
-rw-r--r-- | spec/bsp/sparc/val/grlib-io.yml | 149 | ||||
-rw-r--r-- | spec/testsuites/validation-dev-0.yml | 20 |
20 files changed, 644 insertions, 0 deletions
diff --git a/spec/bsp/sparc/if/grlib-io-group.yml b/spec/bsp/sparc/if/grlib-io-group.yml new file mode 100644 index 00000000..8056a2bd --- /dev/null +++ b/spec/bsp/sparc/if/grlib-io-group.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This group contains the GRLIB register load/store API. +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +description: null +enabled-by: true +identifier: RTEMSDeviceGRLIBIO +index-entries: [] +interface-type: group +links: +- role: interface-placement + uid: grlib-io-header +- role: interface-ingroup + uid: /dev/grlib/if/group +name: Register Load/Store +text: | + The GRLIB API shall contain the GRLIB Register Load/Store API. +type: interface diff --git a/spec/bsp/sparc/if/grlib-io-header.yml b/spec/bsp/sparc/if/grlib-io-header.yml new file mode 100644 index 00000000..c0d9fe64 --- /dev/null +++ b/spec/bsp/sparc/if/grlib-io-header.yml @@ -0,0 +1,16 @@ +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: header-file +links: +- role: interface-placement + uid: /if/domain +- role: interface-ingroup + uid: grlib-io-group +path: grlib/io.h +prefix: bsps/sparc/include +type: interface diff --git a/spec/bsp/sparc/if/grlib-load-08.yml b/spec/bsp/sparc/if/grlib-load-08.yml new file mode 100644 index 00000000..52b23493 --- /dev/null +++ b/spec/bsp/sparc/if/grlib-load-08.yml @@ -0,0 +1,39 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Loads the memory-mapped unsigned 8-bit register. +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + attributes: null + body: | + ${/c/if/uint8_t:/name} value; + + __asm__ volatile ( "ldub [%1], %0" : "=&r" ( value ) : "r" ( ${.:/params[0]/name} ) ); + + return value; + params: + - const volatile ${/c/if/uint8_t:/name} *${.:/params[0]/name} + return: ${/c/if/uint8_t:/name} + variants: [] +description: null +enabled-by: true +index-entries: [] +interface-type: function +links: +- role: interface-placement + uid: grlib-io-header +- role: interface-ingroup + uid: grlib-io-group +name: grlib_load_8 +notes: null +params: +- description: | + is the address of the memory-mapped unsigned 8-bit register to load. + dir: null + name: address +return: + return: | + Returns the loaded register value. + return-values: [] +type: interface diff --git a/spec/bsp/sparc/if/grlib-load-16.yml b/spec/bsp/sparc/if/grlib-load-16.yml new file mode 100644 index 00000000..a15d0317 --- /dev/null +++ b/spec/bsp/sparc/if/grlib-load-16.yml @@ -0,0 +1,39 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Loads the memory-mapped unsigned 16-bit register. +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + attributes: null + body: | + ${/c/if/uint16_t:/name} value; + + __asm__ volatile ( "lduh [%1], %0" : "=&r" ( value ) : "r" ( ${.:/params[0]/name} ) ); + + return value; + params: + - const volatile ${/c/if/uint16_t:/name} *${.:/params[0]/name} + return: ${/c/if/uint16_t:/name} + variants: [] +description: null +enabled-by: true +index-entries: [] +interface-type: function +links: +- role: interface-placement + uid: grlib-io-header +- role: interface-ingroup + uid: grlib-io-group +name: grlib_load_16 +notes: null +params: +- description: | + is the address of the memory-mapped unsigned 16-bit register to load. + dir: null + name: address +return: + return: | + Returns the loaded register value. + return-values: [] +type: interface diff --git a/spec/bsp/sparc/if/grlib-load-32.yml b/spec/bsp/sparc/if/grlib-load-32.yml new file mode 100644 index 00000000..776a5910 --- /dev/null +++ b/spec/bsp/sparc/if/grlib-load-32.yml @@ -0,0 +1,39 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Loads the memory-mapped unsigned 32-bit register. +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + attributes: null + body: | + ${/c/if/uint32_t:/name} value; + + __asm__ volatile ( "ld [%1], %0" : "=&r" ( value ) : "r" ( ${.:/params[0]/name} ) ); + + return value; + params: + - const volatile ${/c/if/uint32_t:/name} *${.:/params[0]/name} + return: ${/c/if/uint32_t:/name} + variants: [] +description: null +enabled-by: true +index-entries: [] +interface-type: function +links: +- role: interface-placement + uid: grlib-io-header +- role: interface-ingroup + uid: grlib-io-group +name: grlib_load_32 +notes: null +params: +- description: | + is the address of the memory-mapped unsigned 32-bit register to load. + dir: null + name: address +return: + return: | + Returns the loaded register value. + return-values: [] +type: interface diff --git a/spec/bsp/sparc/if/grlib-load-64.yml b/spec/bsp/sparc/if/grlib-load-64.yml new file mode 100644 index 00000000..010da080 --- /dev/null +++ b/spec/bsp/sparc/if/grlib-load-64.yml @@ -0,0 +1,39 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Loads the memory-mapped unsigned 64-bit register. +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + attributes: null + body: | + ${/c/if/uint64_t:/name} value; + + __asm__ volatile ( "ldd [%1], %0" : "=&U" ( value ) : "r" ( ${.:/params[0]/name} ) ); + + return value; + params: + - const volatile ${/c/if/uint64_t:/name} *${.:/params[0]/name} + return: ${/c/if/uint64_t:/name} + variants: [] +description: null +enabled-by: true +index-entries: [] +interface-type: function +links: +- role: interface-placement + uid: grlib-io-header +- role: interface-ingroup + uid: grlib-io-group +name: grlib_load_64 +notes: null +params: +- description: | + is the address of the memory-mapped unsigned 64-bit register to load. + dir: null + name: address +return: + return: | + Returns the loaded register value. + return-values: [] +type: interface diff --git a/spec/bsp/sparc/if/grlib-store-08.yml b/spec/bsp/sparc/if/grlib-store-08.yml new file mode 100644 index 00000000..b4015ea9 --- /dev/null +++ b/spec/bsp/sparc/if/grlib-store-08.yml @@ -0,0 +1,39 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Stores the value to the memory-mapped unsigned 8-bit register. +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + attributes: null + body: | + __asm__ volatile ( "stb %0, [%1]" : : "r" ( ${.:/params[1]/name} ), "r" ( ${.:/params[0]/name} ) ); + params: + - volatile ${/c/if/uint8_t:/name} *${.:/params[0]/name} + - ${/c/if/uint8_t:/name} ${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +index-entries: [] +interface-type: function +links: +- role: interface-placement + uid: grlib-io-header +- role: interface-ingroup + uid: grlib-io-group +name: grlib_store_8 +notes: null +params: +- description: | + is the address of the memory-mapped unsigned 8-bit register. + dir: null + name: address +- description: | + is the value to store. + dir: null + name: value +return: + return: null + return-values: [] +type: interface diff --git a/spec/bsp/sparc/if/grlib-store-16.yml b/spec/bsp/sparc/if/grlib-store-16.yml new file mode 100644 index 00000000..f06cb5e8 --- /dev/null +++ b/spec/bsp/sparc/if/grlib-store-16.yml @@ -0,0 +1,39 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Stores the value to the memory-mapped unsigned 16-bit register. +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + attributes: null + body: | + __asm__ volatile ( "sth %0, [%1]" : : "r" ( ${.:/params[1]/name} ), "r" ( ${.:/params[0]/name} ) ); + params: + - volatile ${/c/if/uint16_t:/name} *${.:/params[0]/name} + - ${/c/if/uint16_t:/name} ${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +index-entries: [] +interface-type: function +links: +- role: interface-placement + uid: grlib-io-header +- role: interface-ingroup + uid: grlib-io-group +name: grlib_store_16 +notes: null +params: +- description: | + is the address of the memory-mapped unsigned 16-bit register. + dir: null + name: address +- description: | + is the value to store. + dir: null + name: value +return: + return: null + return-values: [] +type: interface diff --git a/spec/bsp/sparc/if/grlib-store-32.yml b/spec/bsp/sparc/if/grlib-store-32.yml new file mode 100644 index 00000000..c3cc9e6a --- /dev/null +++ b/spec/bsp/sparc/if/grlib-store-32.yml @@ -0,0 +1,39 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Stores the value to the memory-mapped unsigned 32-bit register. +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + attributes: null + body: | + __asm__ volatile ( "st %0, [%1]" : : "r" ( ${.:/params[1]/name} ), "r" ( ${.:/params[0]/name} ) ); + params: + - volatile ${/c/if/uint32_t:/name} *${.:/params[0]/name} + - ${/c/if/uint32_t:/name} ${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +index-entries: [] +interface-type: function +links: +- role: interface-placement + uid: grlib-io-header +- role: interface-ingroup + uid: grlib-io-group +name: grlib_store_32 +notes: null +params: +- description: | + is the address of the memory-mapped unsigned 32-bit register. + dir: null + name: address +- description: | + is the value to store. + dir: null + name: value +return: + return: null + return-values: [] +type: interface diff --git a/spec/bsp/sparc/if/grlib-store-64.yml b/spec/bsp/sparc/if/grlib-store-64.yml new file mode 100644 index 00000000..8e5c31a8 --- /dev/null +++ b/spec/bsp/sparc/if/grlib-store-64.yml @@ -0,0 +1,39 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Stores the value to the memory-mapped unsigned 64-bit register. +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + attributes: null + body: | + __asm__ volatile ( "std %0, [%1]" : : "U" ( ${.:/params[1]/name} ), "r" ( ${.:/params[0]/name} ) ); + params: + - volatile ${/c/if/uint64_t:/name} *${.:/params[0]/name} + - ${/c/if/uint64_t:/name} ${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +index-entries: [] +interface-type: function +links: +- role: interface-placement + uid: grlib-io-header +- role: interface-ingroup + uid: grlib-io-group +name: grlib_store_64 +notes: null +params: +- description: | + is the address of the memory-mapped unsigned 64-bit register. + dir: null + name: address +- description: | + is the value to store. + dir: null + name: value +return: + return: null + return-values: [] +type: interface diff --git a/spec/bsp/sparc/req/grlib-load-08.yml b/spec/bsp/sparc/req/grlib-load-08.yml new file mode 100644 index 00000000..b4eaf93e --- /dev/null +++ b/spec/bsp/sparc/req/grlib-load-08.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: interface-function + uid: ../if/grlib-load-08 +functional-type: function +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/grlib-load-08:/name} directive shall load an unsigned 8-bit + value from the address specified by ${../if/grlib-load-08:/params[0]/name} + and return it. +type: requirement diff --git a/spec/bsp/sparc/req/grlib-load-16.yml b/spec/bsp/sparc/req/grlib-load-16.yml new file mode 100644 index 00000000..e0f0e7c8 --- /dev/null +++ b/spec/bsp/sparc/req/grlib-load-16.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: interface-function + uid: ../if/grlib-load-16 +functional-type: function +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/grlib-load-16:/name} directive shall load an unsigned 16-bit value + from the address specified by ${../if/grlib-load-16:/params[0]/name} and + return it. +type: requirement diff --git a/spec/bsp/sparc/req/grlib-load-32.yml b/spec/bsp/sparc/req/grlib-load-32.yml new file mode 100644 index 00000000..ea8b69ae --- /dev/null +++ b/spec/bsp/sparc/req/grlib-load-32.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: interface-function + uid: ../if/grlib-load-32 +functional-type: function +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/grlib-load-32:/name} directive shall load an unsigned 32-bit value + from the address specified by ${../if/grlib-load-32:/params[0]/name} and + return it. +type: requirement diff --git a/spec/bsp/sparc/req/grlib-load-64.yml b/spec/bsp/sparc/req/grlib-load-64.yml new file mode 100644 index 00000000..c3e08f89 --- /dev/null +++ b/spec/bsp/sparc/req/grlib-load-64.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: interface-function + uid: ../if/grlib-load-64 +functional-type: function +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/grlib-load-64:/name} directive shall load an unsigned 64-bit value + from the address specified by ${../if/grlib-load-64:/params[0]/name} and + return it. +type: requirement diff --git a/spec/bsp/sparc/req/grlib-store-08.yml b/spec/bsp/sparc/req/grlib-store-08.yml new file mode 100644 index 00000000..28ec713b --- /dev/null +++ b/spec/bsp/sparc/req/grlib-store-08.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: interface-function + uid: ../if/grlib-store-08 +functional-type: function +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/grlib-store-08:/name} directive shall store the unsigned 8-bit + value specified by ${../if/grlib-store-08:/params[1]/name} to the address + specified by ${../if/grlib-store-08:/params[0]/name}. +type: requirement diff --git a/spec/bsp/sparc/req/grlib-store-16.yml b/spec/bsp/sparc/req/grlib-store-16.yml new file mode 100644 index 00000000..b27549e4 --- /dev/null +++ b/spec/bsp/sparc/req/grlib-store-16.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: interface-function + uid: ../if/grlib-store-16 +functional-type: function +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/grlib-store-16:/name} directive shall store the unsigned 16-bit + value specified by ${../if/grlib-store-16:/params[1]/name} to the address + specified by ${../if/grlib-store-16:/params[0]/name}. +type: requirement diff --git a/spec/bsp/sparc/req/grlib-store-32.yml b/spec/bsp/sparc/req/grlib-store-32.yml new file mode 100644 index 00000000..4c8d54a8 --- /dev/null +++ b/spec/bsp/sparc/req/grlib-store-32.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: interface-function + uid: ../if/grlib-store-32 +functional-type: function +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/grlib-store-32:/name} directive shall store the unsigned 32-bit + value specified by ${../if/grlib-store-32:/params[1]/name} to the address + specified by ${../if/grlib-store-32:/params[0]/name}. +type: requirement diff --git a/spec/bsp/sparc/req/grlib-store-64.yml b/spec/bsp/sparc/req/grlib-store-64.yml new file mode 100644 index 00000000..f28ff374 --- /dev/null +++ b/spec/bsp/sparc/req/grlib-store-64.yml @@ -0,0 +1,16 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: interface-function + uid: ../if/grlib-store-64 +functional-type: function +rationale: null +references: [] +requirement-type: functional +text: | + The ${../if/grlib-store-64:/name} directive shall store the unsigned 64-bit + value specified by ${../if/grlib-store-64:/params[1]/name} to the address + specified by ${../if/grlib-store-64:/params[0]/name}. +type: requirement diff --git a/spec/bsp/sparc/val/grlib-io.yml b/spec/bsp/sparc/val/grlib-io.yml new file mode 100644 index 00000000..411c2524 --- /dev/null +++ b/spec/bsp/sparc/val/grlib-io.yml @@ -0,0 +1,149 @@ +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 +links: [] +test-actions: +- action-brief: | + Call ${../if/grlib-load-08:/name} to load a prepared value. + action-code: | + uint8_t reg_8; + uint8_t val_8; + + reg_8 = 0x81; + val_8 = grlib_load_8( ®_8 ); + checks: + - brief: | + Check that the returned value is equal to the prepared value. + code: | + T_step_eq_u8( ${step}, val_8, 0x81 ); + links: + - role: validation + uid: ../req/grlib-load-08 + links: [] +- action-brief: | + Call ${../if/grlib-load-16:/name} to load a prepared value. + action-code: | + uint16_t reg_16; + uint16_t val_16; + + reg_16 = 0x8001; + val_16 = grlib_load_16( ®_16 ); + checks: + - brief: | + Check that the returned value is equal to the prepared value. + code: | + T_step_eq_u16( ${step}, val_16, 0x8001 ); + links: + - role: validation + uid: ../req/grlib-load-16 + links: [] +- action-brief: | + Call ${../if/grlib-load-32:/name} to load a prepared value. + action-code: | + uint32_t reg_32; + uint32_t val_32; + + reg_32 = 0x80000001; + val_32 = grlib_load_32( ®_32 ); + checks: + - brief: | + Check that the returned value is equal to the prepared value. + code: | + T_step_eq_u32( ${step}, val_32, 0x80000001 ); + links: + - role: validation + uid: ../req/grlib-load-32 + links: [] +- action-brief: | + Call ${../if/grlib-load-64:/name} to load a prepared value. + action-code: | + uint64_t reg_64; + uint64_t val_64; + + reg_64 = 0x8000000000000001; + val_64 = grlib_load_64( ®_64 ); + checks: + - brief: | + Check that the returned value is equal to the prepared value. + code: | + T_step_eq_u64( ${step}, val_64, 0x8000000000000001 ); + links: + - role: validation + uid: ../req/grlib-load-64 + links: [] +- action-brief: | + Call ${../if/grlib-store-08:/name} to store a value to an object. + action-code: | + uint8_t reg_8; + + grlib_store_8( ®_8, 0x81 ); + checks: + - brief: | + Check that the value of the object is equal to the stored value. + code: | + T_step_eq_u8( ${step}, reg_8, 0x81 ); + links: + - role: validation + uid: ../req/grlib-store-08 + links: [] +- action-brief: | + Call ${../if/grlib-store-16:/name} to store a value to an object. + action-code: | + uint16_t reg_16; + + grlib_store_16( ®_16, 0x8001 ); + checks: + - brief: | + Check that the value of the object is equal to the stored value. + code: | + T_step_eq_u16( ${step}, reg_16, 0x8001 ); + links: + - role: validation + uid: ../req/grlib-store-16 + links: [] +- action-brief: | + Call ${../if/grlib-store-32:/name} to store a value to an object. + action-code: | + uint32_t reg_32; + + grlib_store_32( ®_32, 0x80000001 ); + checks: + - brief: | + Check that the value of the object is equal to the stored value. + code: | + T_step_eq_u32( ${step}, reg_32, 0x80000001 ); + links: + - role: validation + uid: ../req/grlib-store-32 + links: [] +- action-brief: | + Call ${../if/grlib-store-64:/name} to store a value to an object. + action-code: | + uint64_t reg_64; + + grlib_store_64( ®_64, 0x8000000000000001 ); + checks: + - brief: | + Check that the value of the object is equal to the stored value. + code: | + T_step_eq_u64( ${step}, reg_64, 0x8000000000000001 ); + links: + - role: validation + uid: ../req/grlib-store-64 + links: [] +test-brief: | + Tests the SPARC-specific GRLIB API. +test-context: [] +test-context-support: null +test-description: null +test-header: null +test-includes: +- dev/grlib/io.h +test-local-includes: [] +test-setup: null +test-stop: null +test-support: null +test-target: testsuites/validation/tc-bsp-sparc-leon3.c +test-teardown: null +type: test-case diff --git a/spec/testsuites/validation-dev-0.yml b/spec/testsuites/validation-dev-0.yml new file mode 100644 index 00000000..56ad0542 --- /dev/null +++ b/spec/testsuites/validation-dev-0.yml @@ -0,0 +1,20 @@ +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 +links: +- role: requirement-refinement + uid: /req/test-suites +test-brief: | + This general purpose validation test suite provides enough resources to run + ${/glossary/target:/term}-specific tests. +test-code: | + const char rtems_test_name[] = "${.:/test-suite-name}"; + + #include "ts-default.h" +test-description: null +test-includes: [] +test-local-includes: [] +test-suite-name: ValidationDev0 +test-target: testsuites/validation/ts-validation-dev-0.c +type: test-suite |