Commit 8145095c authored by Ralf Baechle's avatar Ralf Baechle

[MIPS] Remove CONFIG_BUILD_ELF64.

    
This option is no longer usable with supported compilers.  It will be
replaced by usage of -msym32 in a separate patch.
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 219ac73a
...@@ -70,18 +70,20 @@ CHECKFLAGS-$(CONFIG_CPU_LITTLE_ENDIAN) += -D__MIPSEL__ ...@@ -70,18 +70,20 @@ CHECKFLAGS-$(CONFIG_CPU_LITTLE_ENDIAN) += -D__MIPSEL__
CHECKFLAGS = $(CHECKFLAGS-y) CHECKFLAGS = $(CHECKFLAGS-y)
ifdef CONFIG_BUILD_ELF64 ifdef CONFIG_32BIT
gas-abi = 64
ld-emul = $(64bit-emul)
vmlinux-32 = vmlinux.32
vmlinux-64 = vmlinux
else
gas-abi = 32 gas-abi = 32
ld-emul = $(32bit-emul) ld-emul = $(32bit-emul)
vmlinux-32 = vmlinux vmlinux-32 = vmlinux
vmlinux-64 = vmlinux.64 vmlinux-64 = vmlinux.64
endif
cflags-$(CONFIG_64BIT) += $(call cc-option,-mno-explicit-relocs) ifdef CONFIG_64BIT
gas-abi = 64
ld-emul = $(64bit-emul)
vmlinux-32 = vmlinux.32
vmlinux-64 = vmlinux
cflags-y += $(call cc-option,-mno-explicit-relocs)
endif endif
# #
...@@ -630,7 +632,6 @@ endif ...@@ -630,7 +632,6 @@ endif
ifdef CONFIG_SGI_IP27 ifdef CONFIG_SGI_IP27
core-$(CONFIG_SGI_IP27) += arch/mips/sgi-ip27/ core-$(CONFIG_SGI_IP27) += arch/mips/sgi-ip27/
cflags-$(CONFIG_SGI_IP27) += -Iinclude/asm-mips/mach-ip27 cflags-$(CONFIG_SGI_IP27) += -Iinclude/asm-mips/mach-ip27
ifdef CONFIG_BUILD_ELF64
ifdef CONFIG_MAPPED_KERNEL ifdef CONFIG_MAPPED_KERNEL
load-$(CONFIG_SGI_IP27) += 0xc00000004001c000 load-$(CONFIG_SGI_IP27) += 0xc00000004001c000
OBJCOPYFLAGS := --change-addresses=0x3fffffff80000000 OBJCOPYFLAGS := --change-addresses=0x3fffffff80000000
...@@ -639,16 +640,6 @@ else ...@@ -639,16 +640,6 @@ else
load-$(CONFIG_SGI_IP27) += 0xa80000000001c000 load-$(CONFIG_SGI_IP27) += 0xa80000000001c000
OBJCOPYFLAGS := --change-addresses=0x57ffffff80000000 OBJCOPYFLAGS := --change-addresses=0x57ffffff80000000
endif endif
else
ifdef CONFIG_MAPPED_KERNEL
load-$(CONFIG_SGI_IP27) += 0xffffffffc001c000
OBJCOPYFLAGS := --change-addresses=0xc000000080000000
dataoffset-$(CONFIG_SGI_IP27) += 0x01000000
else
load-$(CONFIG_SGI_IP27) += 0xffffffff8001c000
OBJCOPYFLAGS := --change-addresses=0xa800000080000000
endif
endif
endif endif
# #
......
...@@ -247,7 +247,6 @@ CONFIG_MMU=y ...@@ -247,7 +247,6 @@ CONFIG_MMU=y
# #
CONFIG_BINFMT_ELF=y CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set # CONFIG_BINFMT_MISC is not set
CONFIG_BUILD_ELF64=y
CONFIG_MIPS32_COMPAT=y CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y CONFIG_MIPS32_O32=y
......
...@@ -234,7 +234,6 @@ CONFIG_MMU=y ...@@ -234,7 +234,6 @@ CONFIG_MMU=y
# #
CONFIG_BINFMT_ELF=y CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set # CONFIG_BINFMT_MISC is not set
CONFIG_BUILD_ELF64=y
CONFIG_MIPS32_COMPAT=y CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y CONFIG_MIPS32_O32=y
......
...@@ -224,7 +224,6 @@ CONFIG_MMU=y ...@@ -224,7 +224,6 @@ CONFIG_MMU=y
# #
CONFIG_BINFMT_ELF=y CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y CONFIG_BINFMT_MISC=y
# CONFIG_BUILD_ELF64 is not set
CONFIG_MIPS32_COMPAT=y CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y CONFIG_MIPS32_O32=y
......
...@@ -220,7 +220,6 @@ CONFIG_MMU=y ...@@ -220,7 +220,6 @@ CONFIG_MMU=y
# #
CONFIG_BINFMT_ELF=y CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set # CONFIG_BINFMT_MISC is not set
# CONFIG_BUILD_ELF64 is not set
CONFIG_MIPS32_COMPAT=y CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y CONFIG_MIPS32_O32=y
......
...@@ -223,7 +223,6 @@ CONFIG_MMU=y ...@@ -223,7 +223,6 @@ CONFIG_MMU=y
# #
CONFIG_BINFMT_ELF=y CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set # CONFIG_BINFMT_MISC is not set
# CONFIG_BUILD_ELF64 is not set
CONFIG_MIPS32_COMPAT=y CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y CONFIG_MIPS32_O32=y
......
...@@ -247,7 +247,6 @@ CONFIG_MMU=y ...@@ -247,7 +247,6 @@ CONFIG_MMU=y
# #
CONFIG_BINFMT_ELF=y CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set # CONFIG_BINFMT_MISC is not set
# CONFIG_BUILD_ELF64 is not set
CONFIG_MIPS32_COMPAT=y CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y CONFIG_MIPS32_O32=y
......
...@@ -447,21 +447,10 @@ static inline void resource_init(void) ...@@ -447,21 +447,10 @@ static inline void resource_init(void)
{ {
int i; int i;
#if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64)
/*
* The 64bit code in 32bit object format trick can't represent
* 64bit wide relocations for linker script symbols.
*/
code_resource.start = CPHYSADDR(&_text);
code_resource.end = CPHYSADDR(&_etext) - 1;
data_resource.start = CPHYSADDR(&_etext);
data_resource.end = CPHYSADDR(&_edata) - 1;
#else
code_resource.start = virt_to_phys(&_text); code_resource.start = virt_to_phys(&_text);
code_resource.end = virt_to_phys(&_etext) - 1; code_resource.end = virt_to_phys(&_etext) - 1;
data_resource.start = virt_to_phys(&_etext); data_resource.start = virt_to_phys(&_etext);
data_resource.end = virt_to_phys(&_edata) - 1; data_resource.end = virt_to_phys(&_edata) - 1;
#endif
/* /*
* Request address space for all standard RAM. * Request address space for all standard RAM.
......
...@@ -951,7 +951,6 @@ build_get_pmde64(u32 **p, struct label **l, struct reloc **r, ...@@ -951,7 +951,6 @@ build_get_pmde64(u32 **p, struct label **l, struct reloc **r,
/* No i_nop needed here, since the next insn doesn't touch TMP. */ /* No i_nop needed here, since the next insn doesn't touch TMP. */
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
# ifdef CONFIG_BUILD_ELF64
/* /*
* 64 bit SMP running in XKPHYS has smp_processor_id() << 3 * 64 bit SMP running in XKPHYS has smp_processor_id() << 3
* stored in CONTEXT. * stored in CONTEXT.
...@@ -962,18 +961,6 @@ build_get_pmde64(u32 **p, struct label **l, struct reloc **r, ...@@ -962,18 +961,6 @@ build_get_pmde64(u32 **p, struct label **l, struct reloc **r,
i_daddu(p, ptr, ptr, tmp); i_daddu(p, ptr, ptr, tmp);
i_dmfc0(p, tmp, C0_BADVADDR); i_dmfc0(p, tmp, C0_BADVADDR);
i_ld(p, ptr, rel_lo(pgdc), ptr); i_ld(p, ptr, rel_lo(pgdc), ptr);
# else
/*
* 64 bit SMP running in compat space has the lower part of
* &pgd_current[smp_processor_id()] stored in CONTEXT.
*/
if (!in_compat_space_p(pgdc))
panic("Invalid page directory address!");
i_dmfc0(p, ptr, C0_CONTEXT);
i_dsra(p, ptr, ptr, 23);
i_ld(p, ptr, 0, ptr);
# endif
#else #else
i_LA_mostly(p, ptr, pgdc); i_LA_mostly(p, ptr, pgdc);
i_ld(p, ptr, rel_lo(pgdc), ptr); i_ld(p, ptr, rel_lo(pgdc), ptr);
......
...@@ -33,12 +33,7 @@ extern unsigned long pgd_current[]; ...@@ -33,12 +33,7 @@ extern unsigned long pgd_current[];
write_c0_context((unsigned long) smp_processor_id() << 25); \ write_c0_context((unsigned long) smp_processor_id() << 25); \
TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir) TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
#endif #endif
#if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) #ifdef CONFIG_64BIT
#define TLBMISS_HANDLER_SETUP() \
write_c0_context((unsigned long) &pgd_current[smp_processor_id()] << 23); \
TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
#endif
#if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64)
#define TLBMISS_HANDLER_SETUP() \ #define TLBMISS_HANDLER_SETUP() \
write_c0_context((unsigned long) smp_processor_id() << 26); \ write_c0_context((unsigned long) smp_processor_id() << 26); \
TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir) TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
......
...@@ -23,11 +23,7 @@ ...@@ -23,11 +23,7 @@
#include <linux/config.h> #include <linux/config.h>
#include <asm/addrspace.h> #include <asm/addrspace.h>
#ifdef CONFIG_BUILD_ELF64
#define REP_BASE CAC_BASE #define REP_BASE CAC_BASE
#else
#define REP_BASE CKSEG0
#endif
#ifdef CONFIG_MAPPED_KERNEL #ifdef CONFIG_MAPPED_KERNEL
......
...@@ -63,17 +63,7 @@ ...@@ -63,17 +63,7 @@
addu k1, k0 addu k1, k0
LONG_L k1, %lo(kernelsp)(k1) LONG_L k1, %lo(kernelsp)(k1)
#endif #endif
#if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) #ifdef CONFIG_64BIT
MFC0 k1, CP0_CONTEXT
dsra k1, 23
lui k0, %hi(pgd_current)
addiu k0, %lo(pgd_current)
dsubu k1, k0
lui k0, %hi(kernelsp)
daddu k1, k0
LONG_L k1, %lo(kernelsp)(k1)
#endif
#if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64)
MFC0 k1, CP0_CONTEXT MFC0 k1, CP0_CONTEXT
lui k0, %highest(kernelsp) lui k0, %highest(kernelsp)
dsrl k1, 23 dsrl k1, 23
...@@ -91,11 +81,7 @@ ...@@ -91,11 +81,7 @@
mfc0 \temp, CP0_CONTEXT mfc0 \temp, CP0_CONTEXT
srl \temp, 23 srl \temp, 23
#endif #endif
#if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) #ifdef CONFIG_64BIT
lw \temp, TI_CPU(gp)
dsll \temp, 3
#endif
#if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64)
MFC0 \temp, CP0_CONTEXT MFC0 \temp, CP0_CONTEXT
dsrl \temp, 23 dsrl \temp, 23
#endif #endif
...@@ -103,7 +89,7 @@ ...@@ -103,7 +89,7 @@
.endm .endm
#else #else
.macro get_saved_sp /* Uniprocessor variation */ .macro get_saved_sp /* Uniprocessor variation */
#if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) #ifdef CONFIG_64BIT
lui k1, %highest(kernelsp) lui k1, %highest(kernelsp)
daddiu k1, %higher(kernelsp) daddiu k1, %higher(kernelsp)
dsll k1, k1, 16 dsll k1, k1, 16
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment