fix(cm): set MDCR_EL3.{NSPBE, STE} explicitlyWith the introduction of FEAT_RME MDCR_EL3 bits NSPB and NSPBE depend oneach other. The enable code relies on the register being initialised tozero an
fix(cm): set MDCR_EL3.{NSPBE, STE} explicitlyWith the introduction of FEAT_RME MDCR_EL3 bits NSPB and NSPBE depend oneach other. The enable code relies on the register being initialised tozero and omits to reset NSPBE. However, this is not obvious. Reset thebit explicitly to document this.Similarly, reset the STE bit , since it's part of the feature enablement.Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>Change-Id: I3714507bae10042cdccd2b7bc713b31d4cdeb02f
show more ...
refactor(cpufeat): separate the EL2 and EL3 enablement codeCombining the EL2 and EL3 enablement code necessitates that it must becalled at el3_exit, which is the only place with enough context to
refactor(cpufeat): separate the EL2 and EL3 enablement codeCombining the EL2 and EL3 enablement code necessitates that it must becalled at el3_exit, which is the only place with enough context to makethe decision of what needs to be set.Decouple them to allow them to be called from elsewhere.Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>Change-Id: I147764c42771e7d4100699ec8fae98dac0a505c0
refactor(trf): enable FEAT_TRF for FEAT_STATE_CHECKEDAt the moment we only support FEAT_TRF to be either unconditionallycompiled in, or to be not supported at all.Add support for runtime detecti
refactor(trf): enable FEAT_TRF for FEAT_STATE_CHECKEDAt the moment we only support FEAT_TRF to be either unconditionallycompiled in, or to be not supported at all.Add support for runtime detection (ENABLE_TRF_FOR_NS=2), by splittingis_feat_trf_present() into an ID register reading function and a secondfunction to report the support status. That function considers bothbuild time settings and runtime information (if needed), and is usedbefore we access TRF related registers.Also move the context saving code from assembly to C, and use the newis_feat_trf_supported() function to guard its execution.The FVP platform decided to compile in support unconditionally (=1),even though FEAT_TRF is an ARMv8.4 feature, so is not available with theFVP model's default command line.Change that to the now supported dynamic option (=2), so the rightdecision can be made by the code at runtime.Change-Id: Ia97b01adbe24970a4d837afd463dc5506b7295a3Signed-off-by: Andre Przywara <andre.przywara@arm.com>
feat(trf): enable trace filter control register access from lower NS ELIntroduced a build flag 'ENABLE_TRF_FOR_NS' to enable trace filtercontrol registers access in NS-EL2, or NS-EL1 (when NS-EL2
feat(trf): enable trace filter control register access from lower NS ELIntroduced a build flag 'ENABLE_TRF_FOR_NS' to enable trace filtercontrol registers access in NS-EL2, or NS-EL1 (when NS-EL2 isimplemented but unused).Change-Id: If3f53b8173a5573424b9a405a4bd8c206ffdeb8cSigned-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>