AARCHMRS Schema 2.7.4

↚ Home

Accessors.Permission.FieldHardwareSoftwareAccess object

The hardware software access defines logic for specifying the behavior

of accessing a register field from both the software and hardware perspective.

object

Properties Type Description
_meta Meta

Metadata

See Meta for more information.
_type
Enum
Accessors.Permission.FieldHardwareSoftwareAccess
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.
hardware
oneOf [
array
]

Hardware access: this can be used to specify pseudocode or hardware debugger access.

oneOf FieldAccess
oneOf array
software
oneOf [
array
null
]

Optional software access behavior.

oneOf FieldAccess
oneOf array
oneOf null
Additional Properties
Not Allowed
◊ Required
Properties marked with ◊ are required properties.
Examples
{
    "_type": "Accessors.Permission.FieldHardwareSoftwareAccess", 
    "condition": {
        "_type": "AST.Function", 
        "arguments": [
            {
                "_type": "AST.Identifier", 
                "value": "FEAT_MTE"
            }
        ], 
        "name": "IsFeatureImplemented"
    }, 
    "hardware": {
        "_type": "Accessors.Permission.FieldAccess", 
        "condition": {
            "_type": "AST.Bool", 
            "value": true
        }, 
        "access": "RW"
    }, 
    "software": {
        "_type": "Accessors.Permission.FieldAccess", 
        "condition": {
            "_type": "AST.Function", 
            "arguments": [
                {
                    "_type": "AST.Identifier", 
                    "value": "IMPLEMENTED_XYZ"
                }
            ], 
            "name": "ImpDefBool"
        }, 
        "access": "RO"
    }
}

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

{
  "info": [
    "The hardware software access defines logic for specifying the behavior ",
    "of accessing a register field from both the software and hardware perspective."
  ],
  "properties": {
    "_meta": {
      "$ref": "../../Meta.json",
      "info": [
        "Metadata"
      ]
    },
    "_type": {
      "enum": [
        "Accessors.Permission.FieldHardwareSoftwareAccess"
      ]
    },
    "software": {
      "info": [
        "Optional software access behavior."
      ],
      "oneOf": [
        {
          "$ref": "FieldAccess.json"
        },
        {
          "$ref": "InstanceAccess.json"
        },
        {
          "$ref": "FieldGetterSetter.json"
        },
        {
          "additionalItems": false,
          "minItems": 1,
          "items": {
            "$ref": "FieldAccess.json"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ]
    },
    "hardware": {
      "info": [
        "Hardware access: this can be used to specify pseudocode or hardware debugger access."
      ],
      "oneOf": [
        {
          "$ref": "FieldAccess.json"
        },
        {
          "$ref": "InstanceAccess.json"
        },
        {
          "$ref": "FieldGetterSetter.json"
        },
        {
          "additionalItems": false,
          "minItems": 1,
          "items": {
            "$ref": "FieldAccess.json"
          },
          "type": "array"
        }
      ]
    },
    "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"
    }
  },
  "examples": [
    {
      "_type": "Accessors.Permission.FieldHardwareSoftwareAccess",
      "condition": {
        "_type": "AST.Function",
        "arguments": [
          {
            "_type": "AST.Identifier",
            "value": "FEAT_MTE"
          }
        ],
        "name": "IsFeatureImplemented"
      },
      "hardware": {
        "_type": "Accessors.Permission.FieldAccess",
        "condition": {
          "_type": "AST.Bool",
          "value": true
        },
        "access": "RW"
      },
      "software": {
        "_type": "Accessors.Permission.FieldAccess",
        "condition": {
          "_type": "AST.Function",
          "arguments": [
            {
              "_type": "AST.Identifier",
              "value": "IMPLEMENTED_XYZ"
            }
          ],
          "name": "ImpDefBool"
        },
        "access": "RO"
      }
    }
  ],
  "required": [
    "hardware"
  ],
  "title": "FieldHardwareSoftwareAccess",
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema#",
  "additionalProperties": false
}