--- zzzz-none-000/linux-4.19.183/arch/arm/mm/proc-v7.S 2021-03-24 10:07:39.000000000 +0000 +++ bcm63-7530ax-756/linux-4.19.183/arch/arm/mm/proc-v7.S 2023-06-28 08:54:18.000000000 +0000 @@ -545,13 +545,24 @@ .align 2 __v7_setup_stack_ptr: .word PHYS_RELATIVE(__v7_setup_stack, .) +#if defined(CONFIG_BCM_KF_ARM_BCM963XX) +/* Placing the shared setup stack here to guarantee its place always in non-cacheable memory */ +__v7_setup_stack: + .space 4 * 7 @ 7 registers +#endif ENDPROC(__v7_setup) .bss .align 2 +#if defined(CONFIG_BCM_KF_ARM_BCM963XX) +/* Placing the shared setup stack (28 bytes) here will endup in cacheable memory. + Memory corruption to cache disabled core can happen, if that cache line (64 bytes) + get partially updated by cores running with cache enabled. +*/ +#else __v7_setup_stack: .space 4 * 7 @ 7 registers - +#endif __INITDATA .weak cpu_v7_bugs_init