Re: Genode on i.MX6Q Sabre Lite

2017-11-10 Thread Stefan Kalkowski

On 11/10/2017 12:05 PM, Yevgeny Lavrov wrote:
> Hi Stefan, Martin,
> 
> Thank you for your suggestions. Switching from .elf to uImage for
> Wandboard Quad actually did the trick, and now I can observe serial
> output. This is interesting, bootelf never failed me before. 

well, that's interesting indeed. Would be interesting to know what the
u-boot ELF loader makes different.

But it is good to hear that you can now proceed at least.

> 
> On Wed, Nov 8, 2017 at 3:06 PM, Martin Stein
> > wrote:
> 
> Hi Yevgeny, Stefan,
> 
> Am 08.11.2017 um 11:29 schrieb Stefan Kalkowski:
> > Actually, I have no idea why the HW kernel should not work for you. We
> > test it all night, and currently _all_ tests for HW on Wandboard are
> > green. I can confirm the trouble you experience with init.run and
> > bomb.run on top of sel4. I think there exist resource limitations
> > regarding Genode/Sel4 that lead to those problems.
> >
> > The only difference in between your setup, and our nightly test scenario
> > is that we use u-boot's "uImage" format and the "bootm" command instead
> > of the "bootelf" command, because the latter is not enabled in most
> > pre-installed u-boot variants. You can produce a ready to use uImage
> > when adding the following run-tool option to your "etc/build.conf":
> >
> >   RUN_OPT += --include image/uboot
> >
> > I should wonder if it makes any difference to boot the uImage instead of
> > the ELF image, but maybe you can give it a try.
> 
> Might it be that the u-boot versions differ and therefore the
> pre-Genode hardware/uart initialization causes troubles with HW?
> 
> Martin
> 
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> 
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 
> 
> 
> 
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> 
> 
> 
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

https://github.com/skalk · http://genode.org/

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-11-10 Thread Yevgeny Lavrov
Hi Stefan, Martin,

Thank you for your suggestions. Switching from .elf to uImage for Wandboard
Quad actually did the trick, and now I can observe serial output. This is
interesting, bootelf never failed me before.

On Wed, Nov 8, 2017 at 3:06 PM, Martin Stein 
wrote:

> Hi Yevgeny, Stefan,
>
> Am 08.11.2017 um 11:29 schrieb Stefan Kalkowski:
> > Actually, I have no idea why the HW kernel should not work for you. We
> > test it all night, and currently _all_ tests for HW on Wandboard are
> > green. I can confirm the trouble you experience with init.run and
> > bomb.run on top of sel4. I think there exist resource limitations
> > regarding Genode/Sel4 that lead to those problems.
> >
> > The only difference in between your setup, and our nightly test scenario
> > is that we use u-boot's "uImage" format and the "bootm" command instead
> > of the "bootelf" command, because the latter is not enabled in most
> > pre-installed u-boot variants. You can produce a ready to use uImage
> > when adding the following run-tool option to your "etc/build.conf":
> >
> >   RUN_OPT += --include image/uboot
> >
> > I should wonder if it makes any difference to boot the uImage instead of
> > the ELF image, but maybe you can give it a try.
>
> Might it be that the u-boot versions differ and therefore the
> pre-Genode hardware/uart initialization causes troubles with HW?
>
> Martin
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-11-08 Thread Martin Stein
Hi Yevgeny, Stefan,

Am 08.11.2017 um 11:29 schrieb Stefan Kalkowski:
> Actually, I have no idea why the HW kernel should not work for you. We
> test it all night, and currently _all_ tests for HW on Wandboard are
> green. I can confirm the trouble you experience with init.run and
> bomb.run on top of sel4. I think there exist resource limitations
> regarding Genode/Sel4 that lead to those problems.
> 
> The only difference in between your setup, and our nightly test scenario
> is that we use u-boot's "uImage" format and the "bootm" command instead
> of the "bootelf" command, because the latter is not enabled in most
> pre-installed u-boot variants. You can produce a ready to use uImage
> when adding the following run-tool option to your "etc/build.conf":
> 
>   RUN_OPT += --include image/uboot
> 
> I should wonder if it makes any difference to boot the uImage instead of
> the ELF image, but maybe you can give it a try.

Might it be that the u-boot versions differ and therefore the
pre-Genode hardware/uart initialization causes troubles with HW?

Martin

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-11-08 Thread Stefan Kalkowski
Hi Yevgeny,


On 11/08/2017 08:40 AM, Yevgeny Lavrov wrote:
> Hi,
> 
> Unfortunately, it never gets to the point where it says "Run script
> execution successful", everything breaks once it reaches step 33 of the
> init.run script. I've also given a try to Genode/seL4 on Wandboard Quad,
> but ended up with the same result. Other scripts (except bomb, part_blk
> and resource_request) ran w/o any problems. Fresh, out of the box copy
> of Genode 17.08 breaks in the same spot when executed on Wandboard Quad,
> so I'm including complete serial output to this e-mail for you to take a
> look.
> 
> Another issue with Wandboard Quad that I've encountered is: when
> compiling Genode with hw kernel, for some reason, I can't observe any
> output over the serial.   
> 
> Hit any key to stop autoboot: 0
> => fatload mmc 0 0x3000 image.elf
> reading image.elf
> 1897104 bytes read in 109 ms (16.6 MiB/s)
> => bootelf 0x3000
> ## Starting application at 0x10001000 ...
> 
> Nothing after this point. However, when compiled with seL4 kernel
> instead of default hw, this problem goes away.  Any suggestions on what
> might be causing it?

Actually, I have no idea why the HW kernel should not work for you. We
test it all night, and currently _all_ tests for HW on Wandboard are
green. I can confirm the trouble you experience with init.run and
bomb.run on top of sel4. I think there exist resource limitations
regarding Genode/Sel4 that lead to those problems.

The only difference in between your setup, and our nightly test scenario
is that we use u-boot's "uImage" format and the "bootm" command instead
of the "bootelf" command, because the latter is not enabled in most
pre-installed u-boot variants. You can produce a ready to use uImage
when adding the following run-tool option to your "etc/build.conf":

  RUN_OPT += --include image/uboot

I should wonder if it makes any difference to boot the uImage instead of
the ELF image, but maybe you can give it a try.

Regards
Stefan

> 
> Serial Output: Fresh copy of Genode 17.08/seL4 on Wandboard Quad
> 
> Hit any key to stop autoboot: 
> 0 
>  
> 
> => fatload mmc 0 0x3000
> image.elf 
> 
> 
> reading
> image.elf 
> 
> 
> 2195928 bytes read in 123 ms (17
> MiB/s)
>    
> 
> => bootelf
> 0x3000
>  
> 
> ## Starting application at 0x2000
> ...   
>   
> 
>   
> 
> 
> ELF-loader started on CPU: ARM Ltd. Cortex-A9
> r2p10 
>   
> 
>  
> paddr=[2000..2020801f]
>   
> 
> ELF-loading image
> 'kernel'  
>   
> 
>  
> paddr=[1000..10039fff]
>   
> 
>  
> vaddr=[e000..e0039fff]
>   
> 
>  
> virt_entry=e000   
>   
> 
> ELF-loading image
> 'genode.elf'  
>   
> 
>  
> paddr=[1003a000..10320fff]
>   
> 
>  
> vaddr=[200..22e6fff]  
>   
> 
>  
> virt_entry=200
>   
> 
> Enabling MMU and
> paging
>    
> 
> Jumping to kernel-image entry
> point... 

Re: Genode on i.MX6Q Sabre Lite

2017-11-08 Thread Norman Feske
Hi Yevgeny,

> no RM attachment (READ pf_addr=0x5f868 pf_ip=0x5f868 from pager_object:
> pd='init -> init -> log' thread='ep')
> 
> On x86_64, run/init occasionally fails with the same "no RM attachment"
> error, but unlike on Sabre Lite or Wandboard, this error does not occur
> every time, but if it does, it usually occurs in different places. On my
> yesterday run, 3 out of 10 trials resulted in "no RM attachment" error. 

for the record, I am able to reproduce the problem with the current
version on Qemu/x86_64. Unfortunately, I cannot look into it right now.

Regards
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-10-05 Thread Yevgeny Lavrov
Hi

When trying various test scripts, I ran into the following problem while
executing "run/init" script on Sabre Lite

[init -> test-init] step 32 (init_config)
[init -> test-init] step 33 (expect_log)
[init -> test-init] [init -> log] config 3: became unavailable (ignored)
no RM attachment (READ pf_addr=0x5f75c pf_ip=0x5f75c from pager_object:
pd='init -> init -> log' thread='ep')

Are there any suggestions on what might be causing it?

And, is it possible to reproduce the USB Armory's "run/tz_vmm" scenario on
i.MX6 platform?

Thanks


On Fri, Sep 29, 2017 at 2:07 AM, Yevgeny Lavrov  wrote:

> Hi
>
> Now that I have Genode running on i.MX6 under both kernels, hw and seL4, I
> want to move to my next objective, which is to bring up Linux on top of
> Genode/hw on ARM. Is there any already existing run script that I may use
> (as a reference) to achieve that on i.MX6 platform? Do I need
> virtualization for this?
>
> Cheers
>
> On Wed, Sep 13, 2017 at 4:45 PM, Yevgeny Lavrov 
> wrote:
>
>> Thank you for quick reply.
>>
>> It was very helpful, and pointed me in the right direction. The answer
>> was hiding within repos/base-sel4/patches/wand_quad.config, I somehow
>> overlooked this directory while looking for answers.
>> It turned out to be a one line fix in /contrib/sel4-> >/src/kernel/sel4/configs/imx6/sabre_lite/autoconf.h file.
>> Changing #define CONFIG_PLAT_WANDQ 1 to #define CONFIG_PLAT_SABRE 1 did
>> the trick. Now I can observe outputs from elf-loader tool, seL4 and Genode.
>>
>> Cheers
>>
>>
>> On Wed, Sep 13, 2017 at 8:30 AM, Christian Helmuth <
>> christian.helm...@genode-labs.com> wrote:
>>
>>> On Wed, Sep 13, 2017 at 12:44:11PM +0200, Alexander Boettcher wrote:
>>> > On 13.09.2017 08:48, Alexander Boettcher wrote:
>>> > > The UART for Sabre Lite and Wand Quad are not the same, as far as I
>>> know.
>>> >
>>> > Sorry, my assumption seems to be wrong, since the messages above are
>>> > from the seL4 elfloader already.
>>> >
>>> > So I presume you have just to adjust the seL4 kernel autoconf.h to
>>> match
>>> > the Sabre lite board.
>>>
>>> The kernel differentiates Sabre Lite and Wandboard regarding UART
>>> config and available RAM.
>>>
>>>   $ grep -rnA2 'CONFIG_PLAT_SABRE\|CONFIG_PLAT_WANDQ' .
>>>   ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h:75:#define
>>> CONFIG_PLAT_WANDQ 1
>>>   ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-76-#define
>>> CONFIG_HAVE_LIB_PLATSUPPORT 1
>>>   ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-77-#define
>>> CONFIG_NUM_DOMAINS 16
>>>   --
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:55:#if
>>> defined(CONFIG_PLAT_SABRE)
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-56-/*
>>> Sabre has 1 GiB */
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-57-{
>>> /* .start = */ 0x1000, /* .end = */ 0x5000 }
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:58:#elif
>>> defined(CONFIG_PLAT_WANDQ)
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-59-/*
>>> Wandboard Quad: 2 GiB */
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-60-{
>>> /* .start = */ 0x1000, /* .end = */ 0x9000 }
>>>   --
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:15:#ifdef
>>> CONFIG_PLAT_SABRE
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-16-#define
>>> UART_PADDR  UART2_PADDR
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:17:#elif
>>> defined(CONFIG_PLAT_WANDQ)
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-18-#define
>>> UART_PADDR  UART1_PADDR
>>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-19-#else
>>>
>>> Greets
>>> --
>>> Christian Helmuth
>>> Genode Labs
>>>
>>> https://www.genode-labs.com/ · https://genode.org/
>>> https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
>>>
>>> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
>>> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
>>>
>>> 
>>> --
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> ___
>>> genode-main mailing list
>>> genode-main@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>>
>>
>>
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-09-29 Thread Yevgeny Lavrov
Hi

