mirror of
https://github.com/linux-sunxi/u-boot-sunxi.git
synced 2024-02-12 11:16:03 +08:00
powerpc: mpc85xx: Implement CPU erratum A-007907 for secondary cores
Commit 06ad970b53
("powerpc: mpc85xx: Implemente workaround for CPU
erratum A-007907") clears L1CSR2 for the boot core, but other cores
don't run through the workaround. Add similar code for secondary
cores to clear DCSTASHID field in L1CSR2 register.
Signed-off-by: York Sun <york.sun@nxp.com>
This commit is contained in:
@ -184,12 +184,18 @@ __secondary_start_page:
|
|||||||
|
|
||||||
mtspr SPRN_PIR,r4 /* write to PIR register */
|
mtspr SPRN_PIR,r4 /* write to PIR register */
|
||||||
|
|
||||||
|
#ifdef CONFIG_SYS_FSL_ERRATUM_A007907
|
||||||
|
mfspr r8, L1CSR2
|
||||||
|
clrrwi r8, r8, 10 /* clear bit [54-63] DCSTASHID */
|
||||||
|
mtspr L1CSR2, r8
|
||||||
|
#else
|
||||||
#ifdef CONFIG_SYS_CACHE_STASHING
|
#ifdef CONFIG_SYS_CACHE_STASHING
|
||||||
/* set stash id to (coreID) * 2 + 32 + L1 CT (0) */
|
/* set stash id to (coreID) * 2 + 32 + L1 CT (0) */
|
||||||
slwi r8,r4,1
|
slwi r8,r4,1
|
||||||
addi r8,r8,32
|
addi r8,r8,32
|
||||||
mtspr L1CSR2,r8
|
mtspr L1CSR2,r8
|
||||||
#endif
|
#endif
|
||||||
|
#endif /* CONFIG_SYS_FSL_ERRATUM_A007907 */
|
||||||
|
|
||||||
#if defined(CONFIG_SYS_P4080_ERRATUM_CPU22) || \
|
#if defined(CONFIG_SYS_P4080_ERRATUM_CPU22) || \
|
||||||
defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011)
|
defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011)
|
||||||
|
Reference in New Issue
Block a user