Oxenstored: Switch to using grants
Oxenstored currently uses foreign mapping to access the xenbus ring in guests.
While this functions, it depends on using Control Domain privileges, which for all intents and purposes limits Oxenstored to only operating in dom0.
A grant based interface to access the xenbus ring has existed for years. This allows Oxenstored to operate in a less privileged domain, and in principle, a Solo5-based stubdom.
Teach Oxenstored to use the grant mechanism. This requires making libxengntdev bindings for Ocaml, but will end up trading an unstable API for a stable one. An unpublished prototype of the bindings exists in private - speak to @andyhhp.
Edited by Andrew Cooper