On Tue, 9 May 2017, Dario Faggioli wrote:
> > > And it should not be hard to give such code access to the context
> > > of
> > > the vCPU that was previously running (in x86, given we implement
> > > what
> > > we call lazy context switch, it's most likely still loaded in the
> > > pCPU!).
> >
> > I agree with Stefano, switching to the idle vCPU is a pretty bad
> > idea.
> >
> > the idle vCPU is a fake vCPU on ARM to stick with the common code
> > (we
> > never leave the hypervisor). In the case of the EL0 app, we want to
> > change exception level to run the code with lower privilege.
> >
> > Also IHMO, it should only be used when there are nothing to run and
> > not
> > re-purposed for running EL0 app.
> >
> It's already purposed for running when there is nothing to do _or_ when
> there are tasklets.
>
> I do see your point about privilege level, though. And I agree with
> George that it looks very similar to when, in the x86 world, we tried
> to put the infra together for switching to Ring3 to run some pieces of
> Xen code.
Right, and just to add to it, context switching to the idle vcpu has a
cost, but it doesn't give us any security benefits whatsever. If Xen is
going to spend time on context switching, it is better to do it in a
way that introduces a security boundary.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel