When booting secondary CPUs we have used the main CPU to set up the Snoop Control Unit flags of these CPUs. It is a cleaner approach if every CPU takes care of its own flags. We avoid the need for locking and the program logic is more concise. With this patch the file headsmp-sh73a0.S is added that contains a startup vector for secondary CPUs that sets up its own SCU flags. Further in sh73a0_smp_prepare_cpus() we can rely on the generic ARM helper scu_power_mode(). This is possible as we don't cross borders anymore (every CPU handles its own flags) and need no locking. So we can throw out the needless function modify_scu_cpu_psr(). Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
55 lines
1.8 KiB
Makefile
55 lines
1.8 KiB
Makefile
#
|
|
# Makefile for the linux kernel.
|
|
#
|
|
|
|
# Common objects
|
|
obj-y := timer.o console.o clock.o
|
|
|
|
# CPU objects
|
|
obj-$(CONFIG_ARCH_SH7372) += setup-sh7372.o clock-sh7372.o intc-sh7372.o
|
|
obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o clock-sh73a0.o intc-sh73a0.o
|
|
obj-$(CONFIG_ARCH_R8A7740) += setup-r8a7740.o clock-r8a7740.o intc-r8a7740.o
|
|
obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o clock-r8a7779.o intc-r8a7779.o
|
|
obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o clock-emev2.o
|
|
|
|
# SMP objects
|
|
smp-y := platsmp.o headsmp.o
|
|
smp-$(CONFIG_HOTPLUG_CPU) += hotplug.o
|
|
smp-$(CONFIG_ARCH_SH73A0) += smp-sh73a0.o headsmp-sh73a0.o
|
|
smp-$(CONFIG_ARCH_R8A7779) += smp-r8a7779.o
|
|
smp-$(CONFIG_ARCH_EMEV2) += smp-emev2.o
|
|
|
|
# Pinmux setup
|
|
pfc-y :=
|
|
pfc-$(CONFIG_ARCH_SH7372) += pfc-sh7372.o
|
|
pfc-$(CONFIG_ARCH_SH73A0) += pfc-sh73a0.o
|
|
pfc-$(CONFIG_ARCH_R8A7740) += pfc-r8a7740.o
|
|
pfc-$(CONFIG_ARCH_R8A7779) += pfc-r8a7779.o
|
|
|
|
# IRQ objects
|
|
obj-$(CONFIG_ARCH_SH7372) += entry-intc.o
|
|
obj-$(CONFIG_ARCH_R8A7740) += entry-intc.o
|
|
|
|
# PM objects
|
|
obj-$(CONFIG_SUSPEND) += suspend.o
|
|
obj-$(CONFIG_CPU_IDLE) += cpuidle.o
|
|
obj-$(CONFIG_ARCH_SHMOBILE) += pm-rmobile.o
|
|
obj-$(CONFIG_ARCH_SH7372) += pm-sh7372.o sleep-sh7372.o
|
|
obj-$(CONFIG_ARCH_R8A7740) += pm-r8a7740.o
|
|
obj-$(CONFIG_ARCH_R8A7779) += pm-r8a7779.o
|
|
obj-$(CONFIG_ARCH_SH73A0) += pm-sh73a0.o
|
|
|
|
# Board objects
|
|
obj-$(CONFIG_MACH_AP4EVB) += board-ap4evb.o
|
|
obj-$(CONFIG_MACH_AG5EVM) += board-ag5evm.o
|
|
obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o
|
|
obj-$(CONFIG_MACH_KOTA2) += board-kota2.o
|
|
obj-$(CONFIG_MACH_BONITO) += board-bonito.o
|
|
obj-$(CONFIG_MACH_MARZEN) += board-marzen.o
|
|
obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o
|
|
obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o
|
|
obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o
|
|
|
|
# Framework support
|
|
obj-$(CONFIG_SMP) += $(smp-y)
|
|
obj-$(CONFIG_GENERIC_GPIO) += $(pfc-y)
|