We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
i'm doing some experiments on Aarch64/Aarch32 using the Foundationv8 simulator.
For starting, i got the linux/bootwrapper/toolchain code from linaro, compiled the software and the linux kernel in 64 bits without any problem.
Then i started modifications to try booting on the same simulator the linux in 32 bits.
- modify the mm/kernel/proc-v7.S to add the Foundation v8 processor id (0x410fd000)
- i compiled the linux in 32 bit using the same config (vexpress_defconfig) enabling LPAE and disabling 'EL2 configuration'
- modify the boot wrapper to jump in Aarch32 mode into kernel (it is working fine)
I start the emulator. It seems i'm jumping in the kernel in Aarch32 system mode (so boot wrapper is OK). But once in the kernel i start getting issues:
- in Aarch32 i 'm not able to obtain the MIDR using the instruction (mrc p15, 0, r9, c0, c0, 0). zero is returned in r9.
- if i force the r9 value with expected one then i can continue execution but still not able to get terminal and even shell.
So my questions are:
- is Foundation v8 able to run a linux in 32 bits (CP15 MIDR register returning bad value is bug or not ) ?
- is the linux supporting execution on Foundation v8 with vexpress_defconfig ?
I'm continuing the investigation but it would be nice for me to know if the task i'm doing is acheivable .
Thanks for you help.
Seb
hi, sebastien:
could you share your compiled steps and modified linaro code files?
best wishes,