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