Hello. I am using ARMv8 foundation model for my project. When configure foundation model with multi cores (cores=4) my code does not run. Can you lease help me solve this problem?
Hello Sudeep,
Yes. As u mentioned Foundation model does generates software interrupts in boot up time.
But i am not able to generate hardware interrupts. Can you please give me any example for generating hardware interrupts?
Thanks & Regards,
Jayashree P
I just boot Linux kernel(v4.7-rc2) on the Foundation model(v9.6).
Here is the cat /proc/interrupts output which shows many interrupts are
working including architected timers.
I haven't check SP804 yet. But why do you need that when you have both
sysreg and memory mapped architected timers working.
Regards,
Sudeep
Hi Sudeep,
I have successfully boot linux 4.4-rc4 on the Foundation_Model using boot-wrappers but fail to wrapper the latest kernel 4.8-rc2 as it warns "FATAL ERROR: Unable to parse input tree". How to correctly boot the latest linux kernel (from git.kernel.org not linaro's) on Foundation_Model? Could you share your procedures and some boot arguments? Thank you very much!
Hi,
Could you share more details on the model version and logs where you get the error.
I just tried mainline kernel(v4.8-rc2 and the tip as of today), both works (not done any
extensive testing but boots fine)
Well, kernel codes cloned from here (git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64.git) and boot-wrapper fetched from virtualopensystem (git://github.com/virtualopensystems/boot-wrapper.git) worked fine together. I could generate an axf file and boot it on Foundation Model embedded in DS-5 24.1. The foundation model here is build 9.6.43.
But after cross-compiling v4.8-rc2 codes, I wrap Image using boot-wrappers above mentioned, the output suggested a FATAL ERROR when parsing dts and I thought it was "dtc" executable that complained.
boot-wrapper git:(aarch64) ✗ make -f ./Makefile ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \
BOOTARGS='"root=/dev/vda ip=dhcp rw console=ttyAMA0 maxcpus=1"' \
FDT_SRC=foundation-v8.dts IMAGE=image-foundation_img.axf
( echo "/include/ \"foundation-v8.dts\"" ; echo "/ { chosen { bootargs = \""root=/dev/vda ip=dhcp rw console=ttyAMA0 maxcpus=1"\"; }; };" ) | ./dtc -O dtb -o fdt.dtb -
Error: foundation-v8.dts:7.1-2 syntax error
FATAL ERROR: Unable to parse input tree
Makefile:78: recipe for target 'fdt.dtb' failed
make: *** [fdt.dtb] Error 1
Yes, it's indeed dtc issue.
It could be more related to the path and how the files are included.
relative vs absolute paths ? Mainline kernel and boot-wrapper works out of box.
It could be some issue with that specific bootwrapper.
The bootwrapper now decompiles the one build in the kernel and modifies it.
( dtc -O dts -I dtb build/arch/arm64/boot/dts/arm/foundation-v8.dtb ; echo "/ { chosen { bootargs = \"root=/dev/vda1 rootwait consolelog=9 rw console=ttyAMA0; }; };" ) | dtc -O dtb -o fdt.dtb -
This specific wrapper deals with dts in almost the same way by using dts but dtb.
And FDT_SRC is assigned to foundation-v8.dts. So this specific wrapper seems to resemble the one you mentioned at least at this point. Actually I have adapted the common boot-wrapper to the new dts directory, still it failed and gave no error info.
I wonder if this booting method is rather old fashioned and out of favor, should I adopt Linaro's approach which could be found in Linaro's deliverables? Thank you so much!