One other issue with the "mtime" synchronization by SW approach is that this effectively places an upper limit on the achievable timer unit resolution. It'd be some equation based on the ordered access latency of the reference and target resources, perhaps.
Has this been explicitly considered? What is the expected upper limit and where should the platform be moving towards in the future? Would further work be needed to enable >=1GHz timer resolution?