aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Lynch <nathan_lynch@mentor.com>2015-03-25 14:16:05 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-03-27 18:20:45 -0400
commite5b61deb3af465f11db7e5e11944ba00a33ece1f (patch)
tree9a33472595fbd61a56618226340db1d9b53476f8
parentecf99a439105ebd0a507af1a9cd901a2e166bf9a (diff)
ARM: 8332/1: add CONFIG_VDSO Kconfig and Makefile bits
Allow users to enable the vdso in Kconfig; include the vdso in the build if CONFIG_VDSO is enabled. Add 'vdso_install' target. Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/Makefile8
-rw-r--r--arch/arm/kernel/Makefile1
-rw-r--r--arch/arm/mm/Kconfig14
3 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 7f99cd652203..6c13a84b6cd2 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -263,6 +263,7 @@ core-$(CONFIG_FPE_FASTFPE) += $(FASTFPE_OBJ)
263core-$(CONFIG_VFP) += arch/arm/vfp/ 263core-$(CONFIG_VFP) += arch/arm/vfp/
264core-$(CONFIG_XEN) += arch/arm/xen/ 264core-$(CONFIG_XEN) += arch/arm/xen/
265core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/ 265core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/
266core-$(CONFIG_VDSO) += arch/arm/vdso/
266 267
267# If we have a machine-specific directory, then include it in the build. 268# If we have a machine-specific directory, then include it in the build.
268core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ 269core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
@@ -320,6 +321,12 @@ dtbs: prepare scripts
320dtbs_install: 321dtbs_install:
321 $(Q)$(MAKE) $(dtbinst)=$(boot)/dts 322 $(Q)$(MAKE) $(dtbinst)=$(boot)/dts
322 323
324PHONY += vdso_install
325vdso_install:
326ifeq ($(CONFIG_VDSO),y)
327 $(Q)$(MAKE) $(build)=arch/arm/vdso $@
328endif
329
323# We use MRPROPER_FILES and CLEAN_FILES now 330# We use MRPROPER_FILES and CLEAN_FILES now
324archclean: 331archclean:
325 $(Q)$(MAKE) $(clean)=$(boot) 332 $(Q)$(MAKE) $(clean)=$(boot)
@@ -344,4 +351,5 @@ define archhelp
344 echo ' Install using (your) ~/bin/$(INSTALLKERNEL) or' 351 echo ' Install using (your) ~/bin/$(INSTALLKERNEL) or'
345 echo ' (distribution) /sbin/$(INSTALLKERNEL) or' 352 echo ' (distribution) /sbin/$(INSTALLKERNEL) or'
346 echo ' install to $$(INSTALL_PATH) and run lilo' 353 echo ' install to $$(INSTALL_PATH) and run lilo'
354 echo ' vdso_install - Install unstripped vdso.so to $$(INSTALL_MOD_PATH)/vdso'
347endef 355endef
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
index 902397dd1000..3e316ca54e40 100644
--- a/arch/arm/kernel/Makefile
+++ b/arch/arm/kernel/Makefile
@@ -75,6 +75,7 @@ obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o perf_event_cpu.o
75CFLAGS_pj4-cp0.o := -marm 75CFLAGS_pj4-cp0.o := -marm
76AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt 76AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt
77obj-$(CONFIG_ARM_CPU_TOPOLOGY) += topology.o 77obj-$(CONFIG_ARM_CPU_TOPOLOGY) += topology.o
78obj-$(CONFIG_VDSO) += vdso.o
78 79
79ifneq ($(CONFIG_ARCH_EBSA110),y) 80ifneq ($(CONFIG_ARCH_EBSA110),y)
80 obj-y += io.o 81 obj-y += io.o
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 9b4f29e595a4..8a5f1e644104 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -825,6 +825,20 @@ config KUSER_HELPERS
825 Say N here only if you are absolutely certain that you do not 825 Say N here only if you are absolutely certain that you do not
826 need these helpers; otherwise, the safe option is to say Y. 826 need these helpers; otherwise, the safe option is to say Y.
827 827
828config VDSO
829 bool "Enable VDSO for acceleration of some system calls"
830 depends on AEABI && MMU
831 default y if ARM_ARCH_TIMER
832 select GENERIC_TIME_VSYSCALL
833 help
834 Place in the process address space an ELF shared object
835 providing fast implementations of gettimeofday and
836 clock_gettime. Systems that implement the ARM architected
837 timer will receive maximum benefit.
838
839 You must have glibc 2.22 or later for programs to seamlessly
840 take advantage of this.
841
828config DMA_CACHE_RWFO 842config DMA_CACHE_RWFO
829 bool "Enable read/write for ownership DMA cache maintenance" 843 bool "Enable read/write for ownership DMA cache maintenance"
830 depends on CPU_V6K && SMP 844 depends on CPU_V6K && SMP