diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-02-22 18:06:55 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-03-21 08:27:46 -0500 |
commit | 8145095cd8fd466980ea6401f26a52e462275222 (patch) | |
tree | c6f8642c2137f5fb053f018185cfd15ff7a34c00 | |
parent | 219ac73a7ad17a3ae3d5c07b4fc8c280645a073a (diff) |
[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: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/Makefile | 27 | ||||
-rw-r--r-- | arch/mips/configs/bigsur_defconfig | 1 | ||||
-rw-r--r-- | arch/mips/configs/ip27_defconfig | 1 | ||||
-rw-r--r-- | arch/mips/configs/ip32_defconfig | 1 | ||||
-rw-r--r-- | arch/mips/configs/ocelot_c_defconfig | 1 | ||||
-rw-r--r-- | arch/mips/configs/ocelot_g_defconfig | 1 | ||||
-rw-r--r-- | arch/mips/configs/sb1250-swarm_defconfig | 1 | ||||
-rw-r--r-- | arch/mips/kernel/setup.c | 11 | ||||
-rw-r--r-- | arch/mips/mm/tlbex.c | 13 | ||||
-rw-r--r-- | include/asm-mips/mmu_context.h | 7 | ||||
-rw-r--r-- | include/asm-mips/sn/mapped_kernel.h | 4 | ||||
-rw-r--r-- | include/asm-mips/stackframe.h | 20 |
12 files changed, 13 insertions, 75 deletions
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 3d8dac681c63..c626dd5942f6 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile | |||
@@ -70,18 +70,20 @@ CHECKFLAGS-$(CONFIG_CPU_LITTLE_ENDIAN) += -D__MIPSEL__ | |||
70 | 70 | ||
71 | CHECKFLAGS = $(CHECKFLAGS-y) | 71 | CHECKFLAGS = $(CHECKFLAGS-y) |
72 | 72 | ||
73 | ifdef CONFIG_BUILD_ELF64 | 73 | ifdef CONFIG_32BIT |
74 | gas-abi = 64 | ||
75 | ld-emul = $(64bit-emul) | ||
76 | vmlinux-32 = vmlinux.32 | ||
77 | vmlinux-64 = vmlinux | ||
78 | else | ||
79 | gas-abi = 32 | 74 | gas-abi = 32 |
80 | ld-emul = $(32bit-emul) | 75 | ld-emul = $(32bit-emul) |
81 | vmlinux-32 = vmlinux | 76 | vmlinux-32 = vmlinux |
82 | vmlinux-64 = vmlinux.64 | 77 | vmlinux-64 = vmlinux.64 |
78 | endif | ||
83 | 79 | ||
84 | cflags-$(CONFIG_64BIT) += $(call cc-option,-mno-explicit-relocs) | 80 | ifdef CONFIG_64BIT |
81 | gas-abi = 64 | ||
82 | ld-emul = $(64bit-emul) | ||
83 | vmlinux-32 = vmlinux.32 | ||
84 | vmlinux-64 = vmlinux | ||
85 | |||
86 | cflags-y += $(call cc-option,-mno-explicit-relocs) | ||
85 | endif | 87 | endif |
86 | 88 | ||
87 | # | 89 | # |
@@ -630,7 +632,6 @@ endif | |||
630 | ifdef CONFIG_SGI_IP27 | 632 | ifdef CONFIG_SGI_IP27 |
631 | core-$(CONFIG_SGI_IP27) += arch/mips/sgi-ip27/ | 633 | core-$(CONFIG_SGI_IP27) += arch/mips/sgi-ip27/ |
632 | cflags-$(CONFIG_SGI_IP27) += -Iinclude/asm-mips/mach-ip27 | 634 | cflags-$(CONFIG_SGI_IP27) += -Iinclude/asm-mips/mach-ip27 |
633 | ifdef CONFIG_BUILD_ELF64 | ||
634 | ifdef CONFIG_MAPPED_KERNEL | 635 | ifdef CONFIG_MAPPED_KERNEL |
635 | load-$(CONFIG_SGI_IP27) += 0xc00000004001c000 | 636 | load-$(CONFIG_SGI_IP27) += 0xc00000004001c000 |
636 | OBJCOPYFLAGS := --change-addresses=0x3fffffff80000000 | 637 | OBJCOPYFLAGS := --change-addresses=0x3fffffff80000000 |
@@ -639,16 +640,6 @@ else | |||
639 | load-$(CONFIG_SGI_IP27) += 0xa80000000001c000 | 640 | load-$(CONFIG_SGI_IP27) += 0xa80000000001c000 |
640 | OBJCOPYFLAGS := --change-addresses=0x57ffffff80000000 | 641 | OBJCOPYFLAGS := --change-addresses=0x57ffffff80000000 |
641 | endif | 642 | endif |
642 | else | ||
643 | ifdef CONFIG_MAPPED_KERNEL | ||
644 | load-$(CONFIG_SGI_IP27) += 0xffffffffc001c000 | ||
645 | OBJCOPYFLAGS := --change-addresses=0xc000000080000000 | ||
646 | dataoffset-$(CONFIG_SGI_IP27) += 0x01000000 | ||
647 | else | ||
648 | load-$(CONFIG_SGI_IP27) += 0xffffffff8001c000 | ||
649 | OBJCOPYFLAGS := --change-addresses=0xa800000080000000 | ||
650 | endif | ||
651 | endif | ||
652 | endif | 643 | endif |
653 | 644 | ||
654 | # | 645 | # |
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig index 6fd353779813..e39f1da62976 100644 --- a/arch/mips/configs/bigsur_defconfig +++ b/arch/mips/configs/bigsur_defconfig | |||
@@ -247,7 +247,6 @@ CONFIG_MMU=y | |||
247 | # | 247 | # |
248 | CONFIG_BINFMT_ELF=y | 248 | CONFIG_BINFMT_ELF=y |
249 | # CONFIG_BINFMT_MISC is not set | 249 | # CONFIG_BINFMT_MISC is not set |
250 | CONFIG_BUILD_ELF64=y | ||
251 | CONFIG_MIPS32_COMPAT=y | 250 | CONFIG_MIPS32_COMPAT=y |
252 | CONFIG_COMPAT=y | 251 | CONFIG_COMPAT=y |
253 | CONFIG_MIPS32_O32=y | 252 | CONFIG_MIPS32_O32=y |
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig index 58c22cd344d3..009ec9d97738 100644 --- a/arch/mips/configs/ip27_defconfig +++ b/arch/mips/configs/ip27_defconfig | |||
@@ -234,7 +234,6 @@ CONFIG_MMU=y | |||
234 | # | 234 | # |
235 | CONFIG_BINFMT_ELF=y | 235 | CONFIG_BINFMT_ELF=y |
236 | # CONFIG_BINFMT_MISC is not set | 236 | # CONFIG_BINFMT_MISC is not set |
237 | CONFIG_BUILD_ELF64=y | ||
238 | CONFIG_MIPS32_COMPAT=y | 237 | CONFIG_MIPS32_COMPAT=y |
239 | CONFIG_COMPAT=y | 238 | CONFIG_COMPAT=y |
240 | CONFIG_MIPS32_O32=y | 239 | CONFIG_MIPS32_O32=y |
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig index a34db6e82b27..54afa2556f5f 100644 --- a/arch/mips/configs/ip32_defconfig +++ b/arch/mips/configs/ip32_defconfig | |||
@@ -224,7 +224,6 @@ CONFIG_MMU=y | |||
224 | # | 224 | # |
225 | CONFIG_BINFMT_ELF=y | 225 | CONFIG_BINFMT_ELF=y |
226 | CONFIG_BINFMT_MISC=y | 226 | CONFIG_BINFMT_MISC=y |
227 | # CONFIG_BUILD_ELF64 is not set | ||
228 | CONFIG_MIPS32_COMPAT=y | 227 | CONFIG_MIPS32_COMPAT=y |
229 | CONFIG_COMPAT=y | 228 | CONFIG_COMPAT=y |
230 | CONFIG_MIPS32_O32=y | 229 | CONFIG_MIPS32_O32=y |
diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig index e8d6bb3551a2..a8fc4c6c10c9 100644 --- a/arch/mips/configs/ocelot_c_defconfig +++ b/arch/mips/configs/ocelot_c_defconfig | |||
@@ -220,7 +220,6 @@ CONFIG_MMU=y | |||
220 | # | 220 | # |
221 | CONFIG_BINFMT_ELF=y | 221 | CONFIG_BINFMT_ELF=y |
222 | # CONFIG_BINFMT_MISC is not set | 222 | # CONFIG_BINFMT_MISC is not set |
223 | # CONFIG_BUILD_ELF64 is not set | ||
224 | CONFIG_MIPS32_COMPAT=y | 223 | CONFIG_MIPS32_COMPAT=y |
225 | CONFIG_COMPAT=y | 224 | CONFIG_COMPAT=y |
226 | CONFIG_MIPS32_O32=y | 225 | CONFIG_MIPS32_O32=y |
diff --git a/arch/mips/configs/ocelot_g_defconfig b/arch/mips/configs/ocelot_g_defconfig index b6126ad4d06d..dab6c896fbb7 100644 --- a/arch/mips/configs/ocelot_g_defconfig +++ b/arch/mips/configs/ocelot_g_defconfig | |||
@@ -223,7 +223,6 @@ CONFIG_MMU=y | |||
223 | # | 223 | # |
224 | CONFIG_BINFMT_ELF=y | 224 | CONFIG_BINFMT_ELF=y |
225 | # CONFIG_BINFMT_MISC is not set | 225 | # CONFIG_BINFMT_MISC is not set |
226 | # CONFIG_BUILD_ELF64 is not set | ||
227 | CONFIG_MIPS32_COMPAT=y | 226 | CONFIG_MIPS32_COMPAT=y |
228 | CONFIG_COMPAT=y | 227 | CONFIG_COMPAT=y |
229 | CONFIG_MIPS32_O32=y | 228 | CONFIG_MIPS32_O32=y |
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig index 52048c906079..6481fb2426f6 100644 --- a/arch/mips/configs/sb1250-swarm_defconfig +++ b/arch/mips/configs/sb1250-swarm_defconfig | |||
@@ -247,7 +247,6 @@ CONFIG_MMU=y | |||
247 | # | 247 | # |
248 | CONFIG_BINFMT_ELF=y | 248 | CONFIG_BINFMT_ELF=y |
249 | # CONFIG_BINFMT_MISC is not set | 249 | # CONFIG_BINFMT_MISC is not set |
250 | # CONFIG_BUILD_ELF64 is not set | ||
251 | CONFIG_MIPS32_COMPAT=y | 250 | CONFIG_MIPS32_COMPAT=y |
252 | CONFIG_COMPAT=y | 251 | CONFIG_COMPAT=y |
253 | CONFIG_MIPS32_O32=y | 252 | CONFIG_MIPS32_O32=y |
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index d9293c558e41..0cb3b6097e0e 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c | |||
@@ -447,21 +447,10 @@ static inline void resource_init(void) | |||
447 | { | 447 | { |
448 | int i; | 448 | int i; |
449 | 449 | ||
450 | #if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) | ||
451 | /* | ||
452 | * The 64bit code in 32bit object format trick can't represent | ||
453 | * 64bit wide relocations for linker script symbols. | ||
454 | */ | ||
455 | code_resource.start = CPHYSADDR(&_text); | ||
456 | code_resource.end = CPHYSADDR(&_etext) - 1; | ||
457 | data_resource.start = CPHYSADDR(&_etext); | ||
458 | data_resource.end = CPHYSADDR(&_edata) - 1; | ||
459 | #else | ||
460 | code_resource.start = virt_to_phys(&_text); | 450 | code_resource.start = virt_to_phys(&_text); |
461 | code_resource.end = virt_to_phys(&_etext) - 1; | 451 | code_resource.end = virt_to_phys(&_etext) - 1; |
462 | data_resource.start = virt_to_phys(&_etext); | 452 | data_resource.start = virt_to_phys(&_etext); |
463 | data_resource.end = virt_to_phys(&_edata) - 1; | 453 | data_resource.end = virt_to_phys(&_edata) - 1; |
464 | #endif | ||
465 | 454 | ||
466 | /* | 455 | /* |
467 | * Request address space for all standard RAM. | 456 | * Request address space for all standard RAM. |
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index ac4f4bfaae50..599b3c297186 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c | |||
@@ -951,7 +951,6 @@ build_get_pmde64(u32 **p, struct label **l, struct reloc **r, | |||
951 | /* No i_nop needed here, since the next insn doesn't touch TMP. */ | 951 | /* No i_nop needed here, since the next insn doesn't touch TMP. */ |
952 | 952 | ||
953 | #ifdef CONFIG_SMP | 953 | #ifdef CONFIG_SMP |
954 | # ifdef CONFIG_BUILD_ELF64 | ||
955 | /* | 954 | /* |
956 | * 64 bit SMP running in XKPHYS has smp_processor_id() << 3 | 955 | * 64 bit SMP running in XKPHYS has smp_processor_id() << 3 |
957 | * stored in CONTEXT. | 956 | * stored in CONTEXT. |
@@ -962,18 +961,6 @@ build_get_pmde64(u32 **p, struct label **l, struct reloc **r, | |||
962 | i_daddu(p, ptr, ptr, tmp); | 961 | i_daddu(p, ptr, ptr, tmp); |
963 | i_dmfc0(p, tmp, C0_BADVADDR); | 962 | i_dmfc0(p, tmp, C0_BADVADDR); |
964 | i_ld(p, ptr, rel_lo(pgdc), ptr); | 963 | i_ld(p, ptr, rel_lo(pgdc), ptr); |
965 | # else | ||
966 | /* | ||
967 | * 64 bit SMP running in compat space has the lower part of | ||
968 | * &pgd_current[smp_processor_id()] stored in CONTEXT. | ||
969 | */ | ||
970 | if (!in_compat_space_p(pgdc)) | ||
971 | panic("Invalid page directory address!"); | ||
972 | |||
973 | i_dmfc0(p, ptr, C0_CONTEXT); | ||
974 | i_dsra(p, ptr, ptr, 23); | ||
975 | i_ld(p, ptr, 0, ptr); | ||
976 | # endif | ||
977 | #else | 964 | #else |
978 | i_LA_mostly(p, ptr, pgdc); | 965 | i_LA_mostly(p, ptr, pgdc); |
979 | i_ld(p, ptr, rel_lo(pgdc), ptr); | 966 | i_ld(p, ptr, rel_lo(pgdc), ptr); |
diff --git a/include/asm-mips/mmu_context.h b/include/asm-mips/mmu_context.h index 19cdf7642e66..61cf22588137 100644 --- a/include/asm-mips/mmu_context.h +++ b/include/asm-mips/mmu_context.h | |||
@@ -33,12 +33,7 @@ extern unsigned long pgd_current[]; | |||
33 | write_c0_context((unsigned long) smp_processor_id() << 25); \ | 33 | write_c0_context((unsigned long) smp_processor_id() << 25); \ |
34 | TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir) | 34 | TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir) |
35 | #endif | 35 | #endif |
36 | #if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) | 36 | #ifdef CONFIG_64BIT |
37 | #define TLBMISS_HANDLER_SETUP() \ | ||
38 | write_c0_context((unsigned long) &pgd_current[smp_processor_id()] << 23); \ | ||
39 | TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir) | ||
40 | #endif | ||
41 | #if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) | ||
42 | #define TLBMISS_HANDLER_SETUP() \ | 37 | #define TLBMISS_HANDLER_SETUP() \ |
43 | write_c0_context((unsigned long) smp_processor_id() << 26); \ | 38 | write_c0_context((unsigned long) smp_processor_id() << 26); \ |
44 | TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir) | 39 | TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir) |
diff --git a/include/asm-mips/sn/mapped_kernel.h b/include/asm-mips/sn/mapped_kernel.h index 3a17846df849..59edb20f8ec5 100644 --- a/include/asm-mips/sn/mapped_kernel.h +++ b/include/asm-mips/sn/mapped_kernel.h | |||
@@ -23,11 +23,7 @@ | |||
23 | #include <linux/config.h> | 23 | #include <linux/config.h> |
24 | #include <asm/addrspace.h> | 24 | #include <asm/addrspace.h> |
25 | 25 | ||
26 | #ifdef CONFIG_BUILD_ELF64 | ||
27 | #define REP_BASE CAC_BASE | 26 | #define REP_BASE CAC_BASE |
28 | #else | ||
29 | #define REP_BASE CKSEG0 | ||
30 | #endif | ||
31 | 27 | ||
32 | #ifdef CONFIG_MAPPED_KERNEL | 28 | #ifdef CONFIG_MAPPED_KERNEL |
33 | 29 | ||
diff --git a/include/asm-mips/stackframe.h b/include/asm-mips/stackframe.h index a8919dcc93c8..2acf3e844f00 100644 --- a/include/asm-mips/stackframe.h +++ b/include/asm-mips/stackframe.h | |||
@@ -63,17 +63,7 @@ | |||
63 | addu k1, k0 | 63 | addu k1, k0 |
64 | LONG_L k1, %lo(kernelsp)(k1) | 64 | LONG_L k1, %lo(kernelsp)(k1) |
65 | #endif | 65 | #endif |
66 | #if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) | 66 | #ifdef CONFIG_64BIT |
67 | MFC0 k1, CP0_CONTEXT | ||
68 | dsra k1, 23 | ||
69 | lui k0, %hi(pgd_current) | ||
70 | addiu k0, %lo(pgd_current) | ||
71 | dsubu k1, k0 | ||
72 | lui k0, %hi(kernelsp) | ||
73 | daddu k1, k0 | ||
74 | LONG_L k1, %lo(kernelsp)(k1) | ||
75 | #endif | ||
76 | #if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) | ||
77 | MFC0 k1, CP0_CONTEXT | 67 | MFC0 k1, CP0_CONTEXT |
78 | lui k0, %highest(kernelsp) | 68 | lui k0, %highest(kernelsp) |
79 | dsrl k1, 23 | 69 | dsrl k1, 23 |
@@ -91,11 +81,7 @@ | |||
91 | mfc0 \temp, CP0_CONTEXT | 81 | mfc0 \temp, CP0_CONTEXT |
92 | srl \temp, 23 | 82 | srl \temp, 23 |
93 | #endif | 83 | #endif |
94 | #if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64) | 84 | #ifdef CONFIG_64BIT |
95 | lw \temp, TI_CPU(gp) | ||
96 | dsll \temp, 3 | ||
97 | #endif | ||
98 | #if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) | ||
99 | MFC0 \temp, CP0_CONTEXT | 85 | MFC0 \temp, CP0_CONTEXT |
100 | dsrl \temp, 23 | 86 | dsrl \temp, 23 |
101 | #endif | 87 | #endif |
@@ -103,7 +89,7 @@ | |||
103 | .endm | 89 | .endm |
104 | #else | 90 | #else |
105 | .macro get_saved_sp /* Uniprocessor variation */ | 91 | .macro get_saved_sp /* Uniprocessor variation */ |
106 | #if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64) | 92 | #ifdef CONFIG_64BIT |
107 | lui k1, %highest(kernelsp) | 93 | lui k1, %highest(kernelsp) |
108 | daddiu k1, %higher(kernelsp) | 94 | daddiu k1, %higher(kernelsp) |
109 | dsll k1, k1, 16 | 95 | dsll k1, k1, 16 |