Skip to contentSkip to conversation

m68k: add architecture-specific u-boot.lds

PATCH In review Angelo Dureghello 2 participants 2 messages Mar 29, 2015 – Apr 23, 2015 m68k architecture

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 m68k: add architecture-specific u-boot.lds

Add architecture-specific u-boot.lds and remove all board-specific u-boot.lds.

All the .text customization that was board-specific have been moved inside the related include/configs, inside a LDS_BOARD_TEXT define.

---
 arch/m68k/cpu/u-boot.lds             | 91 ++++++++++++++++++++++++++++++++++++
 board/BuS/eb_cpu5282/u-boot.lds      | 82 --------------------------------
 board/astro/mcf5373l/u-boot.lds      | 86 ----------------------------------
 board/cobra5272/u-boot.lds           | 85 ---------------------------------
 board/freescale/m5208evbe/u-boot.lds | 86 ----------------------------------
 board/freescale/m52277evb/u-boot.lds | 85 ---------------------------------
 board/freescale/m5235evb/u-boot.lds  | 85 ---------------------------------
 board/freescale/m5249evb/u-boot.lds  | 85 ---------------------------------
 board/freescale/m5253demo/u-boot.lds | 86 ----------------------------------
 board/freescale/m5253evbe/u-boot.lds | 85 ---------------------------------
 board/freescale/m5272c3/u-boot.lds   | 85 ---------------------------------
 board/freescale/m5275evb/u-boot.lds  | 85 ---------------------------------
 board/freescale/m5282evb/u-boot.lds  | 85 ---------------------------------
 board/freescale/m53017evb/u-boot.lds | 86 ----------------------------------
 board/freescale/m5329evb/u-boot.lds  | 86 ----------------------------------
 board/freescale/m5373evb/u-boot.lds  | 86 ----------------------------------
 board/freescale/m54418twr/u-boot.lds | 83 --------------------------------
 board/freescale/m54451evb/u-boot.lds | 83 --------------------------------
 board/freescale/m54455evb/u-boot.lds | 83 --------------------------------
 board/freescale/m547xevb/u-boot.lds  | 83 --------------------------------
 board/freescale/m548xevb/u-boot.lds  | 83 --------------------------------
 board/sysam/amcore/u-boot.lds        | 87 ----------------------------------
 include/configs/M5208EVBE.h          |  4 ++
 include/configs/M52277EVB.h          |  4 ++
 include/configs/M5235EVB.h           |  5 ++
 include/configs/M5249EVB.h           |  5 ++
 include/configs/M5253DEMO.h          |  4 ++
 include/configs/M5253EVBE.h          |  5 ++
 include/configs/M5272C3.h            |  4 ++
 include/configs/M5275EVB.h           |  4 ++
 include/configs/M5282EVB.h           |  4 ++
 include/configs/M53017EVB.h          |  4 ++
 include/configs/M5329EVB.h           |  4 ++
 include/configs/M5373EVB.h           |  4 ++
 include/configs/amcore.h             |  4 ++
 include/configs/astro_mcf5373l.h     |  4 ++
 include/configs/cobra5272.h          |  3 ++
 37 files changed, 153 insertions(+), 1780 deletions(-)
 create mode 100644 arch/m68k/cpu/u-boot.lds
 delete mode 100644 board/BuS/eb_cpu5282/u-boot.lds
 delete mode 100644 board/astro/mcf5373l/u-boot.lds
 delete mode 100644 board/cobra5272/u-boot.lds
 delete mode 100644 board/freescale/m5208evbe/u-boot.lds
 delete mode 100644 board/freescale/m52277evb/u-boot.lds
 delete mode 100644 board/freescale/m5235evb/u-boot.lds
 delete mode 100644 board/freescale/m5249evb/u-boot.lds
 delete mode 100644 board/freescale/m5253demo/u-boot.lds
 delete mode 100644 board/freescale/m5253evbe/u-boot.lds
 delete mode 100644 board/freescale/m5272c3/u-boot.lds
 delete mode 100644 board/freescale/m5275evb/u-boot.lds
 delete mode 100644 board/freescale/m5282evb/u-boot.lds
 delete mode 100644 board/freescale/m53017evb/u-boot.lds
 delete mode 100644 board/freescale/m5329evb/u-boot.lds
 delete mode 100644 board/freescale/m5373evb/u-boot.lds
 delete mode 100644 board/freescale/m54418twr/u-boot.lds
 delete mode 100644 board/freescale/m54451evb/u-boot.lds
 delete mode 100644 board/freescale/m54455evb/u-boot.lds
 delete mode 100644 board/freescale/m547xevb/u-boot.lds
 delete mode 100644 board/freescale/m548xevb/u-boot.lds
 delete mode 100644 board/sysam/amcore/u-boot.lds