Now that I have Genode running on i.MX6 under both kernels, hw and seL4, I
want to move to my next objective, which is to bring up Linux on top of
Genode/hw on ARM. Is there any already existing run script that I may use
(as a reference) to achieve that on i.MX6 platform? Do I need
virtualization for this?

Cheers

On Wed, Sep 13, 2017 at 4:45 PM, Yevgeny Lavrov  wrote:

> Thank you for quick reply.
>
> It was very helpful, and pointed me in the right direction. The answer
> was hiding within repos/base-sel4/patches/wand_quad.config, I somehow
> overlooked this directory while looking for answers.
> It turned out to be a one line fix in /contrib/sel4-<
> SHA>/src/kernel/sel4/configs/imx6/sabre_lite/autoconf.h file.
> Changing #define CONFIG_PLAT_WANDQ 1 to #define CONFIG_PLAT_SABRE 1 did
> the trick. Now I can observe outputs from elf-loader tool, seL4 and Genode.
>
> Cheers
>
>
> On Wed, Sep 13, 2017 at 8:30 AM, Christian Helmuth <
> christian.helm...@genode-labs.com> wrote:
>
>> On Wed, Sep 13, 2017 at 12:44:11PM +0200, Alexander Boettcher wrote:
>> > On 13.09.2017 08:48, Alexander Boettcher wrote:
>> > > The UART for Sabre Lite and Wand Quad are not the same, as far as I
>> know.
>> >
>> > Sorry, my assumption seems to be wrong, since the messages above are
>> > from the seL4 elfloader already.
>> >
>> > So I presume you have just to adjust the seL4 kernel autoconf.h to match
>> > the Sabre lite board.
>>
>> The kernel differentiates Sabre Lite and Wandboard regarding UART
>> config and available RAM.
>>
>>   $ grep -rnA2 'CONFIG_PLAT_SABRE\|CONFIG_PLAT_WANDQ' .
>>   ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h:75:#define
>> CONFIG_PLAT_WANDQ 1
>>   ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-76-#define
>> CONFIG_HAVE_LIB_PLATSUPPORT 1
>>   ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-77-#define
>> CONFIG_NUM_DOMAINS 16
>>   --
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:55:#if
>> defined(CONFIG_PLAT_SABRE)
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-56-/*
>> Sabre has 1 GiB */
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-57-{
>> /* .start = */ 0x1000, /* .end = */ 0x5000 }
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:58:#elif
>> defined(CONFIG_PLAT_WANDQ)
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-59-/*
>> Wandboard Quad: 2 GiB */
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-60-{
>> /* .start = */ 0x1000, /* .end = */ 0x9000 }
>>   --
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:15:#ifdef
>> CONFIG_PLAT_SABRE
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-16-#define
>> UART_PADDR  UART2_PADDR
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:17:#elif
>> defined(CONFIG_PLAT_WANDQ)
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-18-#define
>> UART_PADDR  UART1_PADDR
>>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-19-#else
>>
>> Greets
>> --
>> Christian Helmuth
>> Genode Labs
>>
>> https://www.genode-labs.com/ · https://genode.org/
>> https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
>>
>> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
>> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
>>
>> 
>> --
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> ___
>> genode-main mailing list
>> genode-main@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>
>
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-09-13 Thread Yevgeny Lavrov
Thank you for quick reply.

It was very helpful, and pointed me in the right direction. The answer was
hiding within repos/base-sel4/patches/wand_quad.config, I somehow
overlooked this directory while looking for answers.
It turned out to be a one line fix in
/contrib/sel4-/src/kernel/sel4/configs/imx6/sabre_lite/autoconf.h
file.
Changing #define CONFIG_PLAT_WANDQ 1 to #define CONFIG_PLAT_SABRE 1 did the
trick. Now I can observe outputs from elf-loader tool, seL4 and Genode.

Cheers


On Wed, Sep 13, 2017 at 8:30 AM, Christian Helmuth <
christian.helm...@genode-labs.com> wrote:

> On Wed, Sep 13, 2017 at 12:44:11PM +0200, Alexander Boettcher wrote:
> > On 13.09.2017 08:48, Alexander Boettcher wrote:
> > > The UART for Sabre Lite and Wand Quad are not the same, as far as I
> know.
> >
> > Sorry, my assumption seems to be wrong, since the messages above are
> > from the seL4 elfloader already.
> >
> > So I presume you have just to adjust the seL4 kernel autoconf.h to match
> > the Sabre lite board.
>
> The kernel differentiates Sabre Lite and Wandboard regarding UART
> config and available RAM.
>
>   $ grep -rnA2 'CONFIG_PLAT_SABRE\|CONFIG_PLAT_WANDQ' .
>   ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h:75:#define
> CONFIG_PLAT_WANDQ 1
>   ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-76-#define
> CONFIG_HAVE_LIB_PLATSUPPORT 1
>   ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-77-#define
> CONFIG_NUM_DOMAINS 16
>   --
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:55:#if
> defined(CONFIG_PLAT_SABRE)
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-56-/*
> Sabre has 1 GiB */
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-57-{ /*
> .start = */ 0x1000, /* .end = */ 0x5000 }
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:58:#elif
> defined(CONFIG_PLAT_WANDQ)
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-59-/*
> Wandboard Quad: 2 GiB */
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-60-{ /*
> .start = */ 0x1000, /* .end = */ 0x9000 }
>   --
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:15:#ifdef
> CONFIG_PLAT_SABRE
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-16-#define
> UART_PADDR  UART2_PADDR
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:17:#elif
> defined(CONFIG_PLAT_WANDQ)
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-18-#define
> UART_PADDR  UART1_PADDR
>   ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-19-#else
>
> Greets
> --
> Christian Helmuth
> Genode Labs
>
> https://www.genode-labs.com/ · https://genode.org/
> https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
>
> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-09-13 Thread Christian Helmuth
On Wed, Sep 13, 2017 at 12:44:11PM +0200, Alexander Boettcher wrote:
> On 13.09.2017 08:48, Alexander Boettcher wrote:
> > The UART for Sabre Lite and Wand Quad are not the same, as far as I know.
> 
> Sorry, my assumption seems to be wrong, since the messages above are
> from the seL4 elfloader already.
> 
> So I presume you have just to adjust the seL4 kernel autoconf.h to match
> the Sabre lite board.

The kernel differentiates Sabre Lite and Wandboard regarding UART
config and available RAM.

  $ grep -rnA2 'CONFIG_PLAT_SABRE\|CONFIG_PLAT_WANDQ' .
  ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h:75:#define 
CONFIG_PLAT_WANDQ 1
  ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-76-#define 
CONFIG_HAVE_LIB_PLATSUPPORT 1
  ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-77-#define 
CONFIG_NUM_DOMAINS 16
  --
  ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:55:#if 
defined(CONFIG_PLAT_SABRE)
  ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-56-/* Sabre 
has 1 GiB */
  ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-57-{ /* 
.start = */ 0x1000, /* .end = */ 0x5000 }
  ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:58:#elif 
defined(CONFIG_PLAT_WANDQ)
  ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-59-/* 
Wandboard Quad: 2 GiB */
  ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-60-{ /* 
.start = */ 0x1000, /* .end = */ 0x9000 }
  --
  ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:15:#ifdef 
CONFIG_PLAT_SABRE
  ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-16-#define 
UART_PADDR  UART2_PADDR
  ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:17:#elif 
defined(CONFIG_PLAT_WANDQ)
  ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-18-#define 
UART_PADDR  UART1_PADDR
  ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-19-#else

Greets
-- 
Christian Helmuth
Genode Labs

https://www.genode-labs.com/ · https://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-09-13 Thread Alexander Boettcher
On 13.09.2017 08:48, Alexander Boettcher wrote:
>> to enable it on Sabre Lite platform, and currently I have no problems
>> running test scenarios under default hw kernel. But when attempting to run
>> Genode with seL4, the boot process hangs up once it reaches "Jumping to
>> kernel-image entry point..."
>>
>> ELF-loader started on CPU: ARM Ltd. Cortex-A9 r2p10
>>  paddr=[2000..201bc01f]
>> ELF-loading image 'kernel'
>>  paddr=[1000..10039fff]
>>  vaddr=[e000..e0039fff]
>>  virt_entry=e000
>> ELF-loading image 'genode.elf'
>>  paddr=[1003a000..10261fff]
>>  vaddr=[200..2227fff]
>>  virt_entry=200
>> Enabling MMU and paging
>> Jumping to kernel-image entry point...
> 
> The UART for Sabre Lite and Wand Quad are not the same, as far as I know.

Sorry, my assumption seems to be wrong, since the messages above are
from the seL4 elfloader already.

So I presume you have just to adjust the seL4 kernel autoconf.h to match
the Sabre lite board.

> Also, the seL4 kernel configuration (autoconf.h) is adjusted to match
> the Wand Quad board, and not the Sabre Lite board, see
> 
> repos/base-sel4/patches/wand_quad.config
> repos/base-sel4/ports/sel4.port

-- 
Alexander Boettcher
Genode Labs

http://www.genode-labs.com - http://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-09-13 Thread Alexander Boettcher
Hello,

On 13.09.2017 00:31, Yevgeny Lavrov wrote:
> With Genode 17.08 released, what is the current level of support for
> Genode/seL4 on i.MX6 platform? I've applied my previous changes to Genode

as written in the release notes, we support out-of-the-box the i.MX6
based Wand-Quad board.

> to enable it on Sabre Lite platform, and currently I have no problems
> running test scenarios under default hw kernel. But when attempting to run
> Genode with seL4, the boot process hangs up once it reaches "Jumping to
> kernel-image entry point..."
> 
> ELF-loader started on CPU: ARM Ltd. Cortex-A9 r2p10
>  paddr=[2000..201bc01f]
> ELF-loading image 'kernel'
>  paddr=[1000..10039fff]
>  vaddr=[e000..e0039fff]
>  virt_entry=e000
> ELF-loading image 'genode.elf'
>  paddr=[1003a000..10261fff]
>  vaddr=[200..2227fff]
>  virt_entry=200
> Enabling MMU and paging
> Jumping to kernel-image entry point...

