AArch32 ISA XML for ARMv8.5
(00bet8)
13th September 2018
1. Introduction
This is the 00bet8
release of the AArch32 ISA XML for ARMv8.5.
The Proprietary Notice
gives details of the terms and conditions under which this package
is provided.
If you have comments on the content of this package, please send
them by e-mail to
support-aarchv8@arm.com.
Give:
- The title, "AArch32 ISA XML for ARMv8.5".
- The version, "00bet8".
- A concise explanation of your comments.
2. Contents
3. Release Notes
Change history
The following general changes are made:
-
Added support for ARMv8.5.
The following changes are made to the instruction definitions:
-
The pseudocode for AArch32 VCMLA(by element) instruction is
adjusted to use Din[m] instead of D[m] to assign the value to
'operand2', to avoid requiring that the update from the first
iteration of the loop affects the value of operand2 in the second
iteration.
The following changes are made to the Shared Pseudocode:
-
The function AArch64.TranslationTableWalk() is corrected to
reflect the fact that if TxSZ is programmed to a value smaller
than the effective minimum value when ARMv8.2-LVA is supported,
then any use of the TxSZ value generates a stage 1 level 0
Translation fault. This is corrected for each exception level.
-
The function AArch64.TranslationTableWalk() is corrected to
include the check for current translation regime when evaluating
the value of variable 'apply_nvnv1_efect'.
-
The function CheckPermission() is adjusted to correctly describe
the generation of permission fault for a data or unified cache
maintenance instruction that operates by VA.
-
The function AArch64.CheckPermission() is corrected to remove the
reference to variable 'ispriv' that does not exist. Also, the
function AArch64.CheckS2Permission() is corrected to describe the
missing behaviour that an enabled DC instruction executed at EL0
generates a Permission fault if the specified address does not
have read access at EL0.
-
The function AArch64.TakeException() is adjusted to add the effect
of nested virtualisation with HCR_EL2.<NV,NV1> = '10', when
any exception taken from EL1 to EL1 causes the SPSR_EL1.M[3:2] to
set to '10' not '01'.
-
The definition and the calls to function CalculateBottomPACBit()
are adjusted to remove the redundant function argument.
-
The function AArch64.FPTrappedException() is adjusted to reflect
the relaxation in the architecture to the values in the
ESR_ELx.ISS fields for an exception from a trapped floating-point
exception.
Known issues
-
The table for the "Advanced SIMD two registers and shift amount"
class within the A32 and T32 encoding index page includes a column
"imm3H:L" with the value "!= 0000" for all rows. This condition
applies to all instructions in this table, and so is removed.
-
The encoding diagram for the "Advanced SIMD and floating-point
32-bit move" class within the A32 and T32 encoding index page
shows bits[3:0] as "1111". This is incorrect, as the next level of
decode shows these bits as "(0)(0)(0)(0)".