Hi,
I try to run XEN on my ARM board(Sorry, for some commercial
reasons, I can't tell you
on which platform I run XEN) and enable SMMU-V3, but all cmds in
cmdq failed when XEN started.
After using the debugger to track debugging, the reason for this
problem is that
the queue in the smmu-v3 driver is not no-cache, so after the
function arm_smmu_cmdq_build_cmd
is executed, the cmd is still in cache.Therefore, the SMMU-V3
hardware cannot obtain the correct cmd
from the memory for execution.
The temporary solution I use is to execute function clean_dcache
every time cmd is copied to cmdq
in function queue_write. But it is obvious that this will seriously
affect the efficiency.
I have not found the method of malloc no-cache memory in XEN. Is
this method not implemented?
The XEN version I am running is RELEASE-4.16.2.
English is not my native language; please excuse typing errors.
Cheers,
--
Sisyphean