Skip to main content

Register File Schema

v0.1

:::note Auto-generated This page is generated from register_file_schema.json by the schema doc generator. To update this page, edit the schema file and run bin/chore gen schema-docs. :::

Schema for describing a register file

Definitions

register_entry
PropertyTypeRequiredDescription
nameRegister name
abi_mnemonicsArray<Register alias or ABI mnemonic>ABI mnemonic names for the register
descriptionstring | Array<conditional_text>
whenA requirement on an extension. Can either specify just an extension name, in which case version '>= 0' is implied, or both a name and a requirement | object
reset_valuestringIDL literal expression for the reset value (e.g., '0'). Omit if reset state is unknown.
arch_read()stringFunction describing the architecturally defined read behavior. Use this for architecturally mandated effects (e.g., x0 always reads as zero).
arch_write(value)stringFunction describing the architecturally defined write behavior. Given a 'value', return the architecturally required result (e.g., x0 ignores writes and always yields zero).
caller_savedbooleanWhether the register is caller-saved
callee_savedbooleanWhether the register is callee-saved
rolesArray<zero | return_address | alternate_link_register | stack_pointer | global_pointer | thread_pointer | frame_pointer | return_value | argument | temporary>
register_file
PropertyTypeRequiredDescription
$schemaanyPath to schema, relative to <UDB ROOT>/schemas
kindany
nameRegister file name
long_namestring
descriptionstring | Array<conditional_text>
register_length()stringIDL function body returning the register width in bits. May reference params (MXLEN, VLEN) or implemented?(). Example: 'return MXLEN;'
registersArray<register_entry>
definedByA requirement on an extension. Can either specify just an extension name, in which case version '>= 0' is implied, or both a name and a requirement | object
register_classgeneral_purpose | floating_point | vector

:::note Tooling field $source is an optional field set automatically by UDB tooling to record the file path this object was loaded from. You do not need to set it manually. :::

Schema Information

PropertyValue
Versionv0.1
JSON Schema VersionDraft 07