Closed Yuhala closed 1 year ago
Some of the reads are perhaps causing external aborts. I wasn't expecting the kernel to panic from that though.
This issue has been marked as a stale issue because it has been open (more than) 30 days with no activity. Remove the stale label or add a comment, otherwise this issue will automatically be closed in 5 days. Note, that you can always re-open a closed issue at any time.
I am building a test OP-TEE driver for an I2S device on an Nvidia Jetson AGX Xavier. I have begun by mapping the I2S base register of my device (
paddr_t pa = 0x2901000
) to OP-TEE's virtual address space using thecore_mmu_add_mapping
routine as such:The mapping above succeeds and does not produce any error.
I then have a driver function
tegra_i2s_read_i2s_mem_range
which tries to write and read a range of the mapped memory as shown below (MEMORY_CHUNK = 8
). The value ini2s_device.i2s_base.va
is the same asva
above.This driver function is invoked from a PTA routine, which itself is invoked from a TA. The TA-PTA connection succeeds (tried with other test routines) but the driver function
tegra_i2s_read_i2s_mem_range
fails. Below is part of the log result when it is called with paramiter = 1
.The Jetson AGX Xavier "freezes" after that error and reboots. I would appreciate any tips on why this happens, and what should be corrected in my code.
I use
kernel-5.10
on the Jetson AGX Xavier and the corresponding OP-TEE OS source can be viewed here:https://gitlab.com/Yuhala/jetson-xavier/-/tree/master/nvidia-jetson-optee-source/optee