patch-2.4.2 linux/arch/cris/cris.ld

Next file: linux/arch/cris/defconfig
Previous file: linux/arch/cris/config.in
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.1/linux/arch/cris/cris.ld linux/arch/cris/cris.ld
@@ -0,0 +1,81 @@
+/* ld script to make the Linux/CRIS kernel
+ * Authors: Bjorn Wesen (bjornw@axis.com)
+ *
+ * For now, on Etrax-100 LX, the DRAM starts virtually at 0x6. Normally
+ * it should be at 0xc.
+ */	
+
+SECTIONS
+{
+	. = 0x60000000;               /* DRAM starts virtually at 0x60000000 */
+	_dram_start = .;
+	_ibr_start = .;
+	. = . + 0x4000; /* see head.S and pages reserved at the start */
+
+	_text = .;                    /* Text and read-only data */
+	_text_start = .;              /* lots of aliases */
+	_stext = .;
+	__stext = .;
+	.text : {
+		*(.text)
+		*(.fixup)
+		*(.text.__*)
+		*(.rodata)
+	}
+
+	. = ALIGN(4);                /* Exception table */
+  	__start___ex_table = .;
+  	__ex_table : { *(__ex_table) }
+  	__stop___ex_table = .;
+
+	_etext = . ;                  /* End of text section */ 
+	__etext = .;
+
+	. = ALIGN (4);
+	___data_rom_start = . ;
+	___data_start = . ;
+	__Sdata = . ;
+	.data : {                     /* Data */
+		*(.data)
+	}
+	__edata = . ;                 /* End of data section */
+	_edata = . ;
+
+	. = ALIGN(8192);              /* init_task and stack, must be aligned */
+  	.data.init_task : { *(.data.init_task) }
+
+  	. = ALIGN(8192);              /* Init code and data */
+  	___init_begin = .;
+  	.text.init : { *(.text.init) }
+  	.data.init : { *(.data.init) }
+  	. = ALIGN(16);
+  	___setup_start = .;
+  	.setup.init : { *(.setup.init) }
+  	___setup_end = .;
+  	___initcall_start = .;
+  	.initcall.init : { *(.initcall.init) }
+  	___initcall_end = .;
+	__vmlinux_end = .;            /* last address of the physical file */
+  	. = ALIGN(8192);
+  	___init_end = .;
+
+	__data_end = . ;              /* Move to _edata ? */
+	__bss_start = .;              /* BSS */
+	.bss : {
+		*(COMMON)
+		*(.bss)
+	}
+
+	. =  ALIGN (0x20);
+	_end = .;
+	__end = .;
+
+	/* Sections to be discarded */
+  	/DISCARD/ : {
+        	*(.text.exit)
+        	*(.data.exit)
+		*(.exitcall.exit)
+        }
+
+	_dram_end = 0x60000000 + @ETRAX_DRAM_SIZE_M@*1024*1024;
+}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)