The UART for Sabre Lite and Wand Quad are not the same, as far as I know.

If you have based your modifications on

repos/base-sel4/lib/mk/spec/wand_quad/kernel-sel4.mk

make sure that the line with the "sed" is dropped/removed, because this
line changes the UART "#define" to match the Wand_Quad board (and not
the Sabre Lite) for the elfloader of seL4
(elfloader/src/arch-arm/plat-imx6/platform.h) in the build directory.

Also, the seL4 kernel configuration (autoconf.h) is adjusted to match
the Wand Quad board, and not the Sabre Lite board, see

repos/base-sel4/patches/wand_quad.config
repos/base-sel4/ports/sel4.port

> I've tried to introduce debug statements like Genode's log( ) for core
> component and kernel_debugger_outstring( ) for seL4 side, but it never

You don't get a sign of life of the kernel, so you will not get any sign
from Genode either. Genode uses the debug facility of the seL4 kernel to
print messages, so you have to have to set the right board (autoconf.h)
and UART configuration for the seL4 elfloader
(elfloader/src/arch-arm/plat-imx6/platform.h).

> reaches any of them. Is it even possible to run a simple Genode scenario
> (e.g., run/log or run/init) on seL4 on ARM at the moment?

Sure, on the Wand Quad board all tests of tool/autopilot.list for
Genode/seL4 are executed every night and the results look fine.

Cheers.

> 
> Thank you
> 
> On Mon, Jun 26, 2017 at 12:14 AM, Yevgeny Lavrov 
> wrote:
> 
>> Hi, Norman
>>
>>> I wonder, how exactly are you running the image on the board?
>> I normally just copy created image over to SD card and then run it via
>> bootelf command.
>>
>>> In contrast, on ARM, everything (seL4 kernel + Genode) must be contained
>> in a single image. The details of how such an image is assembled is
>> kernel-specific
>> This might explain why the image didn't give me any output. I ended up
>> with two images: image.elf & sel4.elf instead of just image.elf in my
>> /var/run/log/
>>
>>> Consequently, there must exist a seL4-specific tool for creating it. Can
>> you please elaborate, which tool you use and which particular steps you
>> take?
>> Didn't think of any tool for combining image.elf & sel4.elf together until
>> I got your reply. Only thought of modifying /tool/run/boot_dir/sel4 file.
>> I'll give Hinnerks elfloader-tool a try today.
>>
>>> Have you tried to run a non-Genode-based seL4 image on the hardware? I
>> would not try to run
>>> Genode on the device before running a simple seL4 example first.
>>
>> Yes, this was my starting point. All seL4 apps ran w/o any problems.
>>
>> Thanks
>>
>> On Fri, Jun 23, 2017 at 7:20 PM, Hinnerk van Bruinehsen <
>> h.v.bruineh...@fu-berlin.de> wrote:
>>
>>> On Fri, Jun 23, 2017 at 12:00:42PM +0200, Norman Feske wrote:
 Hello Yevgeny,

 On 23.06.2017 05:31, Yevgeny Lavrov wrote:
> Running the image on board gave no result, apart from msg: ## Starting
> application at 0x10001000 ...

 I wonder, how exactly are you running the image on the board? In
 particular, how is the image created?

 I am asking because the boot procedure on ARM is different from
 x86/multiboot. On x86, the kernel and the Genode ELF image are loaded by
 the boot loader (e.g., Grub) as separate boot modules. The kernel is
 started by the boot loader. At the startup of the kernel, the kernel
 finds the physical memory location of the Genode ELF image in the
 multiboot information and ELF-loads core by using this information. In
 contrast, on ARM, everything (seL4 kernel + Genode) must be contained in
 a single image. The details of how such an image is assembled is
 kernel-specific. Consequently, there must exist a seL4-specific tool for
 creating it. Can you please elaborate, which tool you use and which
 particular steps you take?

 Another potential pitfall would be the use of the wrong UART or the use
 of a kernel configuration without debug support. The latter is needed
 for the kernel-provided 

Re: Genode on i.MX6Q Sabre Lite

2017-09-12 Thread Yevgeny Lavrov
Hi,

With Genode 17.08 released, what is the current level of support for
Genode/seL4 on i.MX6 platform? I've applied my previous changes to Genode
to enable it on Sabre Lite platform, and currently I have no problems
running test scenarios under default hw kernel. But when attempting to run
Genode with seL4, the boot process hangs up once it reaches "Jumping to
kernel-image entry point..."

ELF-loader started on CPU: ARM Ltd. Cortex-A9 r2p10
 paddr=[2000..201bc01f]
ELF-loading image 'kernel'
 paddr=[1000..10039fff]
 vaddr=[e000..e0039fff]
 virt_entry=e000
ELF-loading image 'genode.elf'
 paddr=[1003a000..10261fff]
 vaddr=[200..2227fff]
 virt_entry=200
Enabling MMU and paging
Jumping to kernel-image entry point...

I've tried to introduce debug statements like Genode's log( ) for core
component and kernel_debugger_outstring( ) for seL4 side, but it never
reaches any of them. Is it even possible to run a simple Genode scenario
(e.g., run/log or run/init) on seL4 on ARM at the moment?

Thank you

On Mon, Jun 26, 2017 at 12:14 AM, Yevgeny Lavrov 
wrote:

> Hi, Norman
>
> > I wonder, how exactly are you running the image on the board?
> I normally just copy created image over to SD card and then run it via
> bootelf command.
>
> > In contrast, on ARM, everything (seL4 kernel + Genode) must be contained
> in a single image. The details of how such an image is assembled is
> kernel-specific
> This might explain why the image didn't give me any output. I ended up
> with two images: image.elf & sel4.elf instead of just image.elf in my
> /var/run/log/
>
> > Consequently, there must exist a seL4-specific tool for creating it. Can
> you please elaborate, which tool you use and which particular steps you
> take?
> Didn't think of any tool for combining image.elf & sel4.elf together until
> I got your reply. Only thought of modifying /tool/run/boot_dir/sel4 file.
> I'll give Hinnerks elfloader-tool a try today.
>
> > Have you tried to run a non-Genode-based seL4 image on the hardware? I
> would not try to run
> > Genode on the device before running a simple seL4 example first.
>
> Yes, this was my starting point. All seL4 apps ran w/o any problems.
>
> Thanks
>
> On Fri, Jun 23, 2017 at 7:20 PM, Hinnerk van Bruinehsen <
> h.v.bruineh...@fu-berlin.de> wrote:
>
>> On Fri, Jun 23, 2017 at 12:00:42PM +0200, Norman Feske wrote:
>> > Hello Yevgeny,
>> >
>> > On 23.06.2017 05:31, Yevgeny Lavrov wrote:
>> > > Running the image on board gave no result, apart from msg: ## Starting
>> > > application at 0x10001000 ...
>> >
>> > I wonder, how exactly are you running the image on the board? In
>> > particular, how is the image created?
>> >
>> > I am asking because the boot procedure on ARM is different from
>> > x86/multiboot. On x86, the kernel and the Genode ELF image are loaded by
>> > the boot loader (e.g., Grub) as separate boot modules. The kernel is
>> > started by the boot loader. At the startup of the kernel, the kernel
>> > finds the physical memory location of the Genode ELF image in the
>> > multiboot information and ELF-loads core by using this information. In
>> > contrast, on ARM, everything (seL4 kernel + Genode) must be contained in
>> > a single image. The details of how such an image is assembled is
>> > kernel-specific. Consequently, there must exist a seL4-specific tool for
>> > creating it. Can you please elaborate, which tool you use and which
>> > particular steps you take?
>> >
>> > Another potential pitfall would be the use of the wrong UART or the use
>> > of a kernel configuration without debug support. The latter is needed
>> > for the kernel-provided UART driver. Have you tried to run a
>> > non-Genode-based seL4 image on the hardware? I would not try to run
>> > Genode on the device before running a simple seL4 example first.
>>
>> Hi,
>>
>> I'm using a fork of seL4's elfloader-tool that I've hacked together to
>> create an image that acutally boots (at least it gets into the genode
>> userland image where it is failing).
>> To be clear: I need to add calls to kernel_debugger_outstring as I get
>> a data fault before the logging infrastructure works (I guess due to
>> exception handling not being initialized before the fail occurs).
>>
>> I'm using an am335x based board so I can't test if this works for other
>> hardware, but if anyone is interested you can find my elfloader fork at
>> https://github.com/N8Fear/elfloader-tool
>>
>> The bootable image is then created by running the script from the
>> elfloader dir
>> TOOLPREFIX=arm-none-eabi- PLAT=am335x ./gen_boot_image.sh
>> /build/wega_am335x/var/run/log/sel4
>> /build/wega_am335x/var/run/log/image.elf
>> /tmp/out.elf
>>
>> PLAT and TOOLPREFIX need to be changed accordingly and when building the
>> prelinked elfloader binary PLAT and ARMV needs to be adjusted as well
>> (take a look at the Makefile).
>>
>> I guess for your board you should try PLAT=imx6 for building and for
>> 

Re: Genode on i.MX6Q Sabre Lite

2017-06-25 Thread Yevgeny Lavrov
Hi, Norman

> I wonder, how exactly are you running the image on the board?
I normally just copy created image over to SD card and then run it via
bootelf command.

> In contrast, on ARM, everything (seL4 kernel + Genode) must be contained
in a single image. The details of how such an image is assembled is
kernel-specific
This might explain why the image didn't give me any output. I ended up with
two images: image.elf & sel4.elf instead of just image.elf in my
/var/run/log/

> Consequently, there must exist a seL4-specific tool for creating it. Can
you please elaborate, which tool you use and which particular steps you
take?
Didn't think of any tool for combining image.elf & sel4.elf together until
I got your reply. Only thought of modifying /tool/run/boot_dir/sel4 file.
I'll give Hinnerks elfloader-tool a try today.

> Have you tried to run a non-Genode-based seL4 image on the hardware? I
would not try to run
> Genode on the device before running a simple seL4 example first.

Yes, this was my starting point. All seL4 apps ran w/o any problems.

Thanks

On Fri, Jun 23, 2017 at 7:20 PM, Hinnerk van Bruinehsen <
h.v.bruineh...@fu-berlin.de> wrote:

