diff options
| author | Marc Zyngier <maz@kernel.org> | 2025-12-10 17:30:20 +0000 |
|---|---|---|
| committer | Marc Zyngier <maz@kernel.org> | 2026-01-15 10:58:20 +0000 |
| commit | f1640174c8a769511641bfd5b7da16c4943e2c64 (patch) | |
| tree | dddf0d4a2f9fe6dd5bcccccfd2996f7a5f14e9db /rust/alloc/collections/git@git.tavy.me:linux.git | |
| parent | a98cd5c298af2f4030ca261a12ea001254d6bedb (diff) | |
arm64: Convert ID_AA64MMFR0_EL1.TGRAN{4,16,64}_2 to UnsignedEnum
ID_AA64MMFR0_EL1.TGRAN{4,16,64}_2 are currently represented as unordered
enumerations. However, the architecture treats them as Unsigned,
as hinted to by the MRS data:
(FEAT_S2TGran4K <=> (((UInt(ID_AA64MMFR0_EL1.TGran4_2) == 0) &&
FEAT_TGran4K) ||
(UInt(ID_AA64MMFR0_EL1.TGran4_2) >= 2))))
and similar descriptions exist for 16 and 64k.
This is also confirmed by D24.1.3.3 ("Alternative ID scheme used for
ID_AA64MMFR0_EL1 stage 2 granule sizes") in the L.b revision of
the ARM ARM.
Turn these fields into UnsignedEnum so that we can use the above
description more or less literally.
Reviewed-by: Fuad Tabba <tabba@google.com>
Tested-by: Fuad Tabba <tabba@google.com>
Link: https://patch.msgid.link/20251210173024.561160-3-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'rust/alloc/collections/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions
