AARCHMRS Schema 2.7.4

↚ Home

RegisterArray object

A RegisterArray is an array of registers, all of which have the same structure. The implementer should treat this register array as many registers rolled into one.

For example the register REG0, REG1, REG2, ..., REGN could be formulated as the RegisterArray REG<n> where <n> is the nth value to use when talking about the canonical register, and the rangeset is used to define the index range.

object

Properties Type Description
_meta Meta
See Meta for more information.
_type
Enum
RegisterArray
access_text Register
See properties.access_text in Register for more information.
accessors Register

The accessors work exactly like the accessors in a normal Register except the encoding values include references to the <n> index value. This is because the encoding applies to each of the <n> registers.

When using a MemoryMapped accessor, the n value in its offset property is the index into this register array.

See properties.accessors in Register for more information.
condition Register
See properties.condition in Register for more information.
configuration Register
See properties.configuration in Register for more information.
fieldsets Register
See properties.fieldsets in Register for more information.
groups Register
See properties.groups in Register for more information.
index_variable Traits.HasIndexes
See definitions.index_variable in Traits.HasIndexes for more information.
indexes Traits.HasIndexes
See definitions.indexes in Traits.HasIndexes for more information.
instances Register
See properties.instances in Register for more information.
mapset Register
See properties.mapset in Register for more information.
name Register

The name of a RegisterArray must contain an index variable, e.g. <n>, exactly once.

  • REG<n>
  • REG<n>_EL1
See properties.name in Register for more information.
Pattern
/<([^>]+)>/
purpose Register
See properties.purpose in Register for more information.
reset Register
See properties.reset in Register for more information.
state Register
See properties.state in Register for more information.
title Register
See properties.title in Register for more information.
Additional Properties
Not Allowed
◊ Required
Properties marked with ◊ are required properties.

Schema http://json-schema.org/draft-04/schema#

{
  "info": [
    [
      "A RegisterArray is an array of registers, all of which have the same structure.",
      "The implementer should treat this register array as many registers rolled into one."
    ],
    [
      "For example the register REG0, REG1, REG2, ..., REGN could be formulated as the RegisterArray `REG` ",
      "where `` is the nth value to use when talking about the canonical register, and the rangeset is used to define ",
      "the index range."
    ]
  ],
  "properties": {
    "_meta": {
      "$ref": "Meta.json"
    },
    "_type": {
      "enum": [
        "RegisterArray"
      ]
    },
    "access_text": {
      "$ref": "Register.json#/properties/access_text",
      "see": "Register.json"
    },
    "accessors": {
      "see": "Register.json",
      "info": [
        [
          "The accessors work exactly like the accessors in a normal [Register](Register_schema.html) except",
          "the encoding values include references to the `` index value. This is because the encoding applies to",
          "each of the `` registers."
        ],
        "When using a [MemoryMapped](Accessors/MemoryMapped_schema.html) accessor, the `n` value in its offset property is the index into this register array."
      ],
      "$ref": "Register.json#/properties/accessors"
    },
    "condition": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/condition"
    },
    "configuration": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/configuration"
    },
    "fieldsets": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/fieldsets"
    },
    "groups": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/groups"
    },
    "instances": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/instances"
    },
    "mapset": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/mapset"
    },
    "name": {
      "see": "Register.json",
      "info": [
        "The name of a RegisterArray must contain an index variable, e.g. ``, exactly once.",
        [
          " - `REG`",
          " - `REG_EL1`"
        ]
      ],
      "pattern": "<([^>]+)>",
      "$ref": "Register.json#/properties/name"
    },
    "purpose": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/purpose"
    },
    "reset": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/reset"
    },
    "state": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/state"
    },
    "title": {
      "see": "Register.json",
      "$ref": "Register.json#/properties/title"
    },
    "indexes": {
      "$ref": "Traits/HasIndexes.json#/definitions/indexes"
    },
    "index_variable": {
      "$ref": "Traits/HasIndexes.json#/definitions/index_variable"
    }
  },
  "title": "RegisterArray",
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema#",
  "additionalProperties": false,
  "required": [
    "name",
    "index_variable",
    "indexes"
  ]
}