[U-Boot] [PATCH] mips: Add SPL header

From: Paul Burton paul.burton@imgtec.com
Add header with SPL boot mode and type definitions.
Signed-off-by: Marek Vasut marex@denx.de Cc: Daniel Schwierzeck daniel.schwierzeck@gmail.com Cc: Paul Burton paul.burton@imgtec.com --- arch/mips/include/asm/spl.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 arch/mips/include/asm/spl.h
diff --git a/arch/mips/include/asm/spl.h b/arch/mips/include/asm/spl.h new file mode 100644 index 0000000..01baab6 --- /dev/null +++ b/arch/mips/include/asm/spl.h @@ -0,0 +1,35 @@ +/* + * (C) Copyright 2012 + * Texas Instruments, <www.ti.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ +#ifndef _ASM_SPL_H_ +#define _ASM_SPL_H_ + +enum { + BOOT_DEVICE_RAM, + BOOT_DEVICE_MMC1, + BOOT_DEVICE_MMC2, + BOOT_DEVICE_MMC2_2, + BOOT_DEVICE_NAND, + BOOT_DEVICE_ONENAND, + BOOT_DEVICE_NOR, + BOOT_DEVICE_UART, + BOOT_DEVICE_SPI, + BOOT_DEVICE_USB, + BOOT_DEVICE_SATA, + BOOT_DEVICE_I2C, + BOOT_DEVICE_BOARD, + BOOT_DEVICE_NONE +}; + +/* Linker symbols. */ +extern char __bss_start[]; +extern ulong __bss_end; + +#ifndef CONFIG_DM +extern gd_t gdata; +#endif + +#endif

Am 26.05.2016 um 20:43 schrieb Marek Vasut:
From: Paul Burton paul.burton@imgtec.com
Add header with SPL boot mode and type definitions.
Signed-off-by: Marek Vasut marex@denx.de Cc: Daniel Schwierzeck daniel.schwierzeck@gmail.com Cc: Paul Burton paul.burton@imgtec.com
arch/mips/include/asm/spl.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 arch/mips/include/asm/spl.h
diff --git a/arch/mips/include/asm/spl.h b/arch/mips/include/asm/spl.h new file mode 100644 index 0000000..01baab6 --- /dev/null +++ b/arch/mips/include/asm/spl.h @@ -0,0 +1,35 @@ +/*
- (C) Copyright 2012
- Texas Instruments, <www.ti.com>
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _ASM_SPL_H_ +#define _ASM_SPL_H_
+enum {
- BOOT_DEVICE_RAM,
- BOOT_DEVICE_MMC1,
- BOOT_DEVICE_MMC2,
- BOOT_DEVICE_MMC2_2,
- BOOT_DEVICE_NAND,
- BOOT_DEVICE_ONENAND,
- BOOT_DEVICE_NOR,
- BOOT_DEVICE_UART,
- BOOT_DEVICE_SPI,
- BOOT_DEVICE_USB,
- BOOT_DEVICE_SATA,
- BOOT_DEVICE_I2C,
- BOOT_DEVICE_BOARD,
- BOOT_DEVICE_NONE
+};
+/* Linker symbols. */ +extern char __bss_start[]; +extern ulong __bss_end;
why not "extern char __bss_end[]" like on ARM?
+#ifndef CONFIG_DM +extern gd_t gdata; +#endif
+#endif

On 05/27/2016 02:09 PM, Daniel Schwierzeck wrote:
Am 26.05.2016 um 20:43 schrieb Marek Vasut:
From: Paul Burton paul.burton@imgtec.com
Add header with SPL boot mode and type definitions.
Signed-off-by: Marek Vasut marex@denx.de Cc: Daniel Schwierzeck daniel.schwierzeck@gmail.com Cc: Paul Burton paul.burton@imgtec.com
arch/mips/include/asm/spl.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 arch/mips/include/asm/spl.h
diff --git a/arch/mips/include/asm/spl.h b/arch/mips/include/asm/spl.h new file mode 100644 index 0000000..01baab6 --- /dev/null +++ b/arch/mips/include/asm/spl.h @@ -0,0 +1,35 @@ +/*
- (C) Copyright 2012
- Texas Instruments, <www.ti.com>
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _ASM_SPL_H_ +#define _ASM_SPL_H_
+enum {
- BOOT_DEVICE_RAM,
- BOOT_DEVICE_MMC1,
- BOOT_DEVICE_MMC2,
- BOOT_DEVICE_MMC2_2,
- BOOT_DEVICE_NAND,
- BOOT_DEVICE_ONENAND,
- BOOT_DEVICE_NOR,
- BOOT_DEVICE_UART,
- BOOT_DEVICE_SPI,
- BOOT_DEVICE_USB,
- BOOT_DEVICE_SATA,
- BOOT_DEVICE_I2C,
- BOOT_DEVICE_BOARD,
- BOOT_DEVICE_NONE
+};
+/* Linker symbols. */ +extern char __bss_start[]; +extern ulong __bss_end;
why not "extern char __bss_end[]" like on ARM?
Because mips defines this symbol as ulong __bss_end all over the place. I find it weird too and I suspect it's something to synchronize with other platforms.
+#ifndef CONFIG_DM +extern gd_t gdata; +#endif
+#endif

