aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2010-11-23 16:06:25 +0100
committerRalf Baechle <ralf@linux-mips.org>2011-01-18 19:30:21 +0100
commit487d70d0b8bd1c70d099a7526077ffefee412050 (patch)
treee8ea4a5830fa88dca0a903b6bdf1f14e3ee119eb /arch/mips/kernel/vmlinux.lds.S
parentMIPS: Use printf extension %pR for struct resource (diff)
downloadlinux-dev-487d70d0b8bd1c70d099a7526077ffefee412050.tar.xz
linux-dev-487d70d0b8bd1c70d099a7526077ffefee412050.zip
MIPS: Add generic support for multiple machines within a single kernel
This patch adds a generic solution to support multiple machines based on a given SoC within a single kernel image. It is implemented already for several other architectures but MIPS has no generic support for that yet. [Ralf: This competes with DT but DT is a much more complex solution and this code has been used by OpenWRT for a long time so for now DT is a bad reason to stop the merge but longer term this should be migrated to DT.] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Cc: linux-mips@linux-mips.org Cc: kaloz@openwrt.org Cc: Luis R. Rodriguez <lrodriguez@atheros.com> Cc: Cliff Holden <Cliff.Holden@Atheros.com> Patchwork: https://patchwork.linux-mips.org/patch/1814/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/vmlinux.lds.S')
-rw-r--r--arch/mips/kernel/vmlinux.lds.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index f25df73db923..570607b376b5 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -98,6 +98,13 @@ SECTIONS
INIT_TEXT_SECTION(PAGE_SIZE)
INIT_DATA_SECTION(16)
+ . = ALIGN(4);
+ .mips.machines.init : AT(ADDR(.mips.machines.init) - LOAD_OFFSET) {
+ __mips_machines_start = .;
+ *(.mips.machines.init)
+ __mips_machines_end = .;
+ }
+
/* .exit.text is discarded at runtime, not link time, to deal with
* references from .rodata
*/