Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4192d32 authored by Tony Lindgren's avatar Tony Lindgren
Browse files

omap: Fix sev instruction usage for multi-omap



Otherwise we get the following error with omap3_defconfig and CONFIG_SMP:

Error: selected processor does not support `sev'

Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
parent 8098bb0d
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@ obj-$(CONFIG_LOCAL_TIMERS) += timer-mpu.o
obj-$(CONFIG_HOTPLUG_CPU)		+= omap-hotplug.o
obj-$(CONFIG_HOTPLUG_CPU)		+= omap-hotplug.o
obj-$(CONFIG_ARCH_OMAP4)		+= omap44xx-smc.o omap4-common.o
obj-$(CONFIG_ARCH_OMAP4)		+= omap44xx-smc.o omap4-common.o


AFLAGS_omap-headsmp.o			:=-Wa,-march=armv7-a
AFLAGS_omap44xx-smc.o			:=-Wa,-march=armv7-a
AFLAGS_omap44xx-smc.o			:=-Wa,-march=armv7-a


# Functions loaded to SRAM
# Functions loaded to SRAM
+1 −2
Original line number Original line Diff line number Diff line
@@ -102,8 +102,7 @@ static void __init wakeup_secondary(void)
	 * Send a 'sev' to wake the secondary core from WFE.
	 * Send a 'sev' to wake the secondary core from WFE.
	 * Drain the outstanding writes to memory
	 * Drain the outstanding writes to memory
	 */
	 */
	dsb();
	dsb_sev();
	set_event();
	mb();
	mb();
}
}


+0 −7
Original line number Original line Diff line number Diff line
@@ -19,13 +19,6 @@


#include <asm/hardware/gic.h>
#include <asm/hardware/gic.h>


/*
 * set_event() is used to wake up secondary core from wfe using sev. ROM
 * code puts the second core into wfe(standby).
 *
 */
#define set_event()	__asm__ __volatile__ ("sev" : : : "memory")

/* Needed for secondary core boot */
/* Needed for secondary core boot */
extern void omap_secondary_startup(void);
extern void omap_secondary_startup(void);
extern u32 omap_modify_auxcoreboot0(u32 set_mask, u32 clear_mask);
extern u32 omap_modify_auxcoreboot0(u32 set_mask, u32 clear_mask);