diff --git a/plat/arm/css/common/css_topology.c b/plat/arm/css/common/css_topology.c index 42f94554dfdd19fe620f26fb62a66e3f0e1b7e85..d1f1c98f4b1fb354ce0acee4c86335605a5de4cb 100644 --- a/plat/arm/css/common/css_topology.c +++ b/plat/arm/css/common/css_topology.c @@ -23,6 +23,12 @@ int plat_core_pos_by_mpidr(u_register_t mpidr) if (arm_check_mpidr(mpidr) == 0) { #if ARM_PLAT_MT assert((read_mpidr_el1() & MPIDR_MT_MASK) != 0); + + /* + * The DTB files don't provide the MT bit in the mpidr argument + * so set it manually before calculating core position + */ + mpidr |= MPIDR_MT_MASK; #endif return plat_arm_calc_core_pos(mpidr); }