The interfaces that the Xen hypervisor presents to guest virtual machines, the toolstack and other system components have been developed, added and extended incrementally throughout the duration of the project, whilst the commitment to ensuring compatibility with existing virtual machines has remained strong.
During that time, many, many significant things have changed: hardware architectures, hardware performance and scale, hardware virtualization features, including VM encryption technology; modern development of guest Operating Systems, including features such as Virtualization Based Security; new toolstack languages; hypervisor-agnostic device drivers; guest introspection, etc.
As a consequence of the above, many of the current ABIs and APIs of Xen have limitations when evaluated against either current understanding of interface design best practices, or requirements for developing new features or wanted enhancements for Xen systems.
The aims for this design session are:
1) to communicate that structured developer documentation is now being prepared ahead of work towards designing new ABIs and APIs for Xen , and community input will be important
2) to obtain input from session participants about:
developer understanding of what the current ABIs and APIs of Xen are – not all are obvious, and enumerating them is helpful
known limitations of the current ABIs, APIs; experiences with and challenges encountered with them
A second design session on this topic will follow, to provide the option to continue discussion from this session if needed, and with an additional topic to cover the design principles and requirements of new interfaces as informed by the discussion and material covered in this session.
The following document is being drafted and is shared for review in support of these sessions: https://docs.google.com/document/d/1bB2GxXYB2rMSYz2lQwZI6yHC1a2r7FddRG5rv7vW4jU/edit?usp=sharing
[Note to Admin: please schedule this session on Tuesday Sept 16th ✔️]