CNTHV_CVAL_EL2, Counter-timer Virtual Timer CompareValue register (EL2)

The CNTHV_CVAL_EL2 characteristics are:

Purpose

Holds the compare value for the EL2 virtual timer.

This register is part of the Generic Timer registers functional group.

Configuration

AArch64 System register CNTHV_CVAL_EL2 is architecturally mapped to AArch32 System register CNTHV_CVAL.

If EL2 is not implemented, this register is RES0 from EL3.

RW fields in this register reset to architecturally UNKNOWN values.

This register is introduced in ARMv8.1.

Attributes

CNTHV_CVAL_EL2 is a 64-bit register.

Field descriptions

The CNTHV_CVAL_EL2 bit assignments are:

6362616059585756555453525150494847464544434241403938373635343332
CompareValue
CompareValue
313029282726252423222120191817161514131211109876543210

CompareValue, bits [63:0]

Holds the EL2 virtual timer CompareValue.

When CNTHV_CTL_EL2.ENABLE is 1, the timer condition is met when (CNTVCT_EL0 - CompareValue) is greater than zero. This means that CompareValue acts like a 64-bit upcounter timer. When the timer condition is met:

When CNTHV_CTL_EL2.ENABLE is 0, the timer condition is not met, but CNTVCT_EL0 continues to count.

Accessing the CNTHV_CVAL_EL2

This register can be read using MRS with the following syntax:

MRS <Xt>, <systemreg>

This register can be written using MSR (register) with the following syntax:

MSR <systemreg>, <Xt>

This syntax uses the following encoding in the System instruction encoding space:

<systemreg> op0op1CRnCRmop2
CNTHV_CVAL_EL21110011100011010
CNTV_CVAL_EL01101111100011010

Accessibility

The register is accessible as follows:

<systemreg> Control Accessibility
E2HTGENSEL0EL1EL2EL3
CNTHV_CVAL_EL2xx0 - - n/a RW
CNTHV_CVAL_EL2001 - - RWRW
CNTHV_CVAL_EL2011 - n/a RWRW
CNTHV_CVAL_EL2101 - - RWRW
CNTHV_CVAL_EL2111 - n/a RWRW
CNTV_CVAL_EL0xx0 CNTV_CVAL_EL0 CNTV_CVAL_EL0 n/a CNTV_CVAL_EL0
CNTV_CVAL_EL0001 CNTV_CVAL_EL0 CNTV_CVAL_EL0 CNTV_CVAL_EL0 CNTV_CVAL_EL0
CNTV_CVAL_EL0011 CNTV_CVAL_EL0 n/a CNTV_CVAL_EL0 CNTV_CVAL_EL0
CNTV_CVAL_EL0101 CNTV_CVAL_EL0 CNTV_CVAL_EL0 RW CNTV_CVAL_EL0
CNTV_CVAL_EL0111RW n/a RW CNTV_CVAL_EL0

When HCR_EL2.E2H is 1, without explicit synchronization, access from EL2 using the mnemonic CNTHV_CVAL_EL2 or CNTV_CVAL_EL0 are not guaranteed to be ordered with respect to accesses using the other mnemonic.

Traps and enables

For a description of the prioritization of any generated exceptions, see section D1.13.2 (Synchronous exception prioritization) in the ARM® Architecture Reference Manual, ARMv8, for ARMv8-A architecture profile. Subject to the prioritization rules, the following traps and enables are applicable when accessing this register.

When EL2 is implemented and is using AArch64 and SCR_EL3.NS==1 && HCR_EL2.E2H==1 && HCR_EL2.TGE==1 :




02/05/2017 15:43

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