Fiasco.OC on Cortex-A9
jdmm at genesi-tech.com
Fri May 11 16:01:29 CEST 2012
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.
More information about the l4-hackers