> On Fri, Jun 23, 2017 at 12:00:42PM +0200, Norman Feske wrote:
> > Hello Yevgeny,
> >
> > On 23.06.2017 05:31, Yevgeny Lavrov wrote:
> > > Running the image on board gave no result, apart from msg: ## Starting
> > > application at 0x10001000 ...
> >
> > I wonder, how exactly are you running the image on the board? In
> > particular, how is the image created?
> >
> > I am asking because the boot procedure on ARM is different from
> > x86/multiboot. On x86, the kernel and the Genode ELF image are loaded by
> > the boot loader (e.g., Grub) as separate boot modules. The kernel is
> > started by the boot loader. At the startup of the kernel, the kernel
> > finds the physical memory location of the Genode ELF image in the
> > multiboot information and ELF-loads core by using this information. In
> > contrast, on ARM, everything (seL4 kernel + Genode) must be contained in
> > a single image. The details of how such an image is assembled is
> > kernel-specific. Consequently, there must exist a seL4-specific tool for
> > creating it. Can you please elaborate, which tool you use and which
> > particular steps you take?
> >
> > Another potential pitfall would be the use of the wrong UART or the use
> > of a kernel configuration without debug support. The latter is needed
> > for the kernel-provided UART driver. Have you tried to run a
> > non-Genode-based seL4 image on the hardware? I would not try to run
> > Genode on the device before running a simple seL4 example first.
>
> Hi,
>
> I'm using a fork of seL4's elfloader-tool that I've hacked together to
> create an image that acutally boots (at least it gets into the genode
> userland image where it is failing).
> To be clear: I need to add calls to kernel_debugger_outstring as I get
> a data fault before the logging infrastructure works (I guess due to
> exception handling not being initialized before the fail occurs).
>
> I'm using an am335x based board so I can't test if this works for other
> hardware, but if anyone is interested you can find my elfloader fork at
> https://github.com/N8Fear/elfloader-tool
>
> The bootable image is then created by running the script from the
> elfloader dir
> TOOLPREFIX=arm-none-eabi- PLAT=am335x ./gen_boot_image.sh
> /build/wega_am335x/var/run/log/sel4
> /build/wega_am335x/var/run/log/image.elf
> /tmp/out.elf
>
> PLAT and TOOLPREFIX need to be changed accordingly and when building the
> prelinked elfloader binary PLAT and ARMV needs to be adjusted as well
> (take a look at the Makefile).
>
> I guess for your board you should try PLAT=imx6 for building and for
> creating the image.
>
> I guess I should do some cleanup if anyone else wants to use the
> stuff...
>
> With kind regards,
> Hinnerk
>
>
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-06-23 Thread Hinnerk van Bruinehsen
On Fri, Jun 23, 2017 at 12:00:42PM +0200, Norman Feske wrote:
> Hello Yevgeny,
> 
> On 23.06.2017 05:31, Yevgeny Lavrov wrote:
> > Running the image on board gave no result, apart from msg: ## Starting
> > application at 0x10001000 ...
> 
> I wonder, how exactly are you running the image on the board? In
> particular, how is the image created?
> 
> I am asking because the boot procedure on ARM is different from
> x86/multiboot. On x86, the kernel and the Genode ELF image are loaded by
> the boot loader (e.g., Grub) as separate boot modules. The kernel is
> started by the boot loader. At the startup of the kernel, the kernel
> finds the physical memory location of the Genode ELF image in the
> multiboot information and ELF-loads core by using this information. In
> contrast, on ARM, everything (seL4 kernel + Genode) must be contained in
> a single image. The details of how such an image is assembled is
> kernel-specific. Consequently, there must exist a seL4-specific tool for
> creating it. Can you please elaborate, which tool you use and which
> particular steps you take?
> 
> Another potential pitfall would be the use of the wrong UART or the use
> of a kernel configuration without debug support. The latter is needed
> for the kernel-provided UART driver. Have you tried to run a
> non-Genode-based seL4 image on the hardware? I would not try to run
> Genode on the device before running a simple seL4 example first.

Hi,

I'm using a fork of seL4's elfloader-tool that I've hacked together to
create an image that acutally boots (at least it gets into the genode
userland image where it is failing).
To be clear: I need to add calls to kernel_debugger_outstring as I get
a data fault before the logging infrastructure works (I guess due to
exception handling not being initialized before the fail occurs).

I'm using an am335x based board so I can't test if this works for other
hardware, but if anyone is interested you can find my elfloader fork at
https://github.com/N8Fear/elfloader-tool

The bootable image is then created by running the script from the
elfloader dir
TOOLPREFIX=arm-none-eabi- PLAT=am335x ./gen_boot_image.sh
/build/wega_am335x/var/run/log/sel4
/build/wega_am335x/var/run/log/image.elf
/tmp/out.elf

PLAT and TOOLPREFIX need to be changed accordingly and when building the
prelinked elfloader binary PLAT and ARMV needs to be adjusted as well
(take a look at the Makefile).

I guess for your board you should try PLAT=imx6 for building and for
creating the image.

I guess I should do some cleanup if anyone else wants to use the
stuff...

With kind regards,
Hinnerk



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-06-23 Thread Norman Feske
Hello Yevgeny,

On 23.06.2017 05:31, Yevgeny Lavrov wrote:
> Running the image on board gave no result, apart from msg: ## Starting
> application at 0x10001000 ...

I wonder, how exactly are you running the image on the board? In
particular, how is the image created?

I am asking because the boot procedure on ARM is different from
x86/multiboot. On x86, the kernel and the Genode ELF image are loaded by
the boot loader (e.g., Grub) as separate boot modules. The kernel is
started by the boot loader. At the startup of the kernel, the kernel
finds the physical memory location of the Genode ELF image in the
multiboot information and ELF-loads core by using this information. In
contrast, on ARM, everything (seL4 kernel + Genode) must be contained in
a single image. The details of how such an image is assembled is
kernel-specific. Consequently, there must exist a seL4-specific tool for
creating it. Can you please elaborate, which tool you use and which
particular steps you take?

Another potential pitfall would be the use of the wrong UART or the use
of a kernel configuration without debug support. The latter is needed
for the kernel-provided UART driver. Have you tried to run a
non-Genode-based seL4 image on the hardware? I would not try to run
Genode on the device before running a simple seL4 example first.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-06-22 Thread Alexander Boettcher
Hi,

On 21.06.2017 21:41, lavro...@critical.com wrote:
> Yes, default_log.cc is listed in core-sel4.mk file. However, I've recently
> noticed that not all of the components listed in SRC_CC actually get to
> compile (including default_log.cc), which results in incomplete core-sel4
> library. After taking a closer look, it turned out that
> io_port_session_support.cc and io_port_session_component.cc are the source
> of this problem. I had them out commented for my sabre_lite build as
> you've previously suggested. Removing them from core-sel4.mk for
> seL4_x86_32 build gave me the same results as for sabre_lite: incomplete
> core-seL4 library

now I get the same error. You can't just uncomment it with '#', because
all followed files will _not_ be added anymore. Just remove the lines
completely. The issue here is that all files are concatenated by the '\'
at the end of each line. If you uncomment one in between, all lines (and
therefore files) below will not be compiled anymore.

> 
> Library core-sel4
> COMPILE  cpu_session_component.o
> COMPILE  cpu_session_support.o
> COMPILE  cpu_thread_component.o
> COMPILE  io_mem_session_component.o
> COMPILE  io_mem_session_support.o
> COMPILE  main.o
> COMPILE  pd_assign_pci.o
> COMPILE  pd_session_component.o
> COMPILE  pd_upgrade_ram_quota.o
> COMPILE  ram_session_component.o
> COMPILE  ram_session_support.o
> COMPILE  rom_session_component.o
> COMPILE  rpc_cap_factory.o
> COMPILE  version.o
> MERGEcore-sel4.lib.a
> 
> and the same "undefined reference" errors at the end.
> Now that I know where the problem is: what can I do from here?
> 
>>> Please check that you compile and link the
>>> file to core. Check that the symbol actually shows up as symbol in
>>> core.o, e.g. by examining the output of "readelf -s
>>> build//core/sel4/core.o".

In case it is successful, on x86 I get:

readelf -s build/x86_32/core/sel4/core-sel4.o | grep log | grep Log

 7729:  0 NOTYPE  GLOBAL DEFAULT  UND _ZN6Genode3Log3logEv

Here you see the symbol part of core.o.


-- 
Alexander Boettcher
Genode Labs

http://www.genode-labs.com - http://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-06-19 Thread Alexander Boettcher
Hello,

On 16.06.2017 08:39, Yevgeny Lavrov wrote:
> Are there any suggestions on what might be causing linking between seL4 and
> Genode to fail?
> It fails once it reaches /tool/run/run: proc build_core {lib
> modules target link_address} with "undefined reference" errors.

Which "undefined references" ? If it is still the Log* methods, see below.

> Do I need to add bootstrap to my build? The similar way it is done when
> compiling Genode with hw kernel?
> I would really appreciate any suggestions or ideas on where to look.

