[seL4] Status of supporting Beaglebone?

Adrian Danis Adrian.Danis at nicta.com.au
Fri Feb 6 14:53:16 EST 2015

Hi Kun,

My suggestion would be to look at the other platforms and see what sort
of things they are defining. In this case with clock.h you should be
able to create a blank set of clock definitions by going
enum clk_id {
     NCLOCKS = 0

enum clock_gate {
     NCLKGATES = 0
I suspect it's going to be a bit of a game of wack-a-mole with various
bits of clock, timer and serial code. All the raw code should exist and
everything should just be interface and wrapper code changes, so if you
look at what the other platforms do and follow the same pattern then it
should work.

As far as platforms we are using. The main platforms we are using are
the i.MX6 Sabre Lite, Odroid-XU and we are starting to want to use the


On 06/02/15 12:37, Kun Cheng wrote:
> Thank you, Adrian.
> Currently I'm still trying to find a way to make sel4 run on bb black,
> I don't want to waste my $42, LOL.
> My problem is the broken code in dm.c seems easy to fix but I've no
> idea about the missing header clock.h in
> stage/arm/am335x/include/platsupport/plat, which is included in
> stage/arm/am335x/include/platsupport/clock.h .
> And what board do you use right now? Currently I get some spare money,
> I'd like to hear your advice.
> Thanks very much.
> Best regards,
> Kun Cheng
> 2015-02-06 7:09 GMT+08:00 Adrian Danis <Adrian.Danis at nicta.com.au>:
>> Hi Kun,
>> Beaglebone was a platform that has been used internally in the past,
>> which is why you have found several bits of code laying around for it.
>> However we stopped using it some time ago, which is why we did not put
>> it on the list of supported architectures http://sel4.systems/FAQ/#hw,
>> and so it is of no surprise that the code is broken. The build errors
>> look like various refactors and other changes that were probably blindly
>> applied to the platform, but never actually compiled or run.
>> Unfortunately this is not a platform we have time to actively work on
>> and keep up to date. If you are able to get it compiling and running
>> then we would gladly accept the changes.
>> Adrian
>> On 04/02/15 14:03, Kun Cheng wrote:
>>> Hi guys,
>>> I happened to find out that beaglebone was listed in the menuconfig.
>>> After that I immediately bought a Beaglebone black (Yeah I know
>>> beaglebone is different from bb black, but it might succeed. LOL.) and
>>> tried to build a image for my bb black . But I found code errors
>>> during compilation.
>>> I use arm-none-eabi tool chains and the gcc version is 4.8.
>>> Errors occurred in
>>> sel4test/libs/libplatsupport/src/clock.c which includes
>>> platsupport/plat/clock.h but it doesn't exist
>>> sel4test/libs/libplatsupport/src/plat/am335x/dm.c has several coding
>>> mistakes, like:
>>> in function dm_stop_timer() the 'timer' is undeclared
>>> in function dm_periodic() dm is undeclared
>>> in function dm_get_timer()
>>>             timer->properties.upcounter = false; but 'false' is undeclared
>>>             timer->properties.bitwidth = 32; should probably be
>>>             timer->properties.bit_width = 32;
>>>             and timer->start = dm_timer_start;
>>>                    timer->stop = dm_timer_stop;
>>>             should probably be:
>>>                    timer->start = dm_start_timer;
>>>                    timer->stop = dm_stop_timer;
>>> also I got a redundant redeclaration of 'ki_end' in
>>> sel4test/kernel/src/plat/am335x/machine/hardware.c
>>> which the compiler thought the previous declaration of ki_end was in :
>>> sel4test/kernel/src/arch/arm/kernel/boot.c
>>> So I am just wandering if beaglebone support is still under
>>> development? If any of you run sel4 successfully on beaglebone black,
>>> please give me some instructions. Currently I removed building
>>> platform independent libraries from menuconfig and the compilation
>>> went well. But I don't think it's a good idea.
>>> And I also find the cross tool chains which is recommend for Debian
>>> Wheezy on the http://sel4.systems/Download/DebianToolChain.pml seems
>>> to be not working well for compiling beagle configs. I got cc1 options
>>> error during compiling which is due to that  some of the options are
>>> supported by gcc 4.5 or later while the recommended one is based on
>>> gcc 4.4.
>>> Best regards,
>>> Kun Cheng
>>> _______________________________________________
>>> Devel mailing list
>>> Devel at sel4.systems
>>> https://sel4.systems/lists/listinfo/devel
>> ________________________________
>> The information in this e-mail may be confidential and subject to legal
>> professional privilege and/or copyright. National ICT Australia Limited
>> accepts no liability for any damage caused by this email or its attachments.


The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.

More information about the Devel mailing list