Am 27.05.2016 um 14:42 schrieb Marek Vasut:
On 05/27/2016 02:09 PM, Daniel Schwierzeck wrote:
Am 26.05.2016 um 20:43 schrieb Marek Vasut:
From: Paul Burton paul.burton@imgtec.com
Add header with SPL boot mode and type definitions.
Signed-off-by: Marek Vasut marex@denx.de Cc: Daniel Schwierzeck daniel.schwierzeck@gmail.com Cc: Paul Burton paul.burton@imgtec.com
arch/mips/include/asm/spl.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 arch/mips/include/asm/spl.h
diff --git a/arch/mips/include/asm/spl.h b/arch/mips/include/asm/spl.h new file mode 100644 index 0000000..01baab6 --- /dev/null +++ b/arch/mips/include/asm/spl.h @@ -0,0 +1,35 @@ +/*
- (C) Copyright 2012
- Texas Instruments, <www.ti.com>
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _ASM_SPL_H_ +#define _ASM_SPL_H_
+enum {
- BOOT_DEVICE_RAM,
- BOOT_DEVICE_MMC1,
- BOOT_DEVICE_MMC2,
- BOOT_DEVICE_MMC2_2,
- BOOT_DEVICE_NAND,
- BOOT_DEVICE_ONENAND,
- BOOT_DEVICE_NOR,
- BOOT_DEVICE_UART,
- BOOT_DEVICE_SPI,
- BOOT_DEVICE_USB,
- BOOT_DEVICE_SATA,
- BOOT_DEVICE_I2C,
- BOOT_DEVICE_BOARD,
- BOOT_DEVICE_NONE
+};
+/* Linker symbols. */ +extern char __bss_start[]; +extern ulong __bss_end;
why not "extern char __bss_end[]" like on ARM?
Because mips defines this symbol as ulong __bss_end all over the place. I find it weird too and I suspect it's something to synchronize with other platforms.
hm, it's defined in include/asm-generic/sections.h. All archs but ARM are using ulong __bss_end.
But why isn't there a include/asm-generic/spl.h? The enum should be platform-independent and the linker symbols could be pulled from include/asm-generic/sections.h.

On 05/27/2016 03:21 PM, Daniel Schwierzeck wrote:
Am 27.05.2016 um 14:42 schrieb Marek Vasut:
On 05/27/2016 02:09 PM, Daniel Schwierzeck wrote:
Am 26.05.2016 um 20:43 schrieb Marek Vasut:
From: Paul Burton paul.burton@imgtec.com
Add header with SPL boot mode and type definitions.
Signed-off-by: Marek Vasut marex@denx.de Cc: Daniel Schwierzeck daniel.schwierzeck@gmail.com Cc: Paul Burton paul.burton@imgtec.com
arch/mips/include/asm/spl.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 arch/mips/include/asm/spl.h
diff --git a/arch/mips/include/asm/spl.h b/arch/mips/include/asm/spl.h new file mode 100644 index 0000000..01baab6 --- /dev/null +++ b/arch/mips/include/asm/spl.h @@ -0,0 +1,35 @@ +/*
- (C) Copyright 2012
- Texas Instruments, <www.ti.com>
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _ASM_SPL_H_ +#define _ASM_SPL_H_
+enum {
- BOOT_DEVICE_RAM,
- BOOT_DEVICE_MMC1,
- BOOT_DEVICE_MMC2,
- BOOT_DEVICE_MMC2_2,
- BOOT_DEVICE_NAND,
- BOOT_DEVICE_ONENAND,
- BOOT_DEVICE_NOR,
- BOOT_DEVICE_UART,
- BOOT_DEVICE_SPI,
- BOOT_DEVICE_USB,
- BOOT_DEVICE_SATA,
- BOOT_DEVICE_I2C,
- BOOT_DEVICE_BOARD,
- BOOT_DEVICE_NONE
+};
+/* Linker symbols. */ +extern char __bss_start[]; +extern ulong __bss_end;
why not "extern char __bss_end[]" like on ARM?
Because mips defines this symbol as ulong __bss_end all over the place. I find it weird too and I suspect it's something to synchronize with other platforms.
hm, it's defined in include/asm-generic/sections.h. All archs but ARM are using ulong __bss_end.
But why isn't there a include/asm-generic/spl.h? The enum should be platform-independent and the linker symbols could be pulled from include/asm-generic/sections.h.
Yes, indeed, you have a point. I'll put unifying spl.h on the list just after libgcc issues.
participants (2)
-
Daniel Schwierzeck
-
Marek Vasut