Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 21974
b: refs/heads/master
c: 8145095
h: refs/heads/master
v: v3
  • Loading branch information
Ralf Baechle committed Mar 21, 2006
1 parent 7b3248a commit ada0f8f
Show file tree
Hide file tree
Showing 13 changed files with 14 additions and 76 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 219ac73a7ad17a3ae3d5c07b4fc8c280645a073a
refs/heads/master: 8145095cd8fd466980ea6401f26a52e462275222
27 changes: 9 additions & 18 deletions trunk/arch/mips/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -70,18 +70,20 @@ CHECKFLAGS-$(CONFIG_CPU_LITTLE_ENDIAN) += -D__MIPSEL__

CHECKFLAGS = $(CHECKFLAGS-y)

ifdef CONFIG_BUILD_ELF64
gas-abi = 64
ld-emul = $(64bit-emul)
vmlinux-32 = vmlinux.32
vmlinux-64 = vmlinux
else
ifdef CONFIG_32BIT
gas-abi = 32
ld-emul = $(32bit-emul)
vmlinux-32 = vmlinux
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

#
Expand Down Expand Up @@ -630,7 +632,6 @@ endif
ifdef CONFIG_SGI_IP27
core-$(CONFIG_SGI_IP27) += arch/mips/sgi-ip27/
cflags-$(CONFIG_SGI_IP27) += -Iinclude/asm-mips/mach-ip27
ifdef CONFIG_BUILD_ELF64
ifdef CONFIG_MAPPED_KERNEL
load-$(CONFIG_SGI_IP27) += 0xc00000004001c000
OBJCOPYFLAGS := --change-addresses=0x3fffffff80000000
Expand All @@ -639,16 +640,6 @@ else
load-$(CONFIG_SGI_IP27) += 0xa80000000001c000
OBJCOPYFLAGS := --change-addresses=0x57ffffff80000000
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

#
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/mips/configs/bigsur_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,6 @@ CONFIG_MMU=y
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BUILD_ELF64=y
CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/mips/configs/ip27_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,6 @@ CONFIG_MMU=y
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BUILD_ELF64=y
CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/mips/configs/ip32_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,6 @@ CONFIG_MMU=y
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
# CONFIG_BUILD_ELF64 is not set
CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/mips/configs/ocelot_c_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,6 @@ CONFIG_MMU=y
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_BUILD_ELF64 is not set
CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/mips/configs/ocelot_g_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,6 @@ CONFIG_MMU=y
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_BUILD_ELF64 is not set
CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/mips/configs/sb1250-swarm_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,6 @@ CONFIG_MMU=y
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_BUILD_ELF64 is not set
CONFIG_MIPS32_COMPAT=y
CONFIG_COMPAT=y
CONFIG_MIPS32_O32=y
Expand Down
11 changes: 0 additions & 11 deletions trunk/arch/mips/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -447,21 +447,10 @@ static inline void resource_init(void)
{
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.end = virt_to_phys(&_etext) - 1;
data_resource.start = virt_to_phys(&_etext);
data_resource.end = virt_to_phys(&_edata) - 1;
#endif

/*
* Request address space for all standard RAM.
Expand Down
13 changes: 0 additions & 13 deletions trunk/arch/mips/mm/tlbex.c
Original file line number Diff line number Diff line change
Expand Up @@ -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. */

#ifdef CONFIG_SMP
# ifdef CONFIG_BUILD_ELF64
/*
* 64 bit SMP running in XKPHYS has smp_processor_id() << 3
* stored in CONTEXT.
Expand All @@ -962,18 +961,6 @@ build_get_pmde64(u32 **p, struct label **l, struct reloc **r,
i_daddu(p, ptr, ptr, tmp);
i_dmfc0(p, tmp, C0_BADVADDR);
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
i_LA_mostly(p, ptr, pgdc);
i_ld(p, ptr, rel_lo(pgdc), ptr);
Expand Down
7 changes: 1 addition & 6 deletions trunk/include/asm-mips/mmu_context.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,7 @@ extern unsigned long pgd_current[];
write_c0_context((unsigned long) smp_processor_id() << 25); \
TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
#endif
#if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64)
#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)
#ifdef CONFIG_64BIT
#define TLBMISS_HANDLER_SETUP() \
write_c0_context((unsigned long) smp_processor_id() << 26); \
TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
Expand Down
4 changes: 0 additions & 4 deletions trunk/include/asm-mips/sn/mapped_kernel.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,7 @@
#include <linux/config.h>
#include <asm/addrspace.h>

#ifdef CONFIG_BUILD_ELF64
#define REP_BASE CAC_BASE
#else
#define REP_BASE CKSEG0
#endif

#ifdef CONFIG_MAPPED_KERNEL

Expand Down
20 changes: 3 additions & 17 deletions trunk/include/asm-mips/stackframe.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,7 @@
addu k1, k0
LONG_L k1, %lo(kernelsp)(k1)
#endif
#if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64)
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)
#ifdef CONFIG_64BIT
MFC0 k1, CP0_CONTEXT
lui k0, %highest(kernelsp)
dsrl k1, 23
Expand All @@ -91,19 +81,15 @@
mfc0 \temp, CP0_CONTEXT
srl \temp, 23
#endif
#if defined(CONFIG_64BIT) && !defined(CONFIG_BUILD_ELF64)
lw \temp, TI_CPU(gp)
dsll \temp, 3
#endif
#if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64)
#ifdef CONFIG_64BIT
MFC0 \temp, CP0_CONTEXT
dsrl \temp, 23
#endif
LONG_S \stackp, kernelsp(\temp)
.endm
#else
.macro get_saved_sp /* Uniprocessor variation */
#if defined(CONFIG_64BIT) && defined(CONFIG_BUILD_ELF64)
#ifdef CONFIG_64BIT
lui k1, %highest(kernelsp)
daddiu k1, %higher(kernelsp)
dsll k1, k1, 16
Expand Down

0 comments on commit ada0f8f

Please sign in to comment.