summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-08-29 05:13:22 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2011-08-29 05:13:22 +0200
commit9a91d51f24b366181d1a953c84232871125c6666 (patch)
treea1bb1400683406ed20cb9177698ec6c91ff6ad27 /target
parenta3f13b147ab6e48be91dedbe116411196f1448b0 (diff)
parent83b06f4f07ae26ef02fd909f18288f43ed4c3c29 (diff)
resolve conflict
Diffstat (limited to 'target')
-rw-r--r--target/config/Config.in1
-rw-r--r--target/linux/config/Config.in.systems8
-rw-r--r--target/linux/patches/2.6.39/mips-malta.patch135
-rw-r--r--target/mips/Makefile12
-rw-r--r--target/mips/sys-available/qemu-mipsel1
5 files changed, 152 insertions, 5 deletions
diff --git a/target/config/Config.in b/target/config/Config.in
index d2e55fe52..ee2c5222d 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -333,6 +333,7 @@ config ADK_TARGET_CMDLINE
default "console=ttyS0,115200 console=tty0 geodewdt.nowayout=1" if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_IBM_X40
default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_INTEL_ATOM
+ default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_X86
default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_FOXBOARD_LX
diff --git a/target/linux/config/Config.in.systems b/target/linux/config/Config.in.systems
index 8750ac281..369727277 100644
--- a/target/linux/config/Config.in.systems
+++ b/target/linux/config/Config.in.systems
@@ -1,3 +1,10 @@
+# page size
+config ADK_KERNEL_PAGE_SIZE_4KB
+ boolean
+
+config ADK_KERNEL_PAGE_SIZE_16KB
+ boolean
+
# mips systems
config ADK_KERNEL_ATHEROS_AR231X
boolean
@@ -37,6 +44,7 @@ config ADK_KERNEL_ARCH_AT91SAM9G20
config ADK_KERNEL_MACH_ACMENETUSFOXG20
boolean
+# endianesss and ABI
config ADK_KERNEL_AEABI
boolean
diff --git a/target/linux/patches/2.6.39/mips-malta.patch b/target/linux/patches/2.6.39/mips-malta.patch
new file mode 100644
index 000000000..cc8789dca
--- /dev/null
+++ b/target/linux/patches/2.6.39/mips-malta.patch
@@ -0,0 +1,135 @@
+http://lkml.indiana.edu/hypermail/linux/kernel/1105.3/02199.html
+
+diff -Nur linux-2.6.39.orig/arch/mips/include/asm/smp-ops.h linux-2.6.39/arch/mips/include/asm/smp-ops.h
+--- linux-2.6.39.orig/arch/mips/include/asm/smp-ops.h 2011-05-19 06:06:34.000000000 +0200
++++ linux-2.6.39/arch/mips/include/asm/smp-ops.h 2011-08-29 04:39:03.360480881 +0200
+@@ -56,8 +56,43 @@
+
+ #endif /* !CONFIG_SMP */
+
+-extern struct plat_smp_ops up_smp_ops;
+-extern struct plat_smp_ops cmp_smp_ops;
+-extern struct plat_smp_ops vsmp_smp_ops;
++static inline int register_up_smp_ops(void)
++{
++#ifdef CONFIG_SMP_UP
++ extern struct plat_smp_ops up_smp_ops;
++
++ register_smp_ops(&up_smp_ops);
++
++ return 0;
++#else
++ return -ENODEV;
++#endif
++}
++
++static inline int register_cmp_smp_ops(void)
++{
++#ifdef CONFIG_MIPS_CMP
++ extern struct plat_smp_ops cmp_smp_ops;
++
++ register_smp_ops(&cmp_smp_ops);
++
++ return 0;
++#else
++ return -ENODEV;
++#endif
++}
++
++static inline int register_vsmp_smp_ops(void)
++{
++#ifdef CONFIG_MIPS_MT_SMP
++ extern struct plat_smp_ops vsmp_smp_ops;
++
++ register_smp_ops(&vsmp_smp_ops);
++
++ return 0;
++#else
++ return -ENODEV;
++#endif
++}
+
+ #endif /* __ASM_SMP_OPS_H */
+diff -Nur linux-2.6.39.orig/arch/mips/mipssim/sim_setup.c linux-2.6.39/arch/mips/mipssim/sim_setup.c
+--- linux-2.6.39.orig/arch/mips/mipssim/sim_setup.c 2011-05-19 06:06:34.000000000 +0200
++++ linux-2.6.39/arch/mips/mipssim/sim_setup.c 2011-08-29 04:39:03.390480572 +0200
+@@ -59,18 +59,17 @@
+
+ prom_meminit();
+
+-#ifdef CONFIG_MIPS_MT_SMP
+- if (cpu_has_mipsmt)
+- register_smp_ops(&vsmp_smp_ops);
+- else
+- register_smp_ops(&up_smp_ops);
+-#endif
++ if (cpu_has_mipsmt) {
++ if (!register_vsmp_smp_ops())
++ return;
++
+ #ifdef CONFIG_MIPS_MT_SMTC
+- if (cpu_has_mipsmt)
+ register_smp_ops(&ssmtc_smp_ops);
+- else
+- register_smp_ops(&up_smp_ops);
++ return;
+ #endif
++ }
++
++ register_up_smp_ops();
+ }
+
+ static void __init serial_init(void)
+diff -Nur linux-2.6.39.orig/arch/mips/mti-malta/malta-init.c linux-2.6.39/arch/mips/mti-malta/malta-init.c
+--- linux-2.6.39.orig/arch/mips/mti-malta/malta-init.c 2011-05-19 06:06:34.000000000 +0200
++++ linux-2.6.39/arch/mips/mti-malta/malta-init.c 2011-08-29 04:39:03.700480601 +0200
+@@ -29,6 +29,7 @@
+ #include <asm/system.h>
+ #include <asm/cacheflush.h>
+ #include <asm/traps.h>
++#include <asm/smp-ops.h>
+
+ #include <asm/gcmpregs.h>
+ #include <asm/mips-boards/prom.h>
+@@ -358,15 +359,14 @@
+ #ifdef CONFIG_SERIAL_8250_CONSOLE
+ console_config();
+ #endif
+-#ifdef CONFIG_MIPS_CMP
+ /* Early detection of CMP support */
+ if (gcmp_probe(GCMP_BASE_ADDR, GCMP_ADDRSPACE_SZ))
+- register_smp_ops(&cmp_smp_ops);
+- else
+-#endif
+-#ifdef CONFIG_MIPS_MT_SMP
+- register_smp_ops(&vsmp_smp_ops);
+-#endif
++ if (!register_cmp_smp_ops())
++ return;
++
++ if (!register_vsmp_smp_ops())
++ return;
++
+ #ifdef CONFIG_MIPS_MT_SMTC
+ register_smp_ops(&msmtc_smp_ops);
+ #endif
+diff -Nur linux-2.6.39.orig/arch/mips/pmc-sierra/msp71xx/msp_setup.c linux-2.6.39/arch/mips/pmc-sierra/msp71xx/msp_setup.c
+--- linux-2.6.39.orig/arch/mips/pmc-sierra/msp71xx/msp_setup.c 2011-05-19 06:06:34.000000000 +0200
++++ linux-2.6.39/arch/mips/pmc-sierra/msp71xx/msp_setup.c 2011-08-29 04:39:03.790480302 +0200
+@@ -228,13 +228,11 @@
+ */
+ msp_serial_setup();
+
+-#ifdef CONFIG_MIPS_MT_SMP
+- register_smp_ops(&vsmp_smp_ops);
+-#endif
+-
++ if (register_vsmp_smp_ops()) {
+ #ifdef CONFIG_MIPS_MT_SMTC
+- register_smp_ops(&msp_smtc_smp_ops);
++ register_smp_ops(&msp_smtc_smp_ops);
+ #endif
++ }
+
+ #ifdef CONFIG_PMCTWILED
+ /*
diff --git a/target/mips/Makefile b/target/mips/Makefile
index 00a3e8bdc..97533275a 100644
--- a/target/mips/Makefile
+++ b/target/mips/Makefile
@@ -98,6 +98,8 @@ imageinstall: kernel-install $(BIN_DIR)/$(ROOTFSTARBALL)
endif
ifeq ($(ADK_TARGET_FS),archive)
imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
+ @cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
+ @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}'
@echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)"
ifneq ($(ADK_HARDWARE_QEMU),)
@echo "Use following command to create a QEMU Image:"
@@ -152,12 +154,12 @@ imageinstall: kernel-install ${BUILD_DIR}/${ROOTFSSQUASHFS}
echo The image file is $(ROOTFSSQUASHFS); \
fi
ifeq ($(ADK_TARGET_SYSTEM_FON_FON2100),y)
- echo The kernel file is $(TARGET_KERNEL)
+ echo The kernel file is $(TARGET_KERNEL)
endif
ifeq ($(ADK_TARGET_SYSTEM_BROADCOM_BCM47XX),y)
- echo 'You can flash the image via tftp:'
- echo 'tftp 192.168.1.1'
- echo 'tftp> binary'
- echo "tftp> put $(ROOTFSSQUASHFS) upgrade_code.bin"
+ echo 'You can flash the image via tftp:'
+ echo 'tftp 192.168.1.1'
+ echo 'tftp> binary'
+ echo "tftp> put $(ROOTFSSQUASHFS) upgrade_code.bin"
endif
endif
diff --git a/target/mips/sys-available/qemu-mipsel b/target/mips/sys-available/qemu-mipsel
index fe64a6db2..918ec223e 100644
--- a/target/mips/sys-available/qemu-mipsel
+++ b/target/mips/sys-available/qemu-mipsel
@@ -4,6 +4,7 @@ config ADK_TARGET_SYSTEM_QEMU_MIPSEL
select ADK_qemu_mipsel
select ADK_little
select ADK_KERNEL_MIPS_MALTA
+ select ADK_KERNEL_PAGE_SIZE_4KB
select ADK_KERNEL_CPU_LITTLE_ENDIAN
select ADK_HARDWARE_QEMU
select ADK_TARGET_WITH_VGA