From: Franck Bui-Huu <fbuihuu@xxxxxxxxx> Signed-off-by: Franck Bui-Huu <fbuihuu@xxxxxxxxx> --- arch/mips/Makefile | 6 ++---- include/asm-mips/page.h | 2 +- include/asm-mips/pgtable-64.h | 2 +- include/asm-mips/stackframe.h | 12 ++++++------ 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 626771c..fa08d07 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile @@ -625,11 +625,9 @@ ifdef CONFIG_64BIT endif ifeq ("$(BUILD_ELF32)", "y") - cflags-y += -msym32 - else - cflags-y += -DCONFIG_BUILD_ELF64 + cflags-y += -msym32 -DCONFIG_64BIT_BUILD_ELF32 endif -endif # CONFIG_64BIT +endif AFLAGS += $(cflags-y) CFLAGS += $(cflags-y) diff --git a/include/asm-mips/page.h b/include/asm-mips/page.h index d3fbd83..d37a24c 100644 --- a/include/asm-mips/page.h +++ b/include/asm-mips/page.h @@ -149,7 +149,7 @@ typedef struct { unsigned long pgprot; } pgprot_t; /* * __pa()/__va() should be used only during mem init. */ -#if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) +#ifdef CONFIG_64BIT_BUILD_ELF32 #define __pa_page_offset(x) ((unsigned long)(x) < CKSEG0 ? PAGE_OFFSET : CKSEG0) #else #define __pa_page_offset(x) PAGE_OFFSET diff --git a/include/asm-mips/pgtable-64.h b/include/asm-mips/pgtable-64.h index a5b1871..55be7b5 100644 --- a/include/asm-mips/pgtable-64.h +++ b/include/asm-mips/pgtable-64.h @@ -104,7 +104,7 @@ #define VMALLOC_START MAP_BASE #define VMALLOC_END \ (VMALLOC_START + PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE) -#if defined(CONFIG_MODULES) && !defined(CONFIG_BUILD_ELF64) && \ +#if defined(CONFIG_MODULES) && defined(CONFIG_64BIT_BUILD_ELF32) && \ VMALLOC_START != CKSSEG /* Load modules into 32bit-compatible segment. */ #define MODULE_START CKSSEG diff --git a/include/asm-mips/stackframe.h b/include/asm-mips/stackframe.h index 1fae5dc..917ffa5 100644 --- a/include/asm-mips/stackframe.h +++ b/include/asm-mips/stackframe.h @@ -70,14 +70,14 @@ #else MFC0 k0, CP0_CONTEXT #endif -#if defined(CONFIG_BUILD_ELF64) || (defined(CONFIG_64BIT) && __GNUC__ < 4) +#if defined(CONFIG_32BIT) || defined(CONFIG_64BIT_BUILD_ELF32) + lui k1, %hi(kernelsp) +#else lui k1, %highest(kernelsp) daddiu k1, %higher(kernelsp) dsll k1, 16 daddiu k1, %hi(kernelsp) dsll k1, 16 -#else - lui k1, %hi(kernelsp) #endif LONG_SRL k0, PTEBASE_SHIFT LONG_ADDU k1, k0 @@ -95,14 +95,14 @@ .endm #else .macro get_saved_sp /* Uniprocessor variation */ -#if defined(CONFIG_BUILD_ELF64) || (defined(CONFIG_64BIT) && __GNUC__ < 4) +#if defined(CONFIG_32BIT) || defined(CONFIG_64BIT_BUILD_ELF32) + lui k1, %hi(kernelsp) +#else lui k1, %highest(kernelsp) daddiu k1, %higher(kernelsp) dsll k1, k1, 16 daddiu k1, %hi(kernelsp) dsll k1, k1, 16 -#else - lui k1, %hi(kernelsp) #endif LONG_L k1, %lo(kernelsp)(k1) .endm -- 1.4.4.3.ge6d4