Skip to content

Shared coprocessor framework

Andrii Anisov edited this page Oct 28, 2016 · 17 revisions

The main idea of the coprocessor sharing is to let different domains use coprocessor concurrently and independently within some time share.

It is targeted capability of different domains to run concurrently different firmware on the coproc. This target implies that there is a way to switch coproc execution context externally from the main CPU which is running a hypervisor.

Сomplexity and predictability of a coprocessor externally issued context switching process defines the accuracy of the coproc scheduling and resources allocation for domains as well as scheduling overhead.

Open questions

  • How should we perform coprocessor PRCM (who does, how to handle domains PRCM operations, etc)?

  • @klogg I think what is missing in the document and design is how do we do memory management for coprocessors at all (edited). I mean, any assumptions on how memory allocated & managed?