ARM: socfpga: make sure socfpga_cpu1start_addr is properly flushed
Make sure socfpga_cpu1start_addr is properly flushed from it's cache line so that secondary cpu's can see it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Tested-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
This commit is contained in:
parent
78c03c7af8
commit
cee9b8d6b8
@ -23,6 +23,7 @@
|
|||||||
#include <asm/hardware/cache-l2x0.h>
|
#include <asm/hardware/cache-l2x0.h>
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
#include <asm/mach/map.h>
|
#include <asm/mach/map.h>
|
||||||
|
#include <asm/cacheflush.h>
|
||||||
|
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
|
|
||||||
@ -73,6 +74,10 @@ void __init socfpga_sysmgr_init(void)
|
|||||||
(u32 *) &socfpga_cpu1start_addr))
|
(u32 *) &socfpga_cpu1start_addr))
|
||||||
pr_err("SMP: Need cpu1-start-addr in device tree.\n");
|
pr_err("SMP: Need cpu1-start-addr in device tree.\n");
|
||||||
|
|
||||||
|
/* Ensure that socfpga_cpu1start_addr is visible to other CPUs */
|
||||||
|
smp_wmb();
|
||||||
|
sync_cache_w(&socfpga_cpu1start_addr);
|
||||||
|
|
||||||
sys_manager_base_addr = of_iomap(np, 0);
|
sys_manager_base_addr = of_iomap(np, 0);
|
||||||
|
|
||||||
np = of_find_compatible_node(NULL, NULL, "altr,rst-mgr");
|
np = of_find_compatible_node(NULL, NULL, "altr,rst-mgr");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user