Oftree from memory and access to start arguments

Pascal Vizeli pvizeli at syshack.ch
Thu Jun 7 16:03:11 PDT 2018


Hi Sascha,

I wrote a patch they do that what you have suggest. It write the dtb
from memory into a file.

My problem is, I don't know how I can share data between PBL and the
main process?
That are not the same binary, so I can't use extern keyword and on
this early boot step I don't know how I can access to memory.
I think with a simple pointer, I can't access to a memory area they
are not my own?

greets
Pascal

2018-06-07 9:31 GMT+02:00 Sascha Hauer <s.hauer at pengutronix.de>:
> Hi Pascal,
>
> On Wed, Jun 06, 2018 at 01:07:27AM +0200, Pascal Vizeli wrote:
>> Hi,
>>
>> I'm working on a functionality to load a device tree with oftree from
>> memory. The use case is like raspberry platform they have his own
>> device tree for linux kernel. If I known the address (config.txt), I
>> will load this from memory and read out the dynamic linux args and use
>> other overlays for states with bootchoiser and boot the kernel
>> correctly.
>>
>> On raspberry, I can write the device-tree to a memory address with
>> config.txt. It would be nice, if I can access to barebox (start.c)
>> main arguments, while the raspberry pi load barebox like a linux
>> kernel and give him the device-address on r2.
>
> Starting barebox with the devicetree provided in r2 shouldn't be a
> problem. See arch/arm/boards/raspberry-pi/lowlevel.c:
>
> ENTRY_FUNCTION(start_raspberry_pi2, r0, r1, r2)
> {
>         void *fdt = __dtb_bcm2836_rpi_2_start + get_runtime_offset();
>
>         arm_cpu_lowlevel_init();
>
>         barebox_arm_entry(BCM2835_SDRAM_BASE, SZ_512M, fdt);
> }
>
> Just call barebox_arm_entry() with 'r2' instead of 'fdt'.
>
> You could also store the value of r2 in a known memory location
> and load the devicetree later in some board specific initcall.
>
> Sascha
>
> --
> 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 |



More information about the barebox mailing list