[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC] Shared coprocessor framework



Hi Andrii,

Thank you for the document, I think is a very good start. I also see the
need for this framework. Please add more details about the proposed
interface (Xen API, hypercalls, etc) in the next version; I am looking
forward to it.


On Wed, 16 Nov 2016, Andrii Anisov wrote:
> AM> The situation is not as bad as having full-scope driver (which is
> AM> implemented in some proprietary hypervisors), we only need to:
> AM> 1. stop
> AM> 2. flush registers
> AM> 3. switch memory context <--- implemented by SMMU in ARM
> AM> 4. restore registers
> AM> 5. start
> 
> Well, we also need to take care about following:
> 
> AA> Due to the fact that some domain assigned a vcoproc could access coproc 
> when
> AA> it is running another domain context, framework will implement iomem 
> access
> AA> emulation for domains which are not provided coproc at the moment of 
> access.

This is certainly going to be the hardest part. I take the framework is
just going to provide a generic API for implementing a coprocessor
emulator and it is going to be up to each coprocessor implementation to
provide the code.

Is the emulator going to live in the Xen hypervisor?

It would be nice to provide a simple coprocessor example, if you have one.


> On Sat, Nov 12, 2016 at 2:04 PM, Artem Mygaiev <joculator@xxxxxxxxx> wrote:
> > On Fri, Nov 11, 2016 at 10:43 PM, Konrad Rzeszutek Wilk
> > <konrad.wilk@xxxxxxxxxx> wrote:
> >> Does this also mean that the hypervisor has to know the co-processors?
> >> As in how to start/stop them? And how to tell them to save/restore
> >> guest context? Or is there some generic specification for doing this?
> >
> > Unfortunately there is be no single way to switch context on
> > co-processors, so yes, hypervisor has to know the co-processors.
> > The situation is not as bad as having full-scope driver (which is
> > implemented in some proprietary hypervisors), we only need to:
> > 1. stop
> > 2. flush registers
> > 3. switch memory context <--- implemented by SMMU in ARM
> > 4. restore registers
> > 5. start
> >
> > Best regards,
> > Artem Mygaiev
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> https://lists.xen.org/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.