CurrentEL, Current Exception Level

The CurrentEL characteristics are:

Purpose

Holds the current Exception level.

Configuration

Some or all RW fields of this register have defined reset values. These apply only if the PE resets into an Exception level that is using AArch64. Otherwise, RW fields in this register reset to architecturally UNKNOWN values.

Attributes

CurrentEL is a 64-bit register.

Field descriptions

The CurrentEL bit assignments are:

6362616059585756555453525150494847464544434241403938373635343332
RES0
RES0ELRES0
313029282726252423222120191817161514131211109876543210

Bits [63:4]

Reserved, RES0.

EL, bits [3:2]

Current Exception level. Possible values of this field are:

ELMeaning
0b00

EL0

0b01

EL1

0b10

EL2

0b11

EL3

When the HCR_EL2.NV bit is 1, EL1 read accesses to the CurrentEL register return the value of 0b10 in this field.

This field resets to the highest implemented Exception Level.

Bits [1:0]

Reserved, RES0.

Accessing the CurrentEL

Accesses to this register use the following encodings:

MRS <Xt>, CurrentEL

op0op1CRnCRmop2
0b110b0000b01000b00100b010

if PSTATE.EL == EL0 then UNDEFINED; elsif PSTATE.EL == EL1 then if EL2Enabled() && HCR_EL2.NV == '1' then return Zeros(60):'10':Zeros(2); else return Zeros(60):PSTATE.EL:Zeros(2); elsif PSTATE.EL == EL2 then return Zeros(60):PSTATE.EL:Zeros(2); elsif PSTATE.EL == EL3 then return Zeros(60):PSTATE.EL:Zeros(2);




27/03/2019 21:59; e5e4db499bf9867a4b93324c4dbac985d3da9376

Copyright © 2010-2019 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.