[PATCH] mips: fixed MIPS Makefile

From: Yoichi Yuasa
Date: Tue Oct 19 2004 - 10:37:58 EST


The MIPS Makefile was changed so that the offset of data section
may not be dependent on a specific machine header file.

Signed-off-by: Yoichi Yuasa <yuasa@xxxxxxxxxxxxxx>

diff -urN -X dontdiff a-orig/arch/mips/Makefile a/arch/mips/Makefile
--- a-orig/arch/mips/Makefile Tue Oct 19 06:53:06 2004
+++ a/arch/mips/Makefile Tue Oct 19 23:33:51 2004
@@ -527,6 +527,7 @@
#load-$(CONFIG_SGI_IP27) += 0xa80000000001c000
ifdef CONFIG_MAPPED_KERNEL
load-$(CONFIG_SGI_IP27) += 0xc001c000
+dataoffset-$(CONFIG_SGI_IP27) += 0x01000000
else
load-$(CONFIG_SGI_IP27) += 0x8001c000
endif
@@ -625,6 +626,15 @@
endif

#
+# If you need data offset, please set up as follows.
+#
+# dataoffset-$(CONFIG_FOO) := <data offset value>
+#
+
+DATAOFFSET := $(shell if [ -z $(dataoffset-y) ] ; then echo "0"; \
+ else echo $(dataoffset-y); fi ;)
+
+#
# Some machines like the Indy need 32-bit ELF binaries for booting purposes.
# Other need ECOFF, so we build a 32-bit ELF binary for them which we then
# convert to ECOFF using elf2ecoff.
@@ -644,7 +654,7 @@
CPPFLAGS_vmlinux.lds := \
-D"LOADADDR=$(load-y)" \
-D"JIFFIES=$(JIFFIES)" \
- -imacros $(srctree)/include/asm-$(ARCH)/sn/mapped_kernel.h
+ -D"DATAOFFSET=$(DATAOFFSET)"

AFLAGS += $(cflags-y)
CFLAGS += $(cflags-y)
diff -urN -X dontdiff a-orig/arch/mips/kernel/vmlinux.lds.S a/arch/mips/kernel/vmlinux.lds.S
--- a-orig/arch/mips/kernel/vmlinux.lds.S Tue Oct 19 06:53:46 2004
+++ a/arch/mips/kernel/vmlinux.lds.S Tue Oct 19 23:08:15 2004
@@ -49,7 +49,7 @@

/* writeable */
.data : { /* Data */
- . = . + MAPPED_OFFSET; /* for CONFIG_MAPPED_KERNEL */
+ . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */
*(.data.init_task)

*(.data)
diff -urN -X dontdiff a-orig/include/asm-mips/sn/mapped_kernel.h a/include/asm-mips/sn/mapped_kernel.h
--- a-orig/include/asm-mips/sn/mapped_kernel.h Tue Oct 19 06:54:07 2004
+++ a/include/asm-mips/sn/mapped_kernel.h Tue Oct 19 23:08:15 2004
@@ -39,13 +39,11 @@
#define MAPPED_KERN_RW_TO_PHYS(x) \
((unsigned long)MAPPED_ADDR_RW_TO_PHYS(x) | \
MAPPED_KERN_RW_PHYSBASE(get_compact_nodeid()))
-#define MAPPED_OFFSET 16777216

#else /* CONFIG_MAPPED_KERNEL */

#define MAPPED_KERN_RO_TO_PHYS(x) (x - CKSEG0)
#define MAPPED_KERN_RW_TO_PHYS(x) (x - CKSEG0)
-#define MAPPED_OFFSET 0

#endif /* CONFIG_MAPPED_KERNEL */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/