mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Antony Pavlov <antonynpavlov@gmail.com>
To: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH v1 1/4] MIPS: relocation: pass ram size to pbl_main_entry
Date: Tue, 19 Feb 2019 15:45:24 +0300	[thread overview]
Message-ID: <20190219154524.7b17d385e0fdec276ce718fd@gmail.com> (raw)
In-Reply-To: <48809c81-7785-4e84-b012-a66cfc697cd9@pengutronix.de>

On Tue, 19 Feb 2019 09:34:43 +0100
Oleksij Rempel <o.rempel@pengutronix.de> wrote:

> Hi Antony,
> 
> your attention will be needed here..

Hi Oleksij!

Sorry but this week I'm on vacation.

Could you please push this patchseries to github?

-- 
Best regards,
  Antony Pavlov

> 
> On 18.02.19 08:51, Oleksij Rempel wrote:
> > From: Oleksij Rempel <linux@rempel-privat.de>
> > 
> > To make barebox dynamically relocatable it should know
> > the RAM size to be able to calculate proper new location.
> > 
> > Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> > ---
> >   arch/mips/boards/8devices-lima/lowlevel.S         | 3 ++-
> >   arch/mips/boards/black-swift/lowlevel.S           | 3 ++-
> >   arch/mips/boards/dlink-dir-320/lowlevel.S         | 3 ++-
> >   arch/mips/boards/dptechnics-dpt-module/lowlevel.S | 3 ++-
> >   arch/mips/boards/img-ci20/lowlevel.S              | 3 ++-
> >   arch/mips/boards/loongson-ls1b/lowlevel.S         | 3 ++-
> >   arch/mips/boards/qemu-malta/lowlevel.S            | 3 ++-
> >   arch/mips/boards/ritmix-rzx50/lowlevel.S          | 3 ++-
> >   arch/mips/boards/tplink-mr3020/lowlevel.S         | 3 ++-
> >   arch/mips/boards/tplink-wdr4300/lowlevel.S        | 3 ++-
> >   arch/mips/boot/main_entry-pbl.c                   | 5 +++--
> >   arch/mips/include/asm/asm.h                       | 3 ++-
> >   12 files changed, 25 insertions(+), 13 deletions(-)
> > 
> > diff --git a/arch/mips/boards/8devices-lima/lowlevel.S b/arch/mips/boards/8devices-lima/lowlevel.S
> > index b53b23b42a..dd1ab6247d 100644
> > --- a/arch/mips/boards/8devices-lima/lowlevel.S
> > +++ b/arch/mips/boards/8devices-lima/lowlevel.S
> > @@ -11,6 +11,7 @@
> >   #include <mach/pbl_macros.h>
> >   #include <mach/pbl_ll_init_qca4531.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   ENTRY_FUNCTION(BOARD_PBL_START)
> >   
> > @@ -38,4 +39,4 @@ skip_flash_test:
> >   	dcache_enable
> >   skip_pll_ram_config:
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, qca4531_8devices_lima)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, qca4531_8devices_lima, SZ_64M)
> > diff --git a/arch/mips/boards/black-swift/lowlevel.S b/arch/mips/boards/black-swift/lowlevel.S
> > index 0ba77435f8..5c5afcdf09 100644
> > --- a/arch/mips/boards/black-swift/lowlevel.S
> > +++ b/arch/mips/boards/black-swift/lowlevel.S
> > @@ -11,9 +11,10 @@
> >   #include <asm/asm.h>
> >   #include <mach/pbl_macros.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   ENTRY_FUNCTION(BOARD_PBL_START)
> >   
> >   	ar9331_pbl_generic_start
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, black_swift)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, black_swift, SZ_64M)
> > diff --git a/arch/mips/boards/dlink-dir-320/lowlevel.S b/arch/mips/boards/dlink-dir-320/lowlevel.S
> > index 9f3bd5dead..da969bc74e 100644
> > --- a/arch/mips/boards/dlink-dir-320/lowlevel.S
> > +++ b/arch/mips/boards/dlink-dir-320/lowlevel.S
> > @@ -9,6 +9,7 @@
> >   #include <asm/pbl_macros.h>
> >   #include <mach/debug_ll.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   ENTRY_FUNCTION(BOARD_PBL_START)
> >   
> > @@ -19,4 +20,4 @@ ENTRY_FUNCTION(BOARD_PBL_START)
> >   	/* CPU/SoC specific setup ... */
> >   	/* ... absent */
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, dlink_dir_320)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, dlink_dir_320, SZ_32M)
> > diff --git a/arch/mips/boards/dptechnics-dpt-module/lowlevel.S b/arch/mips/boards/dptechnics-dpt-module/lowlevel.S
> > index 28b8f4fac7..b5621963c3 100644
> > --- a/arch/mips/boards/dptechnics-dpt-module/lowlevel.S
> > +++ b/arch/mips/boards/dptechnics-dpt-module/lowlevel.S
> > @@ -12,9 +12,10 @@
> >   #include <asm/pbl_macros.h>
> >   #include <mach/pbl_macros.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   ENTRY_FUNCTION(BOARD_PBL_START)
> >   
> >   	ar9331_pbl_generic_start
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, ar9331_dptechnics_dpt_module)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, ar9331_dptechnics_dpt_module, SZ_64M)
> > diff --git a/arch/mips/boards/img-ci20/lowlevel.S b/arch/mips/boards/img-ci20/lowlevel.S
> > index 056df17bf8..0295e44d1a 100644
> > --- a/arch/mips/boards/img-ci20/lowlevel.S
> > +++ b/arch/mips/boards/img-ci20/lowlevel.S
> > @@ -10,6 +10,7 @@
> >   #include <asm/pbl_macros.h>
> >   #include <mach/debug_ll.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   ENTRY_FUNCTION(BOARD_PBL_START)
> >   
> > @@ -23,4 +24,4 @@ ENTRY_FUNCTION(BOARD_PBL_START)
> >   	debug_ll_outc '.'
> >   	debug_ll_ns16550_outnl
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, img_ci20)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, img_ci20, SZ_1G)
> > diff --git a/arch/mips/boards/loongson-ls1b/lowlevel.S b/arch/mips/boards/loongson-ls1b/lowlevel.S
> > index 37744e9fac..c533df3ce5 100644
> > --- a/arch/mips/boards/loongson-ls1b/lowlevel.S
> > +++ b/arch/mips/boards/loongson-ls1b/lowlevel.S
> > @@ -9,6 +9,7 @@
> >   #include <mach/loongson1.h>
> >   #include <mach/debug_ll.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   ENTRY_FUNCTION(BOARD_PBL_START)
> >   
> > @@ -21,4 +22,4 @@ ENTRY_FUNCTION(BOARD_PBL_START)
> >   	debug_ll_outc '.'
> >   	debug_ll_ns16550_outnl
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, loongson_ls1b)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, loongson_ls1b, SZ_64M)
> > diff --git a/arch/mips/boards/qemu-malta/lowlevel.S b/arch/mips/boards/qemu-malta/lowlevel.S
> > index 3861ae9e46..e4ecde45cf 100644
> > --- a/arch/mips/boards/qemu-malta/lowlevel.S
> > +++ b/arch/mips/boards/qemu-malta/lowlevel.S
> > @@ -10,6 +10,7 @@
> >   #include <asm/asm.h>
> >   #include <asm/pbl_macros.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   #include <asm/addrspace.h>
> >   #include <asm/gt64120.h>
> > @@ -82,4 +83,4 @@ __start:
> >   	li	t0, GT_LD(0x1bdfffff)
> >   	sw	t0, GT_PCI0M1HD_OFS(t1)
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, qemu_malta)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, qemu_malta, SZ_256M)
> > diff --git a/arch/mips/boards/ritmix-rzx50/lowlevel.S b/arch/mips/boards/ritmix-rzx50/lowlevel.S
> > index 7a9743835e..33810f67f5 100644
> > --- a/arch/mips/boards/ritmix-rzx50/lowlevel.S
> > +++ b/arch/mips/boards/ritmix-rzx50/lowlevel.S
> > @@ -10,6 +10,7 @@
> >   #include <asm/pbl_macros.h>
> >   #include <mach/debug_ll.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   ENTRY_FUNCTION(BOARD_PBL_START)
> >   
> > @@ -23,4 +24,4 @@ ENTRY_FUNCTION(BOARD_PBL_START)
> >   	debug_ll_outc '.'
> >   	debug_ll_ns16550_outnl
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, rzx50)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, rzx50, SZ_64M)
> > diff --git a/arch/mips/boards/tplink-mr3020/lowlevel.S b/arch/mips/boards/tplink-mr3020/lowlevel.S
> > index 0a1c193c1e..b96292ecc4 100644
> > --- a/arch/mips/boards/tplink-mr3020/lowlevel.S
> > +++ b/arch/mips/boards/tplink-mr3020/lowlevel.S
> > @@ -11,9 +11,10 @@
> >   #include <asm/asm.h>
> >   #include <mach/pbl_macros.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   ENTRY_FUNCTION(BOARD_PBL_START)
> >   
> >   	ar9331_pbl_generic_start
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, tplink_mr3020)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, tplink_mr3020, SZ_32M)
> > diff --git a/arch/mips/boards/tplink-wdr4300/lowlevel.S b/arch/mips/boards/tplink-wdr4300/lowlevel.S
> > index 461b257f41..8aed5ddcf1 100644
> > --- a/arch/mips/boards/tplink-wdr4300/lowlevel.S
> > +++ b/arch/mips/boards/tplink-wdr4300/lowlevel.S
> > @@ -11,6 +11,7 @@
> >   #include <mach/pbl_macros.h>
> >   #include <mach/pbl_ll_init_ar9344_1.1.h>
> >   #include <asm/pbl_nmon.h>
> > +#include <linux/sizes.h>
> >   
> >   ENTRY_FUNCTION(BOARD_PBL_START)
> >   
> > @@ -35,4 +36,4 @@ skip_flash_test:
> >   
> >   skip_pll_ram_config:
> >   
> > -ENTRY_FUNCTION_END(BOARD_PBL_START, ar9344_tl_wdr4300_v1.7)
> > +ENTRY_FUNCTION_END(BOARD_PBL_START, ar9344_tl_wdr4300_v1.7, SZ_128M)
> > diff --git a/arch/mips/boot/main_entry-pbl.c b/arch/mips/boot/main_entry-pbl.c
> > index b40887b064..28eaa8791f 100644
> > --- a/arch/mips/boot/main_entry-pbl.c
> > +++ b/arch/mips/boot/main_entry-pbl.c
> > @@ -18,7 +18,7 @@ extern void *input_data_end;
> >   unsigned long free_mem_ptr;
> >   unsigned long free_mem_end_ptr;
> >   
> > -void pbl_main_entry(void *fdt, void *fdt_end);
> > +void pbl_main_entry(void *fdt, void *fdt_end, u32 ram_size);
> >   
> >   static unsigned long *ttb;
> >   
> > @@ -33,7 +33,8 @@ static void barebox_uncompress(void *compressed_start, unsigned int len)
> >   	pbl_barebox_uncompress((void*)TEXT_BASE, compressed_start, len);
> >   }
> >   
> > -void __section(.text_entry) pbl_main_entry(void *fdt, void *fdt_end)
> > +void __section(.text_entry) pbl_main_entry(void *fdt, void *fdt_end,
> > +					   u32 ram_size)
> >   {
> >   	u32 pg_start, pg_end, pg_len, fdt_len;
> >   	void *fdt_new;
> > diff --git a/arch/mips/include/asm/asm.h b/arch/mips/include/asm/asm.h
> > index 7d2b673bd9..a85467ceed 100644
> > --- a/arch/mips/include/asm/asm.h
> > +++ b/arch/mips/include/asm/asm.h
> > @@ -89,13 +89,14 @@ EXPORT(symbol)
> >   /*
> >    * ENTRY_FUNCTION_END - mark end of entry function
> >    */
> > -#define ENTRY_FUNCTION_END(symbol, dtb)			\
> > +#define ENTRY_FUNCTION_END(symbol, dtb, ram_size)	\
> >   	mips_nmon;					\
> >   	copy_to_link_location	symbol;			\
> >   	stack_setup;					\
> >   							\
> >   	la	a0, __dtb_ ## dtb##_start;		\
> >   	la	a1, __dtb_ ## dtb##_end;		\
> > +	li	a2, ram_size;				\
> >   	la	v0, pbl_main_entry;			\
> >   	jal	v0;					\
> >   	 nop;						\
> > 
> 
> Kind regards,
> Oleksij Rempel
> 
> -- 
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2019-02-19 12:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-18  7:51 Oleksij Rempel
2019-02-18  7:52 ` [PATCH v1 2/4] MIPS: relocation: add relocation support Oleksij Rempel
2019-03-04 19:05   ` Peter Mamonov
2019-03-05  8:07     ` Oleksij Rempel
2019-02-18  7:52 ` [PATCH v1 3/4] MIPS: relocation: do not use configurable memory layout Oleksij Rempel
2019-02-18  7:52 ` [PATCH v1 4/4] MIPS: remove request_sdram_region "fdt" Oleksij Rempel
2019-02-19  8:34 ` [PATCH v1 1/4] MIPS: relocation: pass ram size to pbl_main_entry Oleksij Rempel
2019-02-19 12:45   ` Antony Pavlov [this message]
2019-02-19 13:27     ` Oleksij Rempel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190219154524.7b17d385e0fdec276ce718fd@gmail.com \
    --to=antonynpavlov@gmail.com \
    --cc=barebox@lists.infradead.org \
    --cc=o.rempel@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox