You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SoC/evalsoc: reorder _premain_init to init L2/SMP before L1 I/D Cache
Move L1 I/D Cache, LDSPEC_EN, and fence barrier initialization after
L2 Cache and SMP/IOCP EN enable in _premain_init() to ensure correct
cache coherency setup sequence.
Signed-off-by: Huaqi Fang <578567190@qq.com>
/* __ICACHE_PRESENT and __DCACHE_PRESENT are defined in evalsoc.h */
1496
-
// For our internal cpu testing, they want to set evalsoc __ICACHE_PRESENT/__DCACHE_PRESENT to be 1
1497
-
// __CCM_PRESENT is still default to 0 in evalsoc.h, since it is used in core_feature_eclic.h to register interrupt, if set to 1, it might cause exception
1498
-
// but in the cpu, icache or dcache might not exist due to cpu configuration, so here
1499
-
// we need to check whether icache/dcache really exist, if yes, then turn on it
/* NOTE: L2 Cache and SMP EN initialized above, now initialize L1 I/D Cache */
1551
+
// For our internal cpu testing, they want to set evalsoc __ICACHE_PRESENT/__DCACHE_PRESENT to be 1
1552
+
// __CCM_PRESENT is still default to 0 in evalsoc.h, since it is used in core_feature_eclic.h to register interrupt, if set to 1, it might cause exception
1553
+
// but in the cpu, icache or dcache might not exist due to cpu configuration, so here
1554
+
// we need to check whether icache/dcache really exist, if yes, then turn on it
Copy file name to clipboardExpand all lines: doc/source/changelog.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ This is release version of ``1.0.0`` of Nuclei SDK, which is still under develop
12
12
13
13
- Warn when ``CFG_IREGION_BASE_ADDR`` is defined as ``0`` and document the required compiler option.
14
14
- Fix EvalSoC UART stop-bit and FIFO watermark configuration to update the intended control-register fields.
15
-
- Enable SMP_ENB register of SMPCC with ``0xFFFFFFFF`` after L2 Cache enable to ensure SMP and IOCP consistency across cluster cores in ``system_evalsoc.c``.
15
+
- Reorder ``_premain_init()`` cache initialization in ``system_evalsoc.c``: L2 Cache and SMP/IOCP EN are now initialized before L1 I/D Cache to ensure correct SMP coherency setup sequence.
0 commit comments