Fiasco.OC on Cortex-A9

Johan Dams jdmm at genesi-tech.com
Sat May 12 21:12:12 CEST 2012


Hi.

Ok, got it to work in Qemu with the realview-pbx-a9 target. Still
working on the problem on i.MX6. 


Best regards,
Johan

On Fri, 2012-05-11 at 20:13 +0300, Johan Dams wrote:
> Hi.
> 
> As a follow up to my email below, I compiled Fiasco for the Realview
> system and ran under QEmu. This is my output:
> 
> L4 Bootstrapper
>   Build: #5 Fri May 11 19:55:05 EEST 2012, 4.5.3
>   Scanning up to 256 MB RAM
>   Memory size is 256MB (00000000 - 10000000)
>   RAM: 0000000000000000 - 000000000fffffff: 262144kB
>   Total RAM: 256MB
>   mod08: 011ec000-01205544: hello
>   mod07: 01198000-011eb22c: ned
>   mod06: 010bd000-01197b8c: io
>   mod05: 010bc000-010bc016: arm-imx6.devs
>   mod04: 010bb000-010bb079: startup.conf
>   mod03: 010a1000-010ba45c: l4re
>   mod02: 01067000-010a062c: moe
>   mod01: 0105d000-01066340: sigma0
>   mod00: 01014000-0105c7b0: fiasco
>   Moving 9 modules to 1100000 with offset ec000
>   moving module 09 { 11ec000-1205544 } -> { 12d8000-12f1544 }
>   moving module 08 { 1198000-11eb22c } -> { 1284000-12d722c }
>   moving module 07 { 10bd000-1197b8c } -> { 11a9000-1283b8c }
>   moving module 06 { 10bc000-10bc016 } -> { 11a8000-11a8016 }
>   moving module 05 { 10bb000-10bb079 } -> { 11a7000-11a7079 }
>   moving module 04 { 10a1000-10ba45c } -> { 118d000-11a645c }
>   moving module 03 { 1067000-10a062c } -> { 1153000-118c62c }
>   moving module 02 { 105d000-1066340 } -> { 1149000-1152340 }
>   moving module 01 { 1014000-105c7b0 } -> { 1100000-11487b0 }
>   Scanning fiasco
>   Scanning sigma0
>   Scanning moe rom/startup.conf 
>   Relocated mbi to [0x100e000-0x100e139]
>   Loading fiasco
>   Loading sigma0
>   Loading moe
>   find kernel info page...
>   found kernel info page at 0x2000
> Regions of list regions
>     [     1000,      19bf] {      9c0} Kern   fiasco
>     [     2000,     58fff] {    57000} Kern   fiasco
>     [    90000,     96ccb] {     6ccc} Sigma0 sigma0
>     [    98000,     9e17b] {     617c} Sigma0 sigma0
>     [   140000,    170aeb] {    30aec} Root   moe
>     [   178000,    18eee7] {    16ee8} Root   moe
>     [  1000000,   10133eb] {    133ec} Boot   bootstrap
>     [  100e000,   100e236] {      237} Root   Multiboot info
>     [  118d000,   12f1543] {   164544} Root   Modules Memory
>   API Version: (87) experimental
>   Sigma0 config    ip:000900e0 sp:01012044
>   Roottask config  ip:001401c0 sp:00000000
>   Starting kernel fiasco at 00001000
> 
> --> and here it stops, which appears to be the same issue I as I have on
> the i.mx6.
> 
> 
> 
> Best regards,
> Johan
> 
> On Fri, 2012-05-11 at 17:01 +0300, Johan Dams wrote:
> > Hi all,
> > 
> > I'm wondering if anyone has come across an issue with Fiasco.OC on
> > Cortex-A9 based systems. The problem is that I do not get past this
> > instruction (and with that I mean that the system just locks up): 
> > 
> > "mcr p15, 0, %[control], c1, c0 \n" // control
> > 
> > in src/kern/arm/bootstrap.cpp. The exact same code works fine on a
> > Cortex-A8 based processor. Changing cache on or off (in the control
> > variable) does not change anything. Also, just reading the current
> > content of the register and writing it back locks the system.
> > 
> > I have been going over compiler flags, tried different compilers
> > altogether (using 4.5.3-r1 right now), and looked if something odd was
> > going on with the generated assembly code, etc. with no results.
> > 
> > This code is a standard ARM instruction, and comes well before any
> > paging or even the actual kernel starts.
> > 
> > The SOC in question is a Freescale i.MX6 Quad core Cortex A9, which I
> > realize not many have actually used yet. However, if similar issues
> > presented itself on other platforms, these might give some clues. 
> >  
> > 
> > Any ideas?
> > 
> > 
> > Best regards,
> > Johan
> >  
> 






More information about the l4-hackers mailing list