no, bootstrap of hw is a wrong direction. (It's specific for hw and
can't be used with any other kernel.)

>> genode build completed
>> using 'ld-sel4.lib.so' as 'ld.lib.so'
>> using 'sel4/core.o' as 'core.o'
>> core/sel4/core.o: In function `error> (&)[18], void*&, char const (&)[35], void*, char const (&)[2]>':
>> ../genode-17.02/repos/base/include/base/log.h:131: undefined reference to
>> `Genode::Log::log()'
>> core/sel4/core.o: In function `warning> (&)[21], char const*, char const (&)[31]>':
>> ../genode-17.02/repos/base/include/base/log.h:119: undefined reference to
>> `Genode::Log::log()'
>> core/sel4/core.o: In function `error> Genode::Avl_node_base*&, char const (&)[22]>':
>> ../genode-17.02/repos/base/include/base/log.h:131: undefined reference to
>> `Genode::Log::log()'
>> ...

Log::log, e.g., is implemented in repos/base/src/lib/base/default_log.cc
and normally compiled by repos/base-sel4/lib/mk/core-sel4.mk.

It seems that it is missing. Please check that you compile and link the
file to core. Check that the symbol actually shows up as symbol in
core.o, e.g. by examining the output of "readelf -s
build//core/sel4/core.o".

Cheers,

-- 
Alexander Boettcher
Genode Labs

http://www.genode-labs.com - http://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-06-16 Thread Yevgeny Lavrov
Hi

Are there any suggestions on what might be causing linking between seL4 and
Genode to fail?
It fails once it reaches /tool/run/run: proc build_core {lib
modules target link_address} with "undefined reference" errors.

# link final image
exec [cross_dev_prefix]g++ {*}$arch -nostdlib {*}[core_ld_opts] \
   -Wl,-z -Wl,max-page-size=0x1000 \
   -Wl,-Ttext=$link_address -Wl,-gc-sections \
   -Wl,-nostdlib -Wl,--whole-archive
-Wl,--start-group \
   $lib [run_dir].boot_modules.o
-Wl,--no-whole-archive \
   -Wl,--end-group $libgcc -o $target

Do I need to add bootstrap to my build? The similar way it is done when
compiling Genode with hw kernel?
I would really appreciate any suggestions or ideas on where to look.

Thank you

On Tue, May 9, 2017 at 7:33 PM, Yevgeny Lavrov  wrote:

> Hi,
>
> I kept experimenting with Genode/seL4 and I ran into the following issue
> that I can't solve. I have no more problems compiling Genode with seL4
> kernel, but my build always ends with a lot of "undefined reference" errors:
> Ex:
>
> genode build completed
> using 'ld-sel4.lib.so' as 'ld.lib.so'
> using 'sel4/core.o' as 'core.o'
> core/sel4/core.o: In function `error (&)[18], void*&, char const (&)[35], void*, char const (&)[2]>':
> ../genode-17.02/repos/base/include/base/log.h:131: undefined reference to
> `Genode::Log::log()'
> core/sel4/core.o: In function `warning (&)[21], char const*, char const (&)[31]>':
> ../genode-17.02/repos/base/include/base/log.h:119: undefined reference to
> `Genode::Log::log()'
> core/sel4/core.o: In function `error Genode::Avl_node_base*&, char const (&)[22]>':
> ../genode-17.02/repos/base/include/base/log.h:131: undefined reference to
> `Genode::Log::log()'
> ...
>
> It looks like the linking between Genode & seL4 fails at some point. I
> think that this is caused by //tool/run/boot_dir/sel4 file,
> so I'm trying to change it so that it looks more like run/boot_dir/hw
> Am I on the right track, or is there something else that I'm missing?
>
> Thank you
>
> On Mon, Apr 10, 2017 at 2:49 AM, Norman Feske <
> norman.fe...@genode-labs.com> wrote:
>
>> Hello Yevgeny
>>
>> > For now I just want to confirm one thing about core-seL4.mk file. Want
>> > to make sure that I understand everything correctly.
>> > The files that are included through SRC_CC in core-seL4.mk. Not all of
>> > them are present in base-seL4/src/core. So, where does it pull the files
>> > that are not in base-sel4/src/core? Do they come from
>> > repos/base/src/core directory?
>>
>> the files are obtained according to the 'vpath' definitions at the end
>> of the core-sel4.mk file. If you want to inspect the build steps in
>> detail, I recommend you to append the "VERBOSE=" argument when invoking
>> make. E.g.,
>>
>>   make core/sel4 VERBOSE=
>>
>> Cheers
>> Norman
>>
>> --
>> Dr.-Ing. Norman Feske
>> Genode Labs
>>
>> http://www.genode-labs.com · http://genode.org
>>
>> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
>> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
>>
>> 
>> --
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> ___
>> genode-main mailing list
>> genode-main@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>
>
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-05-09 Thread Yevgeny Lavrov
Hi,

I kept experimenting with Genode/seL4 and I ran into the following issue
that I can't solve. I have no more problems compiling Genode with seL4
kernel, but my build always ends with a lot of "undefined reference" errors:
Ex:

genode build completed
using 'ld-sel4.lib.so' as 'ld.lib.so'
using 'sel4/core.o' as 'core.o'
core/sel4/core.o: In function `error':
../genode-17.02/repos/base/include/base/log.h:131: undefined reference to
`Genode::Log::log()'
core/sel4/core.o: In function `warning':
../genode-17.02/repos/base/include/base/log.h:119: undefined reference to
`Genode::Log::log()'
core/sel4/core.o: In function `error':
../genode-17.02/repos/base/include/base/log.h:131: undefined reference to
`Genode::Log::log()'
...

It looks like the linking between Genode & seL4 fails at some point. I
think that this is caused by //tool/run/boot_dir/sel4 file, so
I'm trying to change it so that it looks more like run/boot_dir/hw
Am I on the right track, or is there something else that I'm missing?

Thank you

On Mon, Apr 10, 2017 at 2:49 AM, Norman Feske 
wrote:

> Hello Yevgeny
>
> > For now I just want to confirm one thing about core-seL4.mk file. Want
> > to make sure that I understand everything correctly.
> > The files that are included through SRC_CC in core-seL4.mk. Not all of
> > them are present in base-seL4/src/core. So, where does it pull the files
> > that are not in base-sel4/src/core? Do they come from
> > repos/base/src/core directory?
>
> the files are obtained according to the 'vpath' definitions at the end
> of the core-sel4.mk file. If you want to inspect the build steps in
> detail, I recommend you to append the "VERBOSE=" argument when invoking
> make. E.g.,
>
>   make core/sel4 VERBOSE=
>
> Cheers
> Norman
>
> --
> Dr.-Ing. Norman Feske
> Genode Labs
>
> http://www.genode-labs.com · http://genode.org
>
> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-04-10 Thread Norman Feske
Hello Yevgeny

> For now I just want to confirm one thing about core-seL4.mk file. Want
> to make sure that I understand everything correctly.
> The files that are included through SRC_CC in core-seL4.mk. Not all of
> them are present in base-seL4/src/core. So, where does it pull the files
> that are not in base-sel4/src/core? Do they come from
> repos/base/src/core directory?

the files are obtained according to the 'vpath' definitions at the end
of the core-sel4.mk file. If you want to inspect the build steps in
detail, I recommend you to append the "VERBOSE=" argument when invoking
make. E.g.,

  make core/sel4 VERBOSE=

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-04-09 Thread Yevgeny Lavrov
Thanks for the support, and thank you Hinnerk for sharing your GitHub
branch, so far it was very useful to me when dealing with some errors.
I've looked into .mk files from base-hw and yes, the io_port* files only
get added to the core-hw.mk if one compiles for x86_64, so I've excluded
these files from core-sel4.mk file.
After excluding io_port* files, and clearing out seL4 object type related
errors (e.g seL4_X86_4K) it got me through compile phase. The compiled
image hangs on ## Starting application at 0xe000 … which appears to be
an invalid address. All my previous apps were starting at 0x10001000. I've
assumed that this is because I didn't include platform specific files that
can be found in base-hw/src/core/spec and base-hw/src/core/include/spec
directories.

Copying spec files from base-hw dir to my base-seL4/src/core/ directory and
including them into my build didn't give me anything so far. When
attempting to include them into my core-seL4.mk file normally resulted in
one or the other file missing or doesn't exist error. But at least it
improved my understanding of Genode's make process.

For now I just want to confirm one thing about core-seL4.mk file. Want to
make sure that I understand everything correctly.
The files that are included through SRC_CC in core-seL4.mk. Not all of them
are present in base-seL4/src/core. So, where does it pull the files that
are not in base-sel4/src/core? Do they come from repos/base/src/core
directory?

On Tue, Apr 4, 2017 at 5:26 AM, Stefan Kalkowski <
stefan.kalkow...@genode-labs.com> wrote:

> On 04/03/2017 10:49 AM, Martin Stein wrote:
> > Hey Yevgeny.
> >
> > Am 03.04.2017 um 04:49 schrieb Yevgeny Lavrov:
> >> Hi,
> >>
> >> Thanks for the hints. I managed to solve the sd_card_bench issue.
> >> I've tried to print out completion state as Martin suggested by making
> >> the following changes to:
> >> /repos/os/src/drivers/sd_card/spec/imx/driver.cc
> >>
> >> driver.cc : line 131: error("command timed out irqstat: ",
> >> Mmio::read());
> >>
> >> And got the following output during run: “[init -> sd_card_bench] Error:
> >> command timed out irqstat: 0”
> >> I assumed that Genode is unable to locate the device for some reason,
> >> and decided to see if the same approach that worked for the UART would
> >> work here as well.
> >> Went back to /repos/base/include/spec/imx6/drivers/board_base.h and
> >> adjusted the SDHC variables to these values:
> >>
> >> /* SD host controller */
> >> SDHC_IRQ = 56,
> >> SDHC_MMIO_BASE = 0x02198000,
> >>
> >> This did the trick and sd_card_bench successfully executed :)
> >
> > Cool :)
> >
> > Eventhough, I wonder that you were able to successfully do a reset with
> > the other parameters. But maybe there is a second controller at
> > 0x0219 without a card inserted.
> >
>
> In fact, the i.MX6 SoCs have even four different SDHC controllers.
> Obviously, the card-slot of the i.MX6Q Sabre Lite is connected to a
> different controller than the one of the Wandboard.
>
> @m-stein: sorry, I forgot that point when I asked you for support to
> investigate this
>
> Regards
> Stefan
>
> > Cheers,
> > Martin
> >
> > 
> --
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > ___
> > genode-main mailing list
> > genode-main@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/genode-main
> >
>
> --
> Stefan Kalkowski
> Genode Labs
>
> https://github.com/skalk · http://genode.org/
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-04-04 Thread Stefan Kalkowski
On 04/03/2017 10:49 AM, Martin Stein wrote:
> Hey Yevgeny.
> 
> Am 03.04.2017 um 04:49 schrieb Yevgeny Lavrov:
>> Hi,
>>
>> Thanks for the hints. I managed to solve the sd_card_bench issue.
>> I've tried to print out completion state as Martin suggested by making
>> the following changes to:
>> /repos/os/src/drivers/sd_card/spec/imx/driver.cc
>>
>> driver.cc : line 131: error("command timed out irqstat: ",
>> Mmio::read());
>>
>> And got the following output during run: “[init -> sd_card_bench] Error:
>> command timed out irqstat: 0”
>> I assumed that Genode is unable to locate the device for some reason,
>> and decided to see if the same approach that worked for the UART would
>> work here as well.
>> Went back to /repos/base/include/spec/imx6/drivers/board_base.h and
>> adjusted the SDHC variables to these values:
>>
>> /* SD host controller */
>> SDHC_IRQ = 56,
>> SDHC_MMIO_BASE = 0x02198000,
>>
>> This did the trick and sd_card_bench successfully executed :)
> 
> Cool :)
> 
> Eventhough, I wonder that you were able to successfully do a reset with
> the other parameters. But maybe there is a second controller at
> 0x0219 without a card inserted.
> 

In fact, the i.MX6 SoCs have even four different SDHC controllers.
Obviously, the card-slot of the i.MX6Q Sabre Lite is connected to a
different controller than the one of the Wandboard.

@m-stein: sorry, I forgot that point when I asked you for support to
investigate this

Regards
Stefan

> Cheers,
> Martin
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

https://github.com/skalk · http://genode.org/

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-04-03 Thread Hinnerk van Bruinehsen
Hi,

I have done some testing to get seL4 and Genode boot on an ARM device
(AM335x based). I have a branch on github that got into the Genode
userland code, but it sadly isn't that up to date (from december 2016).
I just broke x86 support for testing purposes (as it is more or less
hard coded in Genode's seL4 code).

https://github.com/N8Fear/genode/tree/sel4-am335x

There are a few more things to consider:
 - my board uses barebox as bootloader (an uboot fork, so I guess much
 would work for uboot, too)
 - I also used a somewhat hacked version of seL4's elfloader to get an
 image, that combines the seL4 kernel and the genode userland to use
 with uboot. I guess it also may work using the Genode image as
 initramfs, but I never really tried that.
 - The branch referenced above does get into the Genode userland, but
 fails relatively early on due to a cap fault. (You can read the
 simple_root_task.txt from the documentation directory in base-sel4 -
 there is a part about GS-relative addressing of a
 thread-local-storage facility. My guess is, that that's the point
 were it fails on my branch).

I guess the real question is, considering that Genode+seL4 on ARM is
planned for this year, how much work makes sense. Especially because it
would really only make sense, if one has a concept to split the code in
a way that allows to build seL4 for different architectures at the same
time, which essentially means, that the code could be upstreamed. To get
that done, likely would required a certain ammount of coordination with
upstream...

WKR Hinnerk

On Mon, Apr 03, 2017 at 10:36:48AM +0200, Alexander Boettcher wrote:
> Hi,
> 
> On 03.04.2017 04:49, Yevgeny Lavrov wrote:
> > This did the trick and sd_card_bench successfully executed :)
> 
> Good !
> 
> > On seL4 side I got this far:
> > The error occurs once the build process hits one of the files within this
> > directory: base-sel4/src/core and these files appear to be Genode specific.
> > I was able to clear out errors that are caused by wrong object types, but I
> > hit dead end once I reach io_port_session_support.c
> 
> io_ports are a speciality on x86, so on ARM you have to skip the
> io_port* files completely. (On base-hw, which runs x86 and arm, look
> there into the mk files, where the io_port* files depended on the
> platform are added or not).
> 
> Cheers,
> 
> Alex.
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-04-03 Thread Martin Stein
Hey Yevgeny.

