Hexagon: change arch version config to allow comparisons
authorRichard Kuo <rkuo@codeaurora.org>
Tue, 27 Mar 2012 22:37:33 +0000 (17:37 -0500)
committerRichard Kuo <rkuo@codeaurora.org>
Wed, 1 May 2013 00:40:22 +0000 (19:40 -0500)
Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
arch/hexagon/Kconfig
arch/hexagon/Makefile
arch/hexagon/include/asm/elf.h

index dd89a7245ac45665c2a1c459a9afeb2c22189fdb..d90a495ab79173801388b31ed02539513416877d 100644 (file)
@@ -33,19 +33,6 @@ config HEXAGON
          Qualcomm Hexagon is a processor architecture designed for high
          performance and low power across a wide variety of applications.
 
-
-config HEXAGON_ARCH_V1
-       bool
-
-config HEXAGON_ARCH_V2
-       bool
-
-config HEXAGON_ARCH_V3
-       bool
-
-config HEXAGON_ARCH_V4
-       bool
-
 config HEXAGON_PHYS_OFFSET
        def_bool y
        ---help---
@@ -109,12 +96,15 @@ choice
 
 config HEXAGON_COMET
        bool "Comet Board"
-       select HEXAGON_ARCH_V2
        ---help---
          Support for the Comet platform.
 
 endchoice
 
+config HEXAGON_ARCH_VERSION
+       int "Architecture version"
+       default 2
+
 config HEXAGON_VM
        def_bool y
 
index d00d900b256653b9a139e42a58032fea8fd374c0..207711a0fd0c3a63220675a3752b636a33f6e762 100644 (file)
@@ -15,20 +15,9 @@ KBUILD_CFLAGS += -fno-short-enums
 # LDFLAGS_MODULE += -shared
 CFLAGS_MODULE += -mlong-calls
 
-cflags-$(CONFIG_HEXAGON_ARCH_V1) += $(call cc-option,-mv1)
-cflags-$(CONFIG_HEXAGON_ARCH_V2) += $(call cc-option,-mv2)
-cflags-$(CONFIG_HEXAGON_ARCH_V3) += $(call cc-option,-mv3)
-cflags-$(CONFIG_HEXAGON_ARCH_V4) += $(call cc-option,-mv4)
-
-aflags-$(CONFIG_HEXAGON_ARCH_V1) += $(call cc-option,-mv1)
-aflags-$(CONFIG_HEXAGON_ARCH_V2) += $(call cc-option,-mv2)
-aflags-$(CONFIG_HEXAGON_ARCH_V3) += $(call cc-option,-mv3)
-aflags-$(CONFIG_HEXAGON_ARCH_V4) += $(call cc-option,-mv4)
-
-ldflags-$(CONFIG_HEXAGON_ARCH_V1) += $(call cc-option,-mv1)
-ldflags-$(CONFIG_HEXAGON_ARCH_V2) += $(call cc-option,-mv2)
-ldflags-$(CONFIG_HEXAGON_ARCH_V3) += $(call cc-option,-mv3)
-ldflags-$(CONFIG_HEXAGON_ARCH_V4) += $(call cc-option,-mv4)
+cflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION})
+aflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION})
+ldflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION})
 
 KBUILD_CFLAGS += $(cflags-y)
 KBUILD_AFLAGS += $(aflags-y)
index 1f14e082588edc3cc0c5fb8804c72eff604318f1..83b8d0ea4cb8a4fa41525421171cb3a9865b4a52 100644 (file)
@@ -168,15 +168,15 @@ do {                                      \
 #define ELF_DATA       ELFDATA2LSB
 #define ELF_ARCH       EM_HEXAGON
 
-#ifdef CONFIG_HEXAGON_ARCH_V2
+#if CONFIG_HEXAGON_ARCH_VERSION == 2
 #define ELF_CORE_EFLAGS 0x1
 #endif
 
-#ifdef CONFIG_HEXAGON_ARCH_V3
+#if CONFIG_HEXAGON_ARCH_VERSION == 3
 #define ELF_CORE_EFLAGS 0x2
 #endif
 
-#ifdef CONFIG_HEXAGON_ARCH_V4
+#if CONFIG_HEXAGON_ARCH_VERSION == 4
 #define ELF_CORE_EFLAGS 0x3
 #endif