AARCHMRS Schema 2.5.3

Arm Markdown Language

MRS natively supports markdown in its descriptive content, with a few useful Arm related addons. It inherits from the John Gruber's Markdown (If you are new to markdown, please read the spec above), but does not overwrite the original spec.

Below is a list of additions we have made to markdown to make life easier for Arm content:

Arm Defined Words

The following group of words are defined by Arm to have special or additional meaning:

IMPLEMENTATION DEFINED
OPTIONAL
RES0
RES1
UNDEFINED
UNKNOWN
CONSTRAINED UNPREDICTABLE
UNPREDICTABLE

When they are used in Arm Markdown Language and rendered in output, they will be automatically wrapped in an <arm-defined-word/> XHTML element as demonstrated below. This element should be styled as small-caps in any rendered output.

<arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word>

Binary or Hex numbers

0b01100 will be automatically converted into:

<binarynumber>0b01100</binaryNumber>

Hex numbers follow the same principle so the hex number 0xABcdEf123 will be converted to (Note it is coerced to upper-case for consistency):

<hexnumber>0xABCDEF123</hexnumber>

Notes

Notes are usually used to define non architectural components in MRS models and so they need to be supported. For this we use [note] and [/note]. For example:

[note]This is a single line note[/note]

or

[note]
This is multiline
 - Item 1
 - Item 2
[/note]

Will be converted to an HTML representation of the note

<note><p>This is a single line note</p></note>
<note>
<p>This is multiline</p>
<ul>
 <li>Item 1</li>
 <li>Item 2</li>
</ul>
</note>

Linking

In some cases you may want to link to create links between different types of content, for this you can use the x prefixed linking syntax, for example:

When x[FeatureName](linkid) is implemented, 
the only permitted value is 0b0001.

Will be converted to the following HTML:

When <xref linkend="linkid">FeatureName</xref> is implemented, 
the only permitted value is 0b0001.

Note

The linkend is an ID that can be used to reference different parts of your document, the AML does not define what an ID should be, and different renders should use this ID to generate links that are appropriate for their formats, or alternatively ignore the link and just use the text

Tables

Writing tables is required in some cases due to the complexity of the ARM architecture. To do this the following format can be used:

+----------------------------------------------------+
| Hello | World                                      |
+=======+============================================+
| Mars  | Mars is the fourth planet from the Sun.    |
+-------+--------------------------------------------+
| Earth | Earth is the third planet from the Sun.    |
+-------+--------------------------------------------+

Note that the first row is separated from the rest of the table by the row of = symbols, and will be styled differently (because the separation indicates that it is a header row).