Am 03.04.2017 um 04:49 schrieb Yevgeny Lavrov:
> Hi,
> 
> Thanks for the hints. I managed to solve the sd_card_bench issue.
> I've tried to print out completion state as Martin suggested by making
> the following changes to:
> /repos/os/src/drivers/sd_card/spec/imx/driver.cc
> 
> driver.cc : line 131: error("command timed out irqstat: ",
> Mmio::read());
> 
> And got the following output during run: “[init -> sd_card_bench] Error:
> command timed out irqstat: 0”
> I assumed that Genode is unable to locate the device for some reason,
> and decided to see if the same approach that worked for the UART would
> work here as well.
> Went back to /repos/base/include/spec/imx6/drivers/board_base.h and
> adjusted the SDHC variables to these values:
> 
> /* SD host controller */
> SDHC_IRQ = 56,
> SDHC_MMIO_BASE = 0x02198000,
> 
> This did the trick and sd_card_bench successfully executed :)

Cool :)

Eventhough, I wonder that you were able to successfully do a reset with
the other parameters. But maybe there is a second controller at
0x0219 without a card inserted.

Cheers,
Martin

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-04-03 Thread Alexander Boettcher
Hi,

On 03.04.2017 04:49, Yevgeny Lavrov wrote:
> This did the trick and sd_card_bench successfully executed :)

Good !

> On seL4 side I got this far:
> The error occurs once the build process hits one of the files within this
> directory: base-sel4/src/core and these files appear to be Genode specific.
> I was able to clear out errors that are caused by wrong object types, but I
> hit dead end once I reach io_port_session_support.c

io_ports are a speciality on x86, so on ARM you have to skip the
io_port* files completely. (On base-hw, which runs x86 and arm, look
there into the mk files, where the io_port* files depended on the
platform are added or not).

Cheers,

Alex.

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-03-30 Thread Alexander Boettcher
Hi,

On 29.03.2017 15:06, Martin Stein wrote:
>> And if it is possible, can you please suggest me a starting point for
>> Genode/seL4 on i.MX6? I'm currently going through files in
>> repos/base-sel4 directory and trying to make sense out of it. I'm still
>> quite new to ARM platforms, as well as Genode and seL4 kernel, so I
>> would greatly appreciate any thoughts or ideas of where to begin.
> 
> Unfortunately, I'm not that familiar with base-sel4. Maybe someone else
> can answer this?

Look for any x86 specific configuration/files in base-sel4 and come up
with imx6 specific ones, I would guess. E.g. if you search for x86* you
find in

repos/base-sel4/lib/mk/spec/x86_32

several files which setup the sel4 kernel for x86 (build the sel4
kernel, sel4 kernel bindings etc.). This must be (probably) also added to

repos/base-sel4/lib/mk/spec/imx6/

(somehow similar as base-hw does).

For example in repos/base-sel4/lib/mk/spec/x86_32/kernel-sel4.mk the
seL4 kernel is build for x86_32. Here you have to come up with a
kernel-sel4.mk in the imx6 folder which builds the sel4 kernel for
imx6/Sabre lite. How this is exactly is done, you have to check the
documentation of seL4.

Cheers,

Alex.

-- 
Alexander Boettcher
Genode Labs

http://www.genode-labs.com - http://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-03-29 Thread Martin Stein
Hi Yevgeny,

Am 29.03.2017 um 10:53 schrieb Yevgeny Lavrov:
> Thank you for providing me this list, Stefan. I ran every single script
> from this list on my Sabre Lite, and the majority of them succeeded,
> except the following three: bomb, part_blk, and sd_card_bench.
> The sd_card_bench gave me the following msg:
> 
> [init] child "timer" announces service "Timer"
> [init -> sd_card_bench] Error: command timed out
> [init -> sd_card_bench] Error: Send_if_cond command failed
> [init -> sd_card_bench] Error: Uncaught exception of type
> 'Sd_card::Host_controller::Detection_failed'
> [init -> sd_card_bench] Warning: abort called - thread: ep
> [init] child "sd_card_bench" exited with exit value 1
> 
> Can it be caused by the wrong values of SDHC_IRQ and SDHC_MMIO_BASE in
> imx6/drivers/board_base.h?

I don't think that this is the problem. At this point, you have already
reset the component (excludes wrong MMIO base) and IRQs are not needed
for Send_if_cond (we poll for completion). It's more likely that there's
a problem with card initialization. Could you please print out
completion state in [1] like...

error("command timed out irqstat: ", read());

... and send the result? This might give a glue about whats happened.

> Just to make sure. When a test module exits with "exit value 0", does it
> mean that the test module succeeded, or something else?

This depends on the surrounding test environment (eg. the parent
component of the test component or the run script that runs the scenario
with the test component). If "Init" is the parent, it simply prints out
"child X exited with value Y". We sometimes use this in run scripts to
determine if a test succeeded, but there's no general heuristic about that.

> And if it is possible, can you please suggest me a starting point for
> Genode/seL4 on i.MX6? I'm currently going through files in
> repos/base-sel4 directory and trying to make sense out of it. I'm still
> quite new to ARM platforms, as well as Genode and seL4 kernel, so I
> would greatly appreciate any thoughts or ideas of where to begin.

Unfortunately, I'm not that familiar with base-sel4. Maybe someone else
can answer this?

Cheers,
Martin

[1] os/src/drivers/sd_card/spec/imx/driver.cc:132

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-03-29 Thread Yevgeny Lavrov
Thank you for providing me this list, Stefan. I ran every single script
from this list on my Sabre Lite, and the majority of them succeeded, except
the following three: bomb, part_blk, and sd_card_bench.
The sd_card_bench gave me the following msg:

[init] child "timer" announces service "Timer"
[init -> sd_card_bench] Error: command timed out
[init -> sd_card_bench] Error: Send_if_cond command failed
[init -> sd_card_bench] Error: Uncaught exception of type
'Sd_card::Host_controller::Detection_failed'
[init -> sd_card_bench] Warning: abort called - thread: ep
[init] child "sd_card_bench" exited with exit value 1

Can it be caused by the wrong values of SDHC_IRQ and SDHC_MMIO_BASE in
imx6/drivers/board_base.h?

Just to make sure. When a test module exits with "exit value 0", does it
mean that the test module succeeded, or something else?

And if it is possible, can you please suggest me a starting point for
Genode/seL4 on i.MX6? I'm currently going through files in repos/base-sel4
directory and trying to make sense out of it. I'm still quite new to ARM
platforms, as well as Genode and seL4 kernel, so I would greatly appreciate
any thoughts or ideas of where to begin.

Thank you
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main


Re: Genode on i.MX6Q Sabre Lite

2017-03-27 Thread Stefan Kalkowski
Hi,

On 03/27/2017 09:14 AM, Yevgeny Lavrov wrote:
> Excellent :) Thank you for guiding me through it. Is there anything else
> in Genode, other than log that I can try on Sabre Lite to make sure that
> it works?

The following run-scripts run successfully each night on the Wandboard,
and therefore should succeed on your board too:

affinity
blk_cache
bomb
clipboard
cpu_quota
cpu_sampler
ds_ownership
fault_detection
fpu
fs_log
init
ldso
libc_getenv
libc_pipe
libc_vfs
libc_vfs_block
libc_vfs_ext2
libc_vfs_fs
libc_vfs_ram
moon
new_delete
nic_loopback
noux
part_blk
pthread
ram_fs_chunk
reconstructible
report_rom
resource_request
resource_yield
rm_fault
rom_blk
rom_filter
rump_ext2
rust
sd_card_bench
signal
sub_rm
synced_interface
trace
util_mmio
xml_generator
xml_node

However, the only test here that deals with hardware beside the CPU or
timer is the sd_card_bench test. There is almost no peripheral device
driver support available for Genode on i.MX6 except the SD-card driver.
So if you want to run more sophisticated setups including graphics,
network, or input you could concentrate on writing or porting related
drivers first.

Best regards
Stefan