arch/m68k/cpu/u-boot.lds new file +91 -0
new file mode 100644
index 0000000..d8dc715
@@ -0,0 +1,91 @@
+/*
+ * (C) Copyright 2000
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+ * (C) Copyright 2015
+ * Angelo Dureghello, Sysam Firmware, angelo at sysam.it
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <config.h>
+
+OUTPUT_ARCH(m68k)
+
+#ifndef LDS_BOARD_TEXT
+#define LDS_BOARD_TEXT
+#endif
+
+SECTIONS
+{
+	.text :
+	{
+		CPUDIR/start.o (.text*)
+		LDS_BOARD_TEXT
+
+		*(.text*)
+	}
+	_etext = .;
+	PROVIDE (etext = .);
+	.rodata :
+	{
+		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
+	}
+
+	/* Read-write section, merged into data segment: */
+	. = (. + 0x00FF) & 0xFFFFFF00;
+	_erotext = .;
+	PROVIDE (erotext = .);
+
+	.reloc :
+	{
+		__got_start = .;
+		KEEP(*(.got))
+		__got_end = .;
+		_GOT2_TABLE_ = .;
+		KEEP(*(.got2))
+		_FIXUP_TABLE_ = .;
+		KEEP(*(.fixup))
+	}
+	__got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
+	__fixup_entries = (. - _FIXUP_TABLE_)>>2;
+
+	.data :
+	{
+		*(.data*)
+		*(.sdata*)
+	}
+	_edata = .;
+	PROVIDE (edata = .);
+
+	. = .;
+
+	. = ALIGN(4);
+	.u_boot_list : {
+		KEEP(*(SORT(.u_boot_list*)));
+	}
+
+	. = .;
+	__start___ex_table = .;
+	__ex_table : { *(__ex_table) }
+	__stop___ex_table = .;
+
+	. = ALIGN(256);
+	__init_begin = .;
+	.text.init : { *(.text.init) }
+	.data.init : { *(.data.init) }
+	. = ALIGN(256);
+	__init_end = .;
+
+	__bss_start = .;
+	.bss (NOLOAD)       :
+	{
+		_sbss = .;
+		*(.bss*)
+		*(.sbss*)
+		*(COMMON)
+		. = ALIGN(4);
+		_ebss = .;
+	}
+	__bss_end = . ;
+	PROVIDE (end = .);
+}
board/BuS/eb_cpu5282/u-boot.lds deleted +0 -82

82 lines not on this page · raw message

board/astro/mcf5373l/u-boot.lds deleted +0 -86

86 lines not on this page · raw message

board/cobra5272/u-boot.lds deleted +0 -85

85 lines not on this page · raw message

board/freescale/m5208evbe/u-boot.lds deleted +0 -86

86 lines not on this page · raw message

board/freescale/m52277evb/u-boot.lds deleted +0 -85

85 lines not on this page · raw message

board/freescale/m5235evb/u-boot.lds deleted +0 -85

85 lines not on this page · raw message

board/freescale/m5249evb/u-boot.lds deleted +0 -85

85 lines not on this page · raw message

board/freescale/m5253demo/u-boot.lds deleted +0 -86

86 lines not on this page · raw message

board/freescale/m5253evbe/u-boot.lds deleted +0 -85

85 lines not on this page · raw message

board/freescale/m5272c3/u-boot.lds deleted +0 -85

85 lines not on this page · raw message

board/freescale/m5275evb/u-boot.lds deleted +0 -85

85 lines not on this page · raw message

board/freescale/m5282evb/u-boot.lds deleted +0 -85

85 lines not on this page · raw message

board/freescale/m53017evb/u-boot.lds deleted +0 -86

86 lines not on this page · raw message

board/freescale/m5329evb/u-boot.lds deleted +0 -86

86 lines not on this page · raw message

