Hi Mike,
I'm not sure what changes in the last 6 months would have changed your build from a working to broken state. The below commits[1] are the only changes that I am aware would change the behavior of smmu permissions.
ID: 98? corresponds to sdmmc3 (there is a table in the tk1 reference manual, around page 719 [2]), and this corresponds to a vm.smmu id of 22, which is absent from the TK1INSECURE configuration.
Adding that ID made my VM crash---I tracked the cause down to a iommu page table initialisation bug here: https://github.com/SEL4PROJ/seL4_projects_libs/commit/396542fc8b7d0ab41bf92d...
Fixing that allowed my vm to boot with the extra vm.smmu id of 22. (Note: I boot over tftpboot and not using an sdcard, so it also boots without id 22 for me, however the ID: 98 error you are getting very likely corresponds to id 22 being missing).
The latest checkout that I tested is this one:
https://github.com/SEL4PROJ/camkes-arm-vm-manifest/commit/8f83660cdd98c51bda...
Also note that yesterday we merged some refactors that migrated the project to use a new CMake based build system.
running the following:
mkdir build && cd build && ../init-build.sh -DAARCH32=TRUE -DTk1Insecure=True -DCAMKES_VM_APP=tk1_vm && ninja
should build you an equivalent image to what I tested.
Kent.
PS: That bug I mentioned was causing corrupted vspace shadow state and could have potentially been the cause of that hypercall issue you were experiencing about a year ago. (Sorry I dropped the email thread about trying to solve it back then :-( )
[1]
https://github.com/seL4/seL4/commit/80d32b160989c55f9fdc33fce1bf605ac1b42f1e
https://github.com/SEL4PROJ/camkes-arm-vm/commit/f3948cf41978bee33179ac7a814...
[2] https://developer.nvidia.com/embedded/tegra-k1-reference
________________________________
From: Devel
I just checked out a fresh copy of https://github.com/ SEL4PROJ/camkes-arm-vm-manifest and built an image for the TK1 using the docker build environment. I copied the resulting image to an SD card and it boots fine.
If I switch to the unsecure mode, I get an error on boot.
SMMU Address translation error: ID: 98 address: 0xae5be000 type: 6 direction: 0x0 IOPT permission: read 0x0 write 0x0 nonsecure 0x0 [ 10.204777] mmc1: ADMA error
I have not made any changes, so my vm.smmu settings are all default.
Any thoughts or help?
Mike
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel