(old) | htmldiff from- | (new) |
The RVBAR characteristics are:
If EL3 is not implemented, contains the IMPLEMENTATION DEFINED address that execution starts from after reset when executing in AArch32 state.
This register is present only when AArch32 is supported at any Exception level. Otherwise, direct accesses to RVBAR are UNKNOWN.
This register is only implemented if the highest Exception level implemented is capable of using AArch32, and is not EL3.
RVBAR is a 32-bit register.
The RVBAR bit assignments are:
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reset Address[31:1] | RES1 |
Reset Address[31:1]. Bits [31:1] of the IMPLEMENTATION DEFINED address that execution starts from after reset when executing in 32-bit state.
Reserved, RES1.
Accesses to this register use the following encodings:
coproc | opc1 | CRn | CRm | opc2 |
---|---|---|---|---|
0b1111 | 0b000 | 0b1100 | 0b0000 | 0b001 |
if PSTATE.EL ==IN EL0 then
UNDEFINED;
elsif PSTATE.EL == EL1 then
if IsHighestEL(EL1) then
return RVBAR;
elsif EL2Enabled() && !ELUsingAArch32({EL2) && HSTR_EL2.T12 == '1' then
AArch64.AArch32SystemAccessTrap(EL2, 0x03);
elsifEL1} EL2Enabled() && ELUsingAArch32IsHighestEL(EL2PSTATE.EL) && HSTR.T12 == '1' then
AArch32.TakeHypTrapException(0x03);
elsif !ELUsingAArch32(EL2) && SCR_EL3.<NS,EEL2> == '01' then
AArch64.AArch32SystemAccessTrap(EL2, 0x03);
elsif !ELUsingAArch32(EL3) && SCR_EL3.NS == '0' then
AArch64.AArch32SystemAccessTrap(EL3, 0x03);
else
UNDEFINED;
elsif PSTATE.EL == EL2 then
if IsHighestEL(EL2) then
return RVBAR;
else
else
UNDEFINED;
elsif PSTATE.EL == EL3 then
return MVBAR;
1327/1209/2019 1518:1348; 391b5248b29fb2f001ef74792eaacbd6fc72f2116134483bd14dc8c12a99c984cbfe3431cc1c9707
Copyright © 2010-2019 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.
(old) | htmldiff from- | (new) |