The RGSR_EL1 characteristics are:
Random Allocation Tag Seed Register.
This register is present only when ARMv8.5-MemTag is implemented. Otherwise, direct accesses to RGSR_EL1 are UNDEFINED.
When GCR_EL1.RRND==0b1, the value of RGSR_EL1 is UNKNOWN.
RW fields in this register reset to architecturally UNKNOWN values.
RGSR_EL1 is a 64-bit register.
The RGSR_EL1 bit assignments are:
63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 | 55 | 54 | 53 | 52 | 51 | 50 | 49 | 48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | SEED | 0 | 0 | 0 | 0 | TAG | ||||||||||||||||||
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 |
Reserved, RES0.
Seed register used for generating values returned by RandomAllocationTag().
This field resets to an architecturally UNKNOWN value.
Reserved, RES0.
Tag generated by the most recent IRG instruction.
This field resets to an architecturally UNKNOWN value.
Accesses to this register use the following encodings:
op0 | CRn | op1 | op2 | CRm |
---|---|---|---|---|
0b11 | 0b0001 | 0b000 | 0b101 | 0b0000 |
if PSTATE.EL == EL0 then UNDEFINED; elsif PSTATE.EL == EL1 then return RGSR_EL1; elsif PSTATE.EL == EL2 then return RGSR_EL1; elsif PSTATE.EL == EL3 then return RGSR_EL1;
op0 | CRn | op1 | op2 | CRm |
---|---|---|---|---|
0b11 | 0b0001 | 0b000 | 0b101 | 0b0000 |
if PSTATE.EL == EL0 then UNDEFINED; elsif PSTATE.EL == EL1 then RGSR_EL1 = X[t]; elsif PSTATE.EL == EL2 then RGSR_EL1 = X[t]; elsif PSTATE.EL == EL3 then RGSR_EL1 = X[t];
13/12/2018 16:42; 6379d01c197f1d40720d32d0f84c419c9187c009
Copyright © 2010-2018 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.