board/freescale/m5373evb/u-boot.lds deleted +0 -86

86 lines not on this page · raw message

board/freescale/m54418twr/u-boot.lds deleted +0 -83

83 lines not on this page · raw message

board/freescale/m54451evb/u-boot.lds deleted +0 -83

83 lines not on this page · raw message

board/freescale/m54455evb/u-boot.lds deleted +0 -83

83 lines not on this page · raw message

board/freescale/m547xevb/u-boot.lds deleted +0 -83

83 lines not on this page · raw message

board/freescale/m548xevb/u-boot.lds deleted +0 -83

83 lines not on this page · raw message

board/sysam/amcore/u-boot.lds deleted +0 -87

87 lines not on this page · raw message

include/configs/M5208EVBE.h +4 -0
index 9390464..7eac03b 100644
@@ -180,6 +180,10 @@
 #define CONFIG_ENV_SECT_SIZE		0x2000
 #define CONFIG_ENV_IS_IN_FLASH		1
 
+#define LDS_BOARD_TEXT \
+        . = DEFINED(env_offset) ? env_offset : .; \
+        common/env_embedded.o (.text*);
+
 /* Cache Configuration */
 #define CONFIG_SYS_CACHELINE_SIZE	16
 
include/configs/M52277EVB.h +4 -0
index e9424b4..ce33ba4 100644
@@ -267,6 +267,10 @@
 #	define CONFIG_SYS_FLASH_BANKS_LIST	{ CONFIG_SYS_CS0_BASE }
 #endif
 
+#define LDS_BOARD_TEXT \
+        arch/m68k/cpu/mcf5227x/built-in.o   (.text*) \
+	arch/m68k/lib/built-in.o            (.text*)
+
 /*
  * This is setting for JFFS2 support in u-boot.
  * NOTE: Enable CONFIG_CMD_JFFS2 for JFFS2 support.
include/configs/M5235EVB.h +5 -0
index 883347b..4bba815 100644
@@ -199,6 +199,11 @@
  * Environment is embedded in u-boot in the second sector of the flash
  */
 #define CONFIG_ENV_IS_IN_FLASH	1
+
+#define LDS_BOARD_TEXT \
+	. = DEFINED(env_offset) ? env_offset : .; \
+	common/env_embedded.o (.text);
+
 #ifdef NORFLASH_PS32BIT
 #	define CONFIG_ENV_OFFSET		(0x8000)
 #	define CONFIG_ENV_SIZE		0x4000
include/configs/M5249EVB.h +5 -0
index 60e5b45..6167ea1 100644
@@ -91,6 +91,11 @@
 #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
 
 #define CONFIG_ENV_IS_IN_FLASH	1
+
+#define LDS_BOARD_TEXT \
+        . = DEFINED(env_offset) ? env_offset : .; \
+        common/env_embedded.o (.text);
+
 #define CONFIG_ENV_OFFSET		0x4000	/* Address of Environment Sector*/
 #define CONFIG_ENV_SIZE		0x2000	/* Total Size of Environment Sector	*/
 #define CONFIG_ENV_SECT_SIZE	0x2000 /* see README - env sector total size	*/
include/configs/M5253DEMO.h +4 -0
index 7421b57..5d97874 100644
@@ -32,6 +32,10 @@
 #	define CONFIG_ENV_IS_IN_FLASH	1
 #endif
 
+#define LDS_BOARD_TEXT \
+        . = DEFINED(env_offset) ? env_offset : .; \
+        common/env_embedded.o (.text*);
+
 /*
  * Command line configuration.
  */
include/configs/M5253EVBE.h +5 -0
index 8fd3907..64dc64d 100644
@@ -33,6 +33,11 @@
 #define CONFIG_ENV_IS_IN_FLASH	1
 #endif
 
+#define LDS_BOARD_TEXT \
+	. = DEFINED(env_offset) ? env_offset : .; \
+	common/env_embedded.o      (.text)
+
+
 /*
  * BOOTP options
  */
include/configs/M5272C3.h +4 -0
index 2c056b1..159d2f8 100644
@@ -41,6 +41,10 @@
 #define CONFIG_ENV_IS_IN_FLASH	1
 #endif
 
