This will involve figuring out how direct messages interact with the rest of the scheduling model, e.g. SPCI_RUN. There are a probably a bunch of complicated corner cases.
Jose started work on this in https://hafnium-review.googlesource.com/c/hafnium/+/7644 but I think it would be helpful to think through the scheduling issues and interaction with the rest of the system in a design doc first.
(Migrated from b/132422396.)