diff options
author | Nathan Lynch <nathan_lynch@mentor.com> | 2015-03-25 14:16:05 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-03-27 18:20:45 -0400 |
commit | e5b61deb3af465f11db7e5e11944ba00a33ece1f (patch) | |
tree | 9a33472595fbd61a56618226340db1d9b53476f8 | |
parent | ecf99a439105ebd0a507af1a9cd901a2e166bf9a (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/Makefile | 8 | ||||
-rw-r--r-- | arch/arm/kernel/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mm/Kconfig | 14 |
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) | |||
263 | core-$(CONFIG_VFP) += arch/arm/vfp/ | 263 | core-$(CONFIG_VFP) += arch/arm/vfp/ |
264 | core-$(CONFIG_XEN) += arch/arm/xen/ | 264 | core-$(CONFIG_XEN) += arch/arm/xen/ |
265 | core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/ | 265 | core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/ |
266 | core-$(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. |
268 | core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ | 269 | core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ |
@@ -320,6 +321,12 @@ dtbs: prepare scripts | |||
320 | dtbs_install: | 321 | dtbs_install: |
321 | $(Q)$(MAKE) $(dtbinst)=$(boot)/dts | 322 | $(Q)$(MAKE) $(dtbinst)=$(boot)/dts |
322 | 323 | ||
324 | PHONY += vdso_install | ||
325 | vdso_install: | ||
326 | ifeq ($(CONFIG_VDSO),y) | ||
327 | $(Q)$(MAKE) $(build)=arch/arm/vdso $@ | ||
328 | endif | ||
329 | |||
323 | # We use MRPROPER_FILES and CLEAN_FILES now | 330 | # We use MRPROPER_FILES and CLEAN_FILES now |
324 | archclean: | 331 | archclean: |
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' | ||
347 | endef | 355 | endef |
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 | |||
75 | CFLAGS_pj4-cp0.o := -marm | 75 | CFLAGS_pj4-cp0.o := -marm |
76 | AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt | 76 | AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt |
77 | obj-$(CONFIG_ARM_CPU_TOPOLOGY) += topology.o | 77 | obj-$(CONFIG_ARM_CPU_TOPOLOGY) += topology.o |
78 | obj-$(CONFIG_VDSO) += vdso.o | ||
78 | 79 | ||
79 | ifneq ($(CONFIG_ARCH_EBSA110),y) | 80 | ifneq ($(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 | ||
828 | config 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 | |||
828 | config DMA_CACHE_RWFO | 842 | config 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 |