> My current goal is to get Genode running on top of seL4 micro kernel on
> ARM platform. I'm aware that Genode/seL4 support for ARM is scheduled
> for August 2017, but maybe there's anything that I can start
> experimenting with now?
> 
> Thank you
> 
> On Thu, Mar 23, 2017 at 4:15 AM, Stefan Kalkowski
>  > wrote:
> 
> Hi,
> 
> On 03/23/2017 04:10 AM, Yevgeny Lavrov wrote:
> > I've made the necessary changes to UART variables, and lowered the
> > amount of RAM by making RAM0_SIZE = 0x2000. After executing the
> > image.elf on Sabre Lite, I got the following output:
> >
> > ## Starting application at 0x10001000
> > ...
> >
> > :virt_alloc: Allocator 0x200f40b4
> > dump:
> >
> >  Block: [0x1000,0x10001000] size=0x1000 avail=0x1000
> > max_avail=0x1000
> >
> >  Block: [0x105ad000,0x20001000] size=0xfa54000 avail=0xfa54000
> > max_avail=0xbfe5b000
> >
> >  Block: [0x201a4000,0x201a5000] size=0x1000 avail=0x0
> > max_avail=0x0
> >
> >  Block: [0x201a5000,0xe000] size=0xbfe5b000 avail=0xbfe5b000
> > max_avail=0xbfe5b000
> >
> >  Block: [0xf0004000,0xf0005000] size=0x1000 avail=0x0
> > max_avail=0xbfe5b000
> >
> >  Block: [0xf0007000,0xf0008000] size=0x1000 avail=0x0
> > max_avail=0x0
> >
> >  Block: [0xf0009000,0xf000a000] size=0x1000 avail=0x0
> > max_avail=0xffe5000
> >
> >  Block: [0xf000a000,0xfffef000] size=0xffe5000 avail=0xffe5000
> > max_avail=0xffe5000
> >
> >  => mem_size=4018765824 (3832 MB) / mem_avail=4018749440 (3832
> > MB)
> >
> >
> >
> > :phys_alloc: Allocator 0x200f3048
> > dump:
> >
> >  Block: [0x1061f000,0x1062] size=0x1000 avail=0x0
> > max_avail=0x0
> >
> >  Block: [0x1062,0x10621000] size=0x1000 avail=0x0
> > max_avail=0x1f9dd000
> >
> >  Block: [0x10621000,0x10622000] size=0x1000 avail=0x0
> > max_avail=0x0
> >
> >  Block: [0x10622000,0x10623000] size=0x1000 avail=0x0
> > max_avail=0x1f9dd000
> >
> >  Block: [0x10623000,0x3000] size=0x1f9dd000 avail=0x1f9dd000
> > max_avail=0x1f9dd000
> >
> >  => mem_size=530452480 (505 MB) / mem_avail=530436096 (505
> > MB)
> >
> >
> >
> > :io_mem_alloc: Allocator 0x200f512c
> > dump:
> >
> >  Block: [0x0,0x1061f000] size=0x1061f000 avail=0x1061f000
> > max_avail=0xcfff
> >
> >  Block: [0x3000,0x] size=0xcfff avail=0xcfff
> > max_avail=0xcfff
> >
> >  => mem_size=3764514815 (3590 MB) / mem_avail=3764514815 (3590
> > MB)
> >
> >
> >
> > :io_port_alloc: Allocator 0x200f6198
> > dump:
> >
> >  => mem_size=0 (0 MB) / mem_avail=0 (0
> > MB)
> >
> >
> >
> > :irq_alloc: Allocator 0x200f7204
> > dump:
> >
> >  Block: [0x0,0x1] size=0x1 avail=0x1
> > max_avail=0x1
> >
> >  Block: [0x2,0x1d] size=0x1b avail=0x1b
> > max_avail=0x3e2
> >
> >  Block: [0x1e,0x400] size=0x3e2 avail=0x3e2
> > max_avail=0x3e2
> >
> >  => mem_size=1022 (0 MB) / mem_avail=1022 (0
> > MB)
> >
> >
> >
> > :rom_fs: ROM
> > modules:
> >
> >  ROM: [101a6000,101a6158)
> > config
> >
> >  ROM: [10182000,101a2178)
> > init
> >
> >  ROM: [10105000,101819a4) ld.lib.so 
> > 
> >
> >  ROM: [101a3000,101a5598)
> > test-log
> >
> >
> >
> >
> > kernel
> > initialized
> >
> > Genode
> > 17.02
> >
> > 504 MiB RAM assigned to
> > init
> >
> > [init -> test-log] hex range:
> > 

Re: Genode on i.MX6Q Sabre Lite

2017-03-27 Thread Yevgeny Lavrov
Excellent :) Thank you for guiding me through it. Is there anything else in
Genode, other than log that I can try on Sabre Lite to make sure that it
works?
My current goal is to get Genode running on top of seL4 micro kernel on ARM
platform. I'm aware that Genode/seL4 support for ARM is scheduled for
August 2017, but maybe there's anything that I can start experimenting with
now?

Thank you

On Thu, Mar 23, 2017 at 4:15 AM, Stefan Kalkowski <
stefan.kalkow...@genode-labs.com> wrote:

> Hi,
>
> On 03/23/2017 04:10 AM, Yevgeny Lavrov wrote:
> > I've made the necessary changes to UART variables, and lowered the
> > amount of RAM by making RAM0_SIZE = 0x2000. After executing the
> > image.elf on Sabre Lite, I got the following output:
> >
> > ## Starting application at 0x10001000
> > ...
> >
> > :virt_alloc: Allocator 0x200f40b4
> > dump:
> >
> >  Block: [0x1000,0x10001000] size=0x1000 avail=0x1000
> > max_avail=0x1000
> >
> >  Block: [0x105ad000,0x20001000] size=0xfa54000 avail=0xfa54000
> > max_avail=0xbfe5b000
> >
> >  Block: [0x201a4000,0x201a5000] size=0x1000 avail=0x0
> > max_avail=0x0
> >
> >  Block: [0x201a5000,0xe000] size=0xbfe5b000 avail=0xbfe5b000
> > max_avail=0xbfe5b000
> >
> >  Block: [0xf0004000,0xf0005000] size=0x1000 avail=0x0
> > max_avail=0xbfe5b000
> >
> >  Block: [0xf0007000,0xf0008000] size=0x1000 avail=0x0
> > max_avail=0x0
> >
> >  Block: [0xf0009000,0xf000a000] size=0x1000 avail=0x0
> > max_avail=0xffe5000
> >
> >  Block: [0xf000a000,0xfffef000] size=0xffe5000 avail=0xffe5000
> > max_avail=0xffe5000
> >
> >  => mem_size=4018765824 (3832 MB) / mem_avail=4018749440 (3832
> > MB)
> >
> >
> >
> > :phys_alloc: Allocator 0x200f3048
> > dump:
> >
> >  Block: [0x1061f000,0x1062] size=0x1000 avail=0x0
> > max_avail=0x0
> >
> >  Block: [0x1062,0x10621000] size=0x1000 avail=0x0
> > max_avail=0x1f9dd000
> >
> >  Block: [0x10621000,0x10622000] size=0x1000 avail=0x0
> > max_avail=0x0
> >
> >  Block: [0x10622000,0x10623000] size=0x1000 avail=0x0
> > max_avail=0x1f9dd000
> >
> >  Block: [0x10623000,0x3000] size=0x1f9dd000 avail=0x1f9dd000
> > max_avail=0x1f9dd000
> >
> >  => mem_size=530452480 (505 MB) / mem_avail=530436096 (505
> > MB)
> >
> >
> >
> > :io_mem_alloc: Allocator 0x200f512c
> > dump:
> >
> >  Block: [0x0,0x1061f000] size=0x1061f000 avail=0x1061f000
> > max_avail=0xcfff
> >
> >  Block: [0x3000,0x] size=0xcfff avail=0xcfff
> > max_avail=0xcfff
> >
> >  => mem_size=3764514815 (3590 MB) / mem_avail=3764514815 (3590
> > MB)
> >
> >
> >
> > :io_port_alloc: Allocator 0x200f6198
> > dump:
> >
> >  => mem_size=0 (0 MB) / mem_avail=0 (0
> > MB)
> >
> >
> >
> > :irq_alloc: Allocator 0x200f7204
> > dump:
> >
> >  Block: [0x0,0x1] size=0x1 avail=0x1
> > max_avail=0x1
> >
> >  Block: [0x2,0x1d] size=0x1b avail=0x1b
> > max_avail=0x3e2
> >
> >  Block: [0x1e,0x400] size=0x3e2 avail=0x3e2
> > max_avail=0x3e2
> >
> >  => mem_size=1022 (0 MB) / mem_avail=1022 (0
> > MB)
> >
> >
> >
> > :rom_fs: ROM
> > modules:
> >
> >  ROM: [101a6000,101a6158)
> > config
> >
> >  ROM: [10182000,101a2178)
> > init
> >
> >  ROM: [10105000,101819a4) ld.lib.so
> > 
> >
> >  ROM: [101a3000,101a5598)
> > test-log
> >
> >
> >
> >
> > kernel
> > initialized
> >
> > Genode
> > 17.02
> >
> > 504 MiB RAM assigned to
> > init
> >
> > [init -> test-log] hex range:
> > [0e00,1680)
> >
> > [init -> test-log] empty hex range:[0abc,0abc)
> > (empty!)
> >
> > [init -> test-log] hex range to limit:
> > [f8,ff]
> >
> > [init -> test-log] invalid hex range:  [f8,08)
> > (overflow!)
> >
> > [init -> test-log] negative hex char:
> > 0xfe
> >
> > [init -> test-log] positive hex char:
> > 0x02
> >
> > [init -> test-log] multiarg string:"parent ->
> > child.7"
> >
> > [init -> test-log] String(Hex(3)):
> > 0x3
> >
> > [init -> test-log] Test done.
> >
> > Is this the desired output from "log"?
> >
> > Thanks
>
> Exactly!
>
> Regards Stefan
>
> >
> > On Wed, Mar 22, 2017 at 6:56 AM, Stefan Kalkowski
> >  > > wrote:
> >
> > Hi,
> >
> > On 03/22/2017 08:14 AM, Yevgeny Lavrov wrote:
> > > Hi
> > >
> > > Thanks for the hint. You're correct about the UART, they are
> different.
> > > Wand uses UART1 = 0x0202 while Sabre Lite uses UART2 which is
> 0x021e800.
> > > I tried Genode 15.02 from the institute of
> > > Madras:|https://github.com/iitmadras/genode/tree/hw_
> sabrelite_tz_support
> > 
> > >  >  >>|,
> > > simple run/printf for now, and it works. I currently use it as a
> > > reference. After comparing board_base.h files for i.MX6 platform, I
> > > noticed that specifically for Sabre Lite the values in the
> board_base.h
> > 

Re: Genode on i.MX6Q Sabre Lite

2017-03-22 Thread Yevgeny Lavrov
I've made the necessary changes to UART variables, and lowered the amount
of RAM by making RAM0_SIZE = 0x2000. After executing the image.elf on
Sabre Lite, I got the following output:

## Starting application at 0x10001000
...

:virt_alloc: Allocator 0x200f40b4
dump:

 Block: [0x1000,0x10001000] size=0x1000 avail=0x1000
max_avail=0x1000

 Block: [0x105ad000,0x20001000] size=0xfa54000 avail=0xfa54000
max_avail=0xbfe5b000

 Block: [0x201a4000,0x201a5000] size=0x1000 avail=0x0
max_avail=0x0

 Block: [0x201a5000,0xe000] size=0xbfe5b000 avail=0xbfe5b000
max_avail=0xbfe5b000

 Block: [0xf0004000,0xf0005000] size=0x1000 avail=0x0
max_avail=0xbfe5b000

 Block: [0xf0007000,0xf0008000] size=0x1000 avail=0x0
max_avail=0x0

 Block: [0xf0009000,0xf000a000] size=0x1000 avail=0x0
max_avail=0xffe5000

 Block: [0xf000a000,0xfffef000] size=0xffe5000 avail=0xffe5000
max_avail=0xffe5000

 => mem_size=4018765824 (3832 MB) / mem_avail=4018749440 (3832
MB)



:phys_alloc: Allocator 0x200f3048
dump:

 Block: [0x1061f000,0x1062] size=0x1000 avail=0x0
max_avail=0x0

 Block: [0x1062,0x10621000] size=0x1000 avail=0x0
max_avail=0x1f9dd000

 Block: [0x10621000,0x10622000] size=0x1000 avail=0x0
max_avail=0x0

 Block: [0x10622000,0x10623000] size=0x1000 avail=0x0
max_avail=0x1f9dd000

 Block: [0x10623000,0x3000] size=0x1f9dd000 avail=0x1f9dd000
max_avail=0x1f9dd000

 => mem_size=530452480 (505 MB) / mem_avail=530436096 (505
MB)



:io_mem_alloc: Allocator 0x200f512c
dump:

 Block: [0x0,0x1061f000] size=0x1061f000 avail=0x1061f000
max_avail=0xcfff

 Block: [0x3000,0x] size=0xcfff avail=0xcfff
max_avail=0xcfff

 => mem_size=3764514815 (3590 MB) / mem_avail=3764514815 (3590
MB)



