N1 uses '0000' values which mean: Support for 4KB granule at stage 2 is identified in the ID_AA64MMFR0_EL1.TGran{4,16,64} field.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiew...@linaro.org> --- ArmPkg/Application/ArmCpuInfo/ArmCpuInfo.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ArmPkg/Application/ArmCpuInfo/ArmCpuInfo.c b/ArmPkg/Application/ArmCpuInfo/ArmCpuInfo.c index caaab4ec4313..a97236f59352 100644 --- a/ArmPkg/Application/ArmCpuInfo/ArmCpuInfo.c +++ b/ArmPkg/Application/ArmCpuInfo/ArmCpuInfo.c @@ -1210,6 +1210,13 @@ HandleAa64Mmfr0 ( Bits = "43:40"; Value = (Aa64Mmfr0 >> 40) & 0xf; switch (Value) { + case b0000: + if (((Aa64Mmfr0 >> 28) & 0xf) == b0000) { + Description = " 4KB granule supported at stage 2."; + } else { + Description = "unknown"; + } + break; case b0001: Description = " 4KB granule not supported at stage 2."; break; @@ -1248,6 +1255,13 @@ HandleAa64Mmfr0 ( Bits = "35:32"; Value = (Aa64Mmfr0 >> 32) & 0xf; switch (Value) { + case b0000: + if (((Aa64Mmfr0 >> 20) & 0xf) == b0001) { + Description = "16KB granule supported at stage 2."; + } else { + Description = "unknown"; + } + break; case b0001: Description = "16KB granule not supported at stage 2."; break; @@ -1283,6 +1297,13 @@ HandleAa64Mmfr0 ( Bits = "39:36"; Value = (Aa64Mmfr0 >> 36) & 0xf; switch (Value) { + case b0000: + if (((Aa64Mmfr0 >> 24) & 0xf) == b0000) { + Description = "64KB granule supported at stage 2."; + } else { + Description = "unknown"; + } + break; case b0001: Description = "64KB granule not supported at stage 2."; break; -- 2.40.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#105701): https://edk2.groups.io/g/devel/message/105701 Mute This Topic: https://groups.io/mt/99335296/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-