[rtems commit] bsp/imx: Fix SMP start
Sebastian Huber
sebh at rtems.org
Fri Jul 9 09:15:13 UTC 2021
Module: rtems
Branch: master
Commit: 7b2d5699be47e6847e8880ab3956024ae3aaaed7
Changeset: http://git.rtems.org/rtems/commit/?id=7b2d5699be47e6847e8880ab3956024ae3aaaed7
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Fri Jul 9 10:39:01 2021 +0200
bsp/imx: Fix SMP start
Flush imx_gic_dist_base so that secondary processors can use the right
address.
---
bsps/arm/imx/start/bspstart.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/bsps/arm/imx/start/bspstart.c b/bsps/arm/imx/start/bspstart.c
index 238bc2b..2f59f95 100644
--- a/bsps/arm/imx/start/bspstart.c
+++ b/bsps/arm/imx/start/bspstart.c
@@ -153,6 +153,18 @@ static void imx_find_gic(const void *fdt)
node = fdt_path_offset(fdt, "/soc/interrupt-controller");
}
imx_gic_dist_base = (uintptr_t) imx_get_reg_of_node(fdt, node);
+
+#if defined(RTEMS_SMP)
+ /*
+ * Secondary processors start with a disabled data cache and use the GIC to
+ * deterine if they can continue the initialization, see
+ * arm_gic_irq_initialize_secondary_cpu().
+ */
+ rtems_cache_flush_multiple_data_lines(
+ &imx_gic_dist_base,
+ sizeof(imx_gic_dist_base)
+ );
+#endif
}
void bsp_start(void)
More information about the vc
mailing list