:io_port_alloc: Allocator 0x200f6198
dump:

 => mem_size=0 (0 MB) / mem_avail=0 (0
MB)



:irq_alloc: Allocator 0x200f7204
dump:

 Block: [0x0,0x1] size=0x1 avail=0x1
max_avail=0x1

 Block: [0x2,0x1d] size=0x1b avail=0x1b
max_avail=0x3e2

 Block: [0x1e,0x400] size=0x3e2 avail=0x3e2
max_avail=0x3e2

 => mem_size=1022 (0 MB) / mem_avail=1022 (0
MB)



:rom_fs: ROM
modules:

 ROM: [101a6000,101a6158)
config

 ROM: [10182000,101a2178)
init

 ROM: [10105000,101819a4) ld.lib.so

 ROM: [101a3000,101a5598)
test-log




kernel
initialized

Genode
17.02

504 MiB RAM assigned to
init

[init -> test-log] hex range:
[0e00,1680)

[init -> test-log] empty hex range:[0abc,0abc)
(empty!)

[init -> test-log] hex range to limit:
[f8,ff]

[init -> test-log] invalid hex range:  [f8,08)
(overflow!)

[init -> test-log] negative hex char:
0xfe

[init -> test-log] positive hex char:
0x02

[init -> test-log] multiarg string:"parent ->
child.7"

[init -> test-log] String(Hex(3)):
0x3

[init -> test-log] Test done.

Is this the desired output from "log"?

Thanks

On Wed, Mar 22, 2017 at 6:56 AM, Stefan Kalkowski <
stefan.kalkow...@genode-labs.com> wrote:

> Hi,
>
> On 03/22/2017 08:14 AM, Yevgeny Lavrov wrote:
> > Hi
> >
> > Thanks for the hint. You're correct about the UART, they are different.
> > Wand uses UART1 = 0x0202 while Sabre Lite uses UART2 which is
> 0x021e800.
> > I tried Genode 15.02 from the institute of
> > Madras:|https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support
> > |,
> > simple run/printf for now, and it works. I currently use it as a
> > reference. After comparing board_base.h files for i.MX6 platform, I
> > noticed that specifically for Sabre Lite the values in the board_base.h
> > from Madras are set to:
> >
> > UART_1_IRQ = 57,
> > UART_1_MMIO_BASE = 0x021e8000,
> >
> > while for Wandboard, they are the same as in Genode 17.02.
> >
> > I don't think that adjusting UART will be as simple as copying these
> > values over to Genode 17.02
> > /repos/base/include/spec/imx6/drivers/board_base.h So if there are any
> > other files involved, would you please tell me what those files are so I
> > know exactly what to look for?
>
> well, if you just want to adjust the code to replace the Wandboard
> definitions with your i.MX 6Q Sabre Lite, it is actually that simple.
> You only have to change the settings in above mentioned file with in the
> 17.02 release.
>
> If you want to add support of your board beside of the Wandboard
> support, you will have to insert a new layer of board definition. But
> being in your position I would first change the current Wandboard
> settings to see whether it works in general.
>
> >
> > How would I lower the RAM size for my build, and what files are involved?
>
> It is the very same file. You have to change the value of RAM0_SIZE.
>
> Regards
> Stefan
>
> >
> > Thank you
> >
> > On Thu, Mar 2, 2017 at 4:53 AM, Stefan Kalkowski
> >  > > wrote:
> >
> > Hi,
> >
> > well, just because both boards Wandboard and i.MX 6Q Sabre Lite are
> > using the same system-on-chip (SoC) does not mean they are
> 

Re: Genode on i.MX6Q Sabre Lite

2017-03-22 Thread Stefan Kalkowski
Hi,

On 03/22/2017 08:14 AM, Yevgeny Lavrov wrote:
> Hi
> 
> Thanks for the hint. You're correct about the UART, they are different.
> Wand uses UART1 = 0x0202 while Sabre Lite uses UART2 which is 0x021e800.
> I tried Genode 15.02 from the institute of
> Madras:|https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support
> |,
> simple run/printf for now, and it works. I currently use it as a
> reference. After comparing board_base.h files for i.MX6 platform, I
> noticed that specifically for Sabre Lite the values in the board_base.h
> from Madras are set to:
> 
> UART_1_IRQ = 57,
> UART_1_MMIO_BASE = 0x021e8000,
> 
> while for Wandboard, they are the same as in Genode 17.02.
> 
> I don't think that adjusting UART will be as simple as copying these
> values over to Genode 17.02
> /repos/base/include/spec/imx6/drivers/board_base.h So if there are any
> other files involved, would you please tell me what those files are so I
> know exactly what to look for?

well, if you just want to adjust the code to replace the Wandboard
definitions with your i.MX 6Q Sabre Lite, it is actually that simple.
You only have to change the settings in above mentioned file with in the
17.02 release.

If you want to add support of your board beside of the Wandboard
support, you will have to insert a new layer of board definition. But
being in your position I would first change the current Wandboard
settings to see whether it works in general.

> 
> How would I lower the RAM size for my build, and what files are involved?

It is the very same file. You have to change the value of RAM0_SIZE.

Regards
Stefan

> 
> Thank you
> 
> On Thu, Mar 2, 2017 at 4:53 AM, Stefan Kalkowski
>  > wrote:
> 
> Hi,
> 
> well, just because both boards Wandboard and i.MX 6Q Sabre Lite are
> using the same system-on-chip (SoC) does not mean they are identical. So
> if you are hesitant to start instrumenting the startup code, e.g., via
> additional log() calls, you can at least compare the high level
> description of the boards. One main issue is which memory slots are used
> by which board, and which UART within the SoC is used for the serial
> line connector of the board.
> 
> One thing that was striking me first when looking at high-level
> description of the Sabre Lite board is that is has just 1 GB of RAM,
> whereby the Wandboard has 2 GB. This is obviously an issue. When
> lowering the RAM size for your setup you potentially will get one step
> ahead. But if they are using different UARTs you will not see any log
> message anyway. In that case you have to check whether both boards use
> the same UART.
> 
> Regards
> Stefan
> 
> On 03/01/2017 08:28 PM, Yevgeny Lavrov wrote:
> > Hello
> >
> > Is there anything from Genode that I can try on i.MX6Q Sabre Lite
> > development board? So far I've already attempted *log* image that I've
> > obtained from compiling Genode for i.MX6 based Wandboard. The fastboot
> > option that gets executed after *$ make run/log *resulted in
> nothing, so
> > I've also tried to copy the created images onto SD Card and run them
> > directly on the board.
> >
> > Steps:
> > Once in u-boot prompt
> >
> > => fatload mmc 0 0x3000 image.elf
> > reading
> > image.elf
> >
> > 1716880 bytes read in 107 ms (15.3 MiB/s)
> > => bootelf 0x3000
> > ## Starting application at 0x10001000 ...
> >
> > Then the terminal hangs w/o any output.
> >
> > Same thing happens when executing uImage
> > => fatload mmc 0 0x3000 uImage
> > reading uImage
> > 594679 bytes read in 48 ms (11.8 MiB/s)
> > => bootm 0x3000
> >
> > Terminal hangs once it reaches: Starting kernel ...
> >
> > Any suggestions on what's wrong?
> >
> > Thank you
> >
> >
> >
> >
> >
> 
> --
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> >
> >
> >
> > ___
> > genode-main mailing list
> > genode-main@lists.sourceforge.net
> 
> > https://lists.sourceforge.net/lists/listinfo/genode-main
> 
> >
> 
> --
> Stefan Kalkowski
> Genode Labs
> 
> https://github.com/skalk · http://genode.org/
> 
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> 

Re: Genode on i.MX6Q Sabre Lite

2017-03-22 Thread Yevgeny Lavrov
Hi

Thanks for the hint. You're correct about the UART, they are different.
Wand uses UART1 = 0x0202 while Sabre Lite uses UART2 which is 0x021e800.
I tried Genode 15.02 from the institute of Madras:
https://github.com/iitmadras/genode/tree/hw_sabrelite_tz_support, simple
run/printf for now, and it works. I currently use it as a reference. After
comparing board_base.h files for i.MX6 platform, I noticed that
specifically for Sabre Lite the values in the board_base.h from Madras are
set to:

UART_1_IRQ = 57,
UART_1_MMIO_BASE = 0x021e8000,

while for Wandboard, they are the same as in Genode 17.02.

I don't think that adjusting UART will be as simple as copying these values
over to Genode 17.02 /repos/base/include/spec/imx6/drivers/board_base.h So
if there are any other files involved, would you please tell me what those
files are so I know exactly what to look for?

How would I lower the RAM size for my build, and what files are involved?

Thank you

On Thu, Mar 2, 2017 at 4:53 AM, Stefan Kalkowski <
stefan.kalkow...@genode-labs.com> wrote:

> Hi,
>
> well, just because both boards Wandboard and i.MX 6Q Sabre Lite are
> using the same system-on-chip (SoC) does not mean they are identical. So
> if you are hesitant to start instrumenting the startup code, e.g., via
> additional log() calls, you can at least compare the high level
> description of the boards. One main issue is which memory slots are used
> by which board, and which UART within the SoC is used for the serial
> line connector of the board.
>
> One thing that was striking me first when looking at high-level
> description of the Sabre Lite board is that is has just 1 GB of RAM,
> whereby the Wandboard has 2 GB. This is obviously an issue. When
> lowering the RAM size for your setup you potentially will get one step
> ahead. But if they are using different UARTs you will not see any log
> message anyway. In that case you have to check whether both boards use
> the same UART.
>
> Regards
> Stefan
>
> On 03/01/2017 08:28 PM, Yevgeny Lavrov wrote:
> > Hello
> >
> > Is there anything from Genode that I can try on i.MX6Q Sabre Lite
> > development board? So far I've already attempted *log* image that I've
> > obtained from compiling Genode for i.MX6 based Wandboard. The fastboot
> > option that gets executed after *$ make run/log *resulted in nothing, so
> > I've also tried to copy the created images onto SD Card and run them
> > directly on the board.
> >
> > Steps:
> > Once in u-boot prompt
> >
> > => fatload mmc 0 0x3000 image.elf
> > reading
> > image.elf
> >
> > 1716880 bytes read in 107 ms (15.3 MiB/s)
> > => bootelf 0x3000
> > ## Starting application at 0x10001000 ...
> >
> > Then the terminal hangs w/o any output.
> >
> > Same thing happens when executing uImage
> > => fatload mmc 0 0x3000 uImage
> > reading uImage
> > 594679 bytes read in 48 ms (11.8 MiB/s)
> > => bootm 0x3000
> >
> > Terminal hangs once it reaches: Starting kernel ...
> >
> > Any suggestions on what's wrong?
> >
> > Thank you
> >
> >
> >
> >
> > 
> --
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> >
> >
> >
> > ___
> > genode-main mailing list
> > genode-main@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/genode-main
> >
>
> --
> Stefan Kalkowski
> Genode Labs
>
> https://github.com/skalk · http://genode.org/
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> genode-main mailing list
> genode-main@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main