* [PATCH RFC] at91: Remove AT91_LOAD_BAREBOX_SRAM option
@ 2025-03-06 5:39 Alexander Shiyan
2025-03-07 8:43 ` Sascha Hauer
2025-03-11 8:32 ` Sascha Hauer
0 siblings, 2 replies; 3+ messages in thread
From: Alexander Shiyan @ 2025-03-06 5:39 UTC (permalink / raw)
To: barebox; +Cc: Alexander Shiyan
This patch removes the AT91_LOAD_BAREBOX_SRAM option.
The option was introduced over 12 years ago and is now misleading.
The functionality of loading a stage into SRAM can now be implemented
via PBL in a low-level board-specific call.
For boot sources (other than MMC), BOOTRom expects the size of the
image to boot into SRAM in exception vector 6, so let's fix
barebox-arm-head to always use the correct value here.
This partially reverts commits:
41d3371741: at91: introduce AT91_LOAD_BAREBOX_SRAM to specifcy which size load for external boot
4bd5ceee72: at91sam9261ek: add first stage support
Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
---
.../boards/at91/microchip-at91sam9263-ek.rst | 7 --
.../defaultenv-at91sam9261ek/config | 10 +--
arch/arm/boards/at91sam9261ek/init.c | 16 +----
.../at91sam9261ek_first_stage_defconfig | 65 -------------------
arch/arm/mach-at91/Kconfig | 10 ---
include/mach/at91/barebox-arm.h | 11 +---
6 files changed, 6 insertions(+), 113 deletions(-)
delete mode 100644 arch/arm/configs/at91sam9261ek_first_stage_defconfig
diff --git a/Documentation/boards/at91/microchip-at91sam9263-ek.rst b/Documentation/boards/at91/microchip-at91sam9263-ek.rst
index 8022cdd678..557e2040cb 100644
--- a/Documentation/boards/at91/microchip-at91sam9263-ek.rst
+++ b/Documentation/boards/at91/microchip-at91sam9263-ek.rst
@@ -123,10 +123,3 @@ This is the reset vector and exception vectors. Must be the very first in the fi
``.text_bare_init*:``
Everything in this section, and , is checked at link time.
Size most be less than BAREBOX_MAX_BARE_INIT_SIZE / ARCH_BAREBOX_MAX_BARE_INIT_SIZE
-
-at91 specify the size of the two sections in exception vector 6 (see above),
-if CONFIG_AT91_LOAD_BAREBOX_SRAM is defined.
-I think this is because some at91 variants have only very limited SRAM size,
-and we copy only a minimal part to the SRAM. The remaining part is then
-executed in-place.
-For at91sam9263 we have a large SRAM so there is room for the full bootstrap binary.
diff --git a/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config b/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config
index cb3e847f54..7d855779ca 100644
--- a/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config
+++ b/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config
@@ -34,14 +34,8 @@ kernelimage=zImage
#kernelimage=Image.lzo
nand_device=atmel_nand
-if [ x$borebox_first_stage = x1 ]
-then
- nand_parts="384k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),128k(oftree),4M(kernel),120M(rootfs),-(data)"
- rootfs_mtdblock_nand=5
-else
- nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),128k(oftree),4M(kernel),120M(rootfs),-(data)"
- rootfs_mtdblock_nand=6
-fi
+nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),128k(oftree),4M(kernel),120M(rootfs),-(data)"
+rootfs_mtdblock_nand=6
autoboot_timeout=3
diff --git a/arch/arm/boards/at91sam9261ek/init.c b/arch/arm/boards/at91sam9261ek/init.c
index da305fe9ed..799466d655 100644
--- a/arch/arm/boards/at91sam9261ek/init.c
+++ b/arch/arm/boards/at91sam9261ek/init.c
@@ -319,9 +319,6 @@ mem_initcall(at91sam9261ek_mem_init);
static int at91sam9261ek_devices_init(void)
{
- u32 barebox_part_start;
- u32 barebox_part_size;
-
ek_add_device_nand();
ek_add_device_dm9000();
ek_add_device_udc();
@@ -330,17 +327,8 @@ static int at91sam9261ek_devices_init(void)
ek_add_device_lcdc();
ek_add_device_spi();
- if (IS_ENABLED(CONFIG_AT91_LOAD_BAREBOX_SRAM)) {
- barebox_part_start = 0;
- barebox_part_size = SZ_256K + SZ_128K;
- export_env_ull("borebox_first_stage", 1);
- } else {
- devfs_add_partition("nand0", 0x00000, SZ_128K, DEVFS_PARTITION_FIXED, "at91bootstrap_raw");
- barebox_part_start = SZ_128K;
- barebox_part_size = SZ_256K;
- }
- devfs_add_partition("nand0", barebox_part_start, barebox_part_size,
- DEVFS_PARTITION_FIXED, "self_raw");
+ devfs_add_partition("nand0", 0x00000, SZ_128K, DEVFS_PARTITION_FIXED, "at91bootstrap_raw");
+ devfs_add_partition("nand0", SZ_128K, SZ_256K, DEVFS_PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
devfs_add_partition("nand0", SZ_256K + SZ_128K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
diff --git a/arch/arm/configs/at91sam9261ek_first_stage_defconfig b/arch/arm/configs/at91sam9261ek_first_stage_defconfig
deleted file mode 100644
index 8e6065de34..0000000000
--- a/arch/arm/configs/at91sam9261ek_first_stage_defconfig
+++ /dev/null
@@ -1,65 +0,0 @@
-CONFIG_ARCH_AT91=y
-CONFIG_ARCH_AT91SAM9261=y
-CONFIG_AT91_LOAD_BAREBOX_SRAM=y
-CONFIG_AEABI=y
-CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_MMU=y
-CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x27000
-CONFIG_EXPERIMENTAL=y
-CONFIG_MALLOC_TLSF=y
-CONFIG_PROMPT="9261-EK:"
-CONFIG_HUSH_FANCY_PROMPT=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_MENU=y
-CONFIG_BOOTM_SHOW_TYPE=y
-CONFIG_BOOTM_INITRD=y
-CONFIG_CONSOLE_ACTIVATE_ALL=y
-CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
-# CONFIG_CMD_ARM_CPUINFO is not set
-CONFIG_LONGHELP=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_AT91_BOOT_TEST=y
-# CONFIG_CMD_BOOTU is not set
-CONFIG_CMD_GO=y
-CONFIG_CMD_LOADB=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_UIMAGE=y
-CONFIG_CMD_PARTITION=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_PRINTENV=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_TFTP=y
-CONFIG_CMD_ECHO_E=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_LOGIN=y
-CONFIG_CMD_MENU=y
-CONFIG_CMD_MENU_MANAGEMENT=y
-CONFIG_CMD_PASSWD=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_FLASH=y
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_LED=y
-CONFIG_CMD_LED_TRIGGER=y
-CONFIG_NET=y
-CONFIG_NET_NFS=y
-CONFIG_NET_RESOLV=y
-CONFIG_DRIVER_NET_DM9K=y
-CONFIG_DRIVER_SPI_ATMEL=y
-CONFIG_MTD=y
-# CONFIG_MTD_OOB_DEVICE is not set
-CONFIG_MTD_DATAFLASH=y
-CONFIG_NAND=y
-CONFIG_NAND_ATMEL=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_GADGET_DFU=y
-CONFIG_USB_GADGET_SERIAL=y
-CONFIG_LED=y
-CONFIG_LED_GPIO=y
-CONFIG_LED_TRIGGERS=y
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_FS_TFTP=y
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 0b3a4ac44c..5bc5cacb7c 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -152,9 +152,6 @@ config HAVE_NAND_ATMEL_BUSWIDTH_16
config HAVE_AT91_DATAFLASH_CARD
bool
-config HAVE_AT91_LOAD_BAREBOX_SRAM
- bool
-
comment "Atmel AT91 System-on-Chip"
config SOC_AT91RM9200
@@ -177,7 +174,6 @@ config SOC_AT91SAM9261
bool
select SOC_AT91SAM9
select PINCTRL_AT91
- select HAVE_AT91_LOAD_BAREBOX_SRAM
help
Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC.
@@ -185,7 +181,6 @@ config SOC_AT91SAM9263
bool
select SOC_AT91SAM9
select HAS_MACB
- select HAVE_AT91_LOAD_BAREBOX_SRAM
select PINCTRL_AT91
config SOC_AT91SAM9G45
@@ -707,9 +702,4 @@ config AT91_BOOTSTRAP
depends on HAVE_AT91_BOOTSTRAP
select BOOTSTRAP
-config AT91_LOAD_BAREBOX_SRAM
- bool "at91 load barebox in sram"
- depends on SHELL_NONE || HAVE_AT91_LOAD_BAREBOX_SRAM
- default y if SHELL_NONE
-
endif
diff --git a/include/mach/at91/barebox-arm.h b/include/mach/at91/barebox-arm.h
index 652fd283a0..3a041b4557 100644
--- a/include/mach/at91/barebox-arm.h
+++ b/include/mach/at91/barebox-arm.h
@@ -4,18 +4,11 @@
#include <asm/barebox-arm.h>
#include <asm/common.h>
+#include <linux/compiler.h>
#include <mach/at91/sama5d3.h>
#include <mach/at91/sama5d4.h>
#include <mach/at91/at91sam9261.h>
-#ifdef CONFIG_AT91_LOAD_BAREBOX_SRAM
-#define AT91_EXV6 ".word _barebox_image_size\n"
-#else
-#define AT91_EXV6 ".word _barebox_bare_init_size\n"
-#endif
-
-#include <linux/compiler.h>
-
static __always_inline void __barebox_at91_head(void)
{
__asm__ __volatile__ (
@@ -27,7 +20,7 @@ static __always_inline void __barebox_at91_head(void)
"1: b 1b\n"
"1: b 1b\n"
"1: b 1b\n"
- AT91_EXV6 /* image size to load by the bootrom */
+ ".word _barebox_image_size\n" /* image size to load by the bootrom */
"1: b 1b\n"
"1: b 1b\n"
#endif
--
2.39.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH RFC] at91: Remove AT91_LOAD_BAREBOX_SRAM option
2025-03-06 5:39 [PATCH RFC] at91: Remove AT91_LOAD_BAREBOX_SRAM option Alexander Shiyan
@ 2025-03-07 8:43 ` Sascha Hauer
2025-03-11 8:32 ` Sascha Hauer
1 sibling, 0 replies; 3+ messages in thread
From: Sascha Hauer @ 2025-03-07 8:43 UTC (permalink / raw)
To: Alexander Shiyan; +Cc: barebox
On Thu, Mar 06, 2025 at 08:39:20AM +0300, Alexander Shiyan wrote:
> This patch removes the AT91_LOAD_BAREBOX_SRAM option.
> The option was introduced over 12 years ago and is now misleading.
> The functionality of loading a stage into SRAM can now be implemented
> via PBL in a low-level board-specific call.
> For boot sources (other than MMC), BOOTRom expects the size of the
> image to boot into SRAM in exception vector 6, so let's fix
> barebox-arm-head to always use the correct value here.
>
> This partially reverts commits:
> 41d3371741: at91: introduce AT91_LOAD_BAREBOX_SRAM to specifcy which size load for external boot
> 4bd5ceee72: at91sam9261ek: add first stage support
Building at91sam9261ek_first_stage_defconfig currently fails with:
images/start_at91sam9261ek.pblb size 250172 > maximum size 159744
So this is unusable anyway. Trying to bring the binary size down by 40%
is likely more work than implementing a xload mechanism for NAND.
I think this patch is fine.
Sascha
>
> Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
> ---
> .../boards/at91/microchip-at91sam9263-ek.rst | 7 --
> .../defaultenv-at91sam9261ek/config | 10 +--
> arch/arm/boards/at91sam9261ek/init.c | 16 +----
> .../at91sam9261ek_first_stage_defconfig | 65 -------------------
> arch/arm/mach-at91/Kconfig | 10 ---
> include/mach/at91/barebox-arm.h | 11 +---
> 6 files changed, 6 insertions(+), 113 deletions(-)
> delete mode 100644 arch/arm/configs/at91sam9261ek_first_stage_defconfig
>
> diff --git a/Documentation/boards/at91/microchip-at91sam9263-ek.rst b/Documentation/boards/at91/microchip-at91sam9263-ek.rst
> index 8022cdd678..557e2040cb 100644
> --- a/Documentation/boards/at91/microchip-at91sam9263-ek.rst
> +++ b/Documentation/boards/at91/microchip-at91sam9263-ek.rst
> @@ -123,10 +123,3 @@ This is the reset vector and exception vectors. Must be the very first in the fi
> ``.text_bare_init*:``
> Everything in this section, and , is checked at link time.
> Size most be less than BAREBOX_MAX_BARE_INIT_SIZE / ARCH_BAREBOX_MAX_BARE_INIT_SIZE
> -
> -at91 specify the size of the two sections in exception vector 6 (see above),
> -if CONFIG_AT91_LOAD_BAREBOX_SRAM is defined.
> -I think this is because some at91 variants have only very limited SRAM size,
> -and we copy only a minimal part to the SRAM. The remaining part is then
> -executed in-place.
> -For at91sam9263 we have a large SRAM so there is room for the full bootstrap binary.
> diff --git a/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config b/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config
> index cb3e847f54..7d855779ca 100644
> --- a/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config
> +++ b/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config
> @@ -34,14 +34,8 @@ kernelimage=zImage
> #kernelimage=Image.lzo
>
> nand_device=atmel_nand
> -if [ x$borebox_first_stage = x1 ]
> -then
> - nand_parts="384k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),128k(oftree),4M(kernel),120M(rootfs),-(data)"
> - rootfs_mtdblock_nand=5
> -else
> - nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),128k(oftree),4M(kernel),120M(rootfs),-(data)"
> - rootfs_mtdblock_nand=6
> -fi
> +nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),128k(oftree),4M(kernel),120M(rootfs),-(data)"
> +rootfs_mtdblock_nand=6
>
> autoboot_timeout=3
>
> diff --git a/arch/arm/boards/at91sam9261ek/init.c b/arch/arm/boards/at91sam9261ek/init.c
> index da305fe9ed..799466d655 100644
> --- a/arch/arm/boards/at91sam9261ek/init.c
> +++ b/arch/arm/boards/at91sam9261ek/init.c
> @@ -319,9 +319,6 @@ mem_initcall(at91sam9261ek_mem_init);
>
> static int at91sam9261ek_devices_init(void)
> {
> - u32 barebox_part_start;
> - u32 barebox_part_size;
> -
> ek_add_device_nand();
> ek_add_device_dm9000();
> ek_add_device_udc();
> @@ -330,17 +327,8 @@ static int at91sam9261ek_devices_init(void)
> ek_add_device_lcdc();
> ek_add_device_spi();
>
> - if (IS_ENABLED(CONFIG_AT91_LOAD_BAREBOX_SRAM)) {
> - barebox_part_start = 0;
> - barebox_part_size = SZ_256K + SZ_128K;
> - export_env_ull("borebox_first_stage", 1);
> - } else {
> - devfs_add_partition("nand0", 0x00000, SZ_128K, DEVFS_PARTITION_FIXED, "at91bootstrap_raw");
> - barebox_part_start = SZ_128K;
> - barebox_part_size = SZ_256K;
> - }
> - devfs_add_partition("nand0", barebox_part_start, barebox_part_size,
> - DEVFS_PARTITION_FIXED, "self_raw");
> + devfs_add_partition("nand0", 0x00000, SZ_128K, DEVFS_PARTITION_FIXED, "at91bootstrap_raw");
> + devfs_add_partition("nand0", SZ_128K, SZ_256K, DEVFS_PARTITION_FIXED, "self_raw");
> dev_add_bb_dev("self_raw", "self0");
> devfs_add_partition("nand0", SZ_256K + SZ_128K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw");
> dev_add_bb_dev("env_raw", "env0");
> diff --git a/arch/arm/configs/at91sam9261ek_first_stage_defconfig b/arch/arm/configs/at91sam9261ek_first_stage_defconfig
> deleted file mode 100644
> index 8e6065de34..0000000000
> --- a/arch/arm/configs/at91sam9261ek_first_stage_defconfig
> +++ /dev/null
> @@ -1,65 +0,0 @@
> -CONFIG_ARCH_AT91=y
> -CONFIG_ARCH_AT91SAM9261=y
> -CONFIG_AT91_LOAD_BAREBOX_SRAM=y
> -CONFIG_AEABI=y
> -CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
> -CONFIG_MMU=y
> -CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x27000
> -CONFIG_EXPERIMENTAL=y
> -CONFIG_MALLOC_TLSF=y
> -CONFIG_PROMPT="9261-EK:"
> -CONFIG_HUSH_FANCY_PROMPT=y
> -CONFIG_CMDLINE_EDITING=y
> -CONFIG_AUTO_COMPLETE=y
> -CONFIG_MENU=y
> -CONFIG_BOOTM_SHOW_TYPE=y
> -CONFIG_BOOTM_INITRD=y
> -CONFIG_CONSOLE_ACTIVATE_ALL=y
> -CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
> -# CONFIG_CMD_ARM_CPUINFO is not set
> -CONFIG_LONGHELP=y
> -CONFIG_CMD_MEMINFO=y
> -CONFIG_CMD_AT91_BOOT_TEST=y
> -# CONFIG_CMD_BOOTU is not set
> -CONFIG_CMD_GO=y
> -CONFIG_CMD_LOADB=y
> -CONFIG_CMD_RESET=y
> -CONFIG_CMD_UIMAGE=y
> -CONFIG_CMD_PARTITION=y
> -CONFIG_CMD_EXPORT=y
> -CONFIG_CMD_PRINTENV=y
> -CONFIG_CMD_SAVEENV=y
> -CONFIG_CMD_SLEEP=y
> -CONFIG_CMD_DHCP=y
> -CONFIG_CMD_PING=y
> -CONFIG_CMD_TFTP=y
> -CONFIG_CMD_ECHO_E=y
> -CONFIG_CMD_EDIT=y
> -CONFIG_CMD_LOGIN=y
> -CONFIG_CMD_MENU=y
> -CONFIG_CMD_MENU_MANAGEMENT=y
> -CONFIG_CMD_PASSWD=y
> -CONFIG_CMD_READLINE=y
> -CONFIG_CMD_TIMEOUT=y
> -CONFIG_CMD_FLASH=y
> -CONFIG_CMD_GPIO=y
> -CONFIG_CMD_LED=y
> -CONFIG_CMD_LED_TRIGGER=y
> -CONFIG_NET=y
> -CONFIG_NET_NFS=y
> -CONFIG_NET_RESOLV=y
> -CONFIG_DRIVER_NET_DM9K=y
> -CONFIG_DRIVER_SPI_ATMEL=y
> -CONFIG_MTD=y
> -# CONFIG_MTD_OOB_DEVICE is not set
> -CONFIG_MTD_DATAFLASH=y
> -CONFIG_NAND=y
> -CONFIG_NAND_ATMEL=y
> -CONFIG_USB_GADGET=y
> -CONFIG_USB_GADGET_DFU=y
> -CONFIG_USB_GADGET_SERIAL=y
> -CONFIG_LED=y
> -CONFIG_LED_GPIO=y
> -CONFIG_LED_TRIGGERS=y
> -CONFIG_KEYBOARD_GPIO=y
> -CONFIG_FS_TFTP=y
> diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
> index 0b3a4ac44c..5bc5cacb7c 100644
> --- a/arch/arm/mach-at91/Kconfig
> +++ b/arch/arm/mach-at91/Kconfig
> @@ -152,9 +152,6 @@ config HAVE_NAND_ATMEL_BUSWIDTH_16
> config HAVE_AT91_DATAFLASH_CARD
> bool
>
> -config HAVE_AT91_LOAD_BAREBOX_SRAM
> - bool
> -
> comment "Atmel AT91 System-on-Chip"
>
> config SOC_AT91RM9200
> @@ -177,7 +174,6 @@ config SOC_AT91SAM9261
> bool
> select SOC_AT91SAM9
> select PINCTRL_AT91
> - select HAVE_AT91_LOAD_BAREBOX_SRAM
> help
> Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC.
>
> @@ -185,7 +181,6 @@ config SOC_AT91SAM9263
> bool
> select SOC_AT91SAM9
> select HAS_MACB
> - select HAVE_AT91_LOAD_BAREBOX_SRAM
> select PINCTRL_AT91
>
> config SOC_AT91SAM9G45
> @@ -707,9 +702,4 @@ config AT91_BOOTSTRAP
> depends on HAVE_AT91_BOOTSTRAP
> select BOOTSTRAP
>
> -config AT91_LOAD_BAREBOX_SRAM
> - bool "at91 load barebox in sram"
> - depends on SHELL_NONE || HAVE_AT91_LOAD_BAREBOX_SRAM
> - default y if SHELL_NONE
> -
> endif
> diff --git a/include/mach/at91/barebox-arm.h b/include/mach/at91/barebox-arm.h
> index 652fd283a0..3a041b4557 100644
> --- a/include/mach/at91/barebox-arm.h
> +++ b/include/mach/at91/barebox-arm.h
> @@ -4,18 +4,11 @@
>
> #include <asm/barebox-arm.h>
> #include <asm/common.h>
> +#include <linux/compiler.h>
> #include <mach/at91/sama5d3.h>
> #include <mach/at91/sama5d4.h>
> #include <mach/at91/at91sam9261.h>
>
> -#ifdef CONFIG_AT91_LOAD_BAREBOX_SRAM
> -#define AT91_EXV6 ".word _barebox_image_size\n"
> -#else
> -#define AT91_EXV6 ".word _barebox_bare_init_size\n"
> -#endif
> -
> -#include <linux/compiler.h>
> -
> static __always_inline void __barebox_at91_head(void)
> {
> __asm__ __volatile__ (
> @@ -27,7 +20,7 @@ static __always_inline void __barebox_at91_head(void)
> "1: b 1b\n"
> "1: b 1b\n"
> "1: b 1b\n"
> - AT91_EXV6 /* image size to load by the bootrom */
> + ".word _barebox_image_size\n" /* image size to load by the bootrom */
> "1: b 1b\n"
> "1: b 1b\n"
> #endif
> --
> 2.39.1
>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH RFC] at91: Remove AT91_LOAD_BAREBOX_SRAM option
2025-03-06 5:39 [PATCH RFC] at91: Remove AT91_LOAD_BAREBOX_SRAM option Alexander Shiyan
2025-03-07 8:43 ` Sascha Hauer
@ 2025-03-11 8:32 ` Sascha Hauer
1 sibling, 0 replies; 3+ messages in thread
From: Sascha Hauer @ 2025-03-11 8:32 UTC (permalink / raw)
To: barebox, Alexander Shiyan
On Thu, 06 Mar 2025 08:39:20 +0300, Alexander Shiyan wrote:
> This patch removes the AT91_LOAD_BAREBOX_SRAM option.
> The option was introduced over 12 years ago and is now misleading.
> The functionality of loading a stage into SRAM can now be implemented
> via PBL in a low-level board-specific call.
> For boot sources (other than MMC), BOOTRom expects the size of the
> image to boot into SRAM in exception vector 6, so let's fix
> barebox-arm-head to always use the correct value here.
>
> [...]
Applied, thanks!
[1/1] at91: Remove AT91_LOAD_BAREBOX_SRAM option
https://git.pengutronix.de/cgit/barebox/commit/?id=e9a01d3498f5 (link may not be stable)
Best regards,
--
Sascha Hauer <s.hauer@pengutronix.de>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-03-11 8:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-06 5:39 [PATCH RFC] at91: Remove AT91_LOAD_BAREBOX_SRAM option Alexander Shiyan
2025-03-07 8:43 ` Sascha Hauer
2025-03-11 8:32 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox