AARCHMRS Schema 2.7.4

↚ Home

Accessors.Permission.MemoryAccess object

The access property defines the logic behind memory mapped register access.

Example

if boolean IMPLEMENTATION_DEFINED "Allow Register Writes" then
   RW
else
   RO

The MemoryAccess can be written as:

{
   "_type": "Accessors.Permission.MemoryAccess",
   "access": [
       {
           "_type": "Accessors.Permission.MemoryAccess",
           "condition": "boolean IMPLEMENTATION_DEFINED \"Allow Register Writes\""
           "access": "RW"
       },
       {
           "_type": "Accessors.Permission.MemoryAccess",
           "condition": null,
           "access": "RO"
       },
   ]
}

Note, a null condition defines the otherwise clause. When omitted the parent's permission applies.

Nesting

Memory Accesses can be nested inside other Memory Accesses to represent complex nested conditions.

object

Properties Type Description
_meta Meta

Metadata

See Meta for more information.
_type
Enum
Accessors.Permission.MemoryAccess
access
oneOf [
array
]

The access which occurs when the condition is satisfied. This is effectively the contents of the if branch.

condition Traits.HasCondition

The condition under which the current access applies. This is effectively the if statement in the rendered pseudocode.

See definitions.condition in Traits.HasCondition for more information.
Additional Properties
Not Allowed
◊ Required
Properties marked with ◊ are required properties.

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

{
  "info": [
    "The access property defines the logic behind memory mapped register access.",
    "### Example",
    [
      "```",
      "if boolean IMPLEMENTATION_DEFINED \"Allow Register Writes\" then",
      "   RW",
      "else",
      "   RO",
      "```"
    ],
    "The MemoryAccess can be written as:",
    [
      "```",
      "{",
      "   \"_type\": \"Accessors.Permission.MemoryAccess\",",
      "   \"access\": [",
      "       {",
      "           \"_type\": \"Accessors.Permission.MemoryAccess\",",
      "           \"condition\": \"boolean IMPLEMENTATION_DEFINED \\\"Allow Register Writes\\\"\"",
      "           \"access\": \"RW\"",
      "       },",
      "       {",
      "           \"_type\": \"Accessors.Permission.MemoryAccess\",",
      "           \"condition\": null,",
      "           \"access\": \"RO\"",
      "       },",
      "   ]",
      "}",
      "```"
    ],
    "Note, a `null` condition defines the otherwise clause. When omitted the parent's permission applies.",
    "### Nesting",
    "Memory Accesses can be nested inside other Memory Accesses to represent complex nested conditions."
  ],
  "properties": {
    "_meta": {
      "$ref": "../../Meta.json",
      "info": [
        "Metadata"
      ]
    },
    "_type": {
      "enum": [
        "Accessors.Permission.MemoryAccess"
      ]
    },
    "access": {
      "info": [
        "The access which occurs when the condition is satisfied. This is effectively the contents of the `if` branch."
      ],
      "oneOf": [
        {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#"
          }
        },
        {
          "$ref": "AccessTypes/Memory/ReadWriteAccess.json"
        },
        {
          "$ref": "AccessTypes/Memory/ImplementationDefined.json"
        }
      ]
    },
    "condition": {
      "info": [
        "The condition under which the current access applies. This is effectively the `if` statement in the rendered pseudocode."
      ],
      "$ref": "../../Traits/HasCondition.json#/definitions/condition"
    }
  },
  "required": [
    "access"
  ],
  "title": "MemoryAccess",
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema#",
  "additionalProperties": false
}