+#define LDS_BOARD_TEXT \
+        . = DEFINED(env_offset) ? env_offset : .; \
+        common/env_embedded.o (.text);
+
 /*
  * BOOTP options
  */
include/configs/M5275EVB.h +4 -0
index 7eb3172..14ccddb 100644
@@ -42,6 +42,10 @@
 #define CONFIG_ENV_IS_IN_FLASH	1
 #endif
 
+#define LDS_BOARD_TEXT \
+        . = DEFINED(env_offset) ? env_offset : .; \
+        common/env_embedded.o (.text);
+
 /*
  * BOOTP options
  */
include/configs/M5282EVB.h +4 -0
index 569ad42..bc740ae 100644
@@ -32,6 +32,10 @@
 #define CONFIG_ENV_SIZE		0x2000
 #define CONFIG_ENV_IS_IN_FLASH	1
 
+#define LDS_BOARD_TEXT \
+	. = DEFINED(env_offset) ? env_offset : .; \
+	common/env_embedded.o (.text*);
+
 /*
  * BOOTP options
  */
include/configs/M53017EVB.h +4 -0
index e3fa856..0829708 100644
@@ -205,6 +205,10 @@
 #define CONFIG_ENV_SECT_SIZE		0x8000
 #define CONFIG_ENV_IS_IN_FLASH		1
 
+#define LDS_BOARD_TEXT \
+	. = DEFINED(env_offset) ? env_offset : .; \
+	common/env_embedded.o       (.text*)
+
 /*-----------------------------------------------------------------------
  * Cache Configuration
  */
include/configs/M5329EVB.h +4 -0
index 795f359..a42b5f6 100644
@@ -209,6 +209,10 @@
 #define CONFIG_ENV_SECT_SIZE	0x2000
 #define CONFIG_ENV_IS_IN_FLASH	1
 
+#define LDS_BOARD_TEXT \
+        . = DEFINED(env_offset) ? env_offset : .; \
+        common/env_embedded.o (.text*);
+
 /*-----------------------------------------------------------------------
  * Cache Configuration
  */
include/configs/M5373EVB.h +4 -0
index d75b43c..c142dfb 100644
@@ -209,6 +209,10 @@
 #define CONFIG_ENV_SECT_SIZE	0x2000
 #define CONFIG_ENV_IS_IN_FLASH	1
 
+#define LDS_BOARD_TEXT \
+        . = DEFINED(env_offset) ? env_offset : .; \
+        common/env_embedded.o (.text*);
+
 /*-----------------------------------------------------------------------
  * Cache Configuration
  */
include/configs/amcore.h +4 -0
index 229fa5a..5a06311 100644
@@ -98,6 +98,10 @@
 #define CONFIG_ENV_SIZE			0x1000
 #define CONFIG_ENV_SECT_SIZE		0x1000
 
+#define LDS_BOARD_TEXT \
+        . = DEFINED(env_offset) ? env_offset : .; \
+        common/env_embedded.o (.text*);
+
 /* memory map space for linux boot data */
 #define CONFIG_SYS_BOOTMAPSZ		(8 << 20)
 
include/configs/astro_mcf5373l.h +4 -0
index de837cf..7b9ff8f 100644
@@ -343,6 +343,10 @@
 #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
 #define CONFIG_SYS_FLASH_CFI_NONBLOCK	1
 
+#define LDS_BOARD_TEXT \
+	. = DEFINED(env_offset) ? env_offset : .; \
+	common/env_embedded.o       (.text*)
+
 #if ENABLE_JFFS
 /* JFFS Partition offset set */
 #define CONFIG_SYS_JFFS2_FIRST_BANK    0
include/configs/cobra5272.h +3 -0
index b9f0b0b..38fcc40 100644
@@ -104,6 +104,9 @@
 #define CONFIG_ENV_IS_IN_FLASH	1
 #endif
 
+#define LDS_BOARD_TEXT \
+        . = DEFINED(env_offset) ? env_offset : .; \
+        common/env_embedded.o (.text);
 
 /*
  * BOOTP options
Signature · 1 line
2.1.4
#1 lore raw
Quoted 8 lines · angelo at sysam.it

Add architecture-specific u-boot.lds and remove all board-specific u-boot.lds.

All the .text customization that was board-specific have been moved inside the related include/configs, inside a LDS_BOARD_TEXT define.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150423/eb987de3/attachment.sig>