This could be due to an IOMMU configuration issue. Have you tried turning on the CONFIG_SMMU_INTERRUPT_ENABLE as well as CONFIG_PRINTING options in the seL4 kernel configuration? This will print out IOMMU faults that indicate the IOMMU isn't configured
correctly.
Kent.
Hi,
I cannot think of any reasons why Linux3.10 wouldn't also work other than making similar modifications that we made to Linux4.3. The list of modifications that we made can be seen here: https://github.com/SEL4PROJ/linux-tegra/commits/sel4
If you wanted to try and add support for that version yourself, I would start by trying to build the current supported Linux version from source as described here: https://github.com/SEL4PROJ/camkes-arm-vm/blob/master/README.md
Once you have that working, then change out the source version of Linux with the version you would like to use. Then update the buildroot config to use the correct toolchains, kernel headers and source for the version you want.
You will then need to make changes to the Linux source so that it can run in the different hardware environment the vmm presents to it. This mostly relates to changes in the device tree layout file and anywhere in the sources where hardware values are hard coded. I would start trying to get the primary debug uart working first which will then make it easier to debug what is happening as you try and get Linux to initialise.
Hope this helps,
Kind regards,
Kent McLeod