Subject: Re: bad effect of keeping page table mapped in user space ?
To: Andrew Doran <ad@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: tech-kern
Date: 11/27/2007 18:26:39
On Tue, Nov 27, 2007 at 05:10:10PM +0000, Andrew Doran wrote:
> On Tue, Nov 27, 2007 at 12:35:46AM +0100, Manuel Bouyer wrote:
> 
> > the hypervisor switches address spaces on kernel entry/exit, and
> > %cr3 never points to a user page table when in kernel, and vice-versa.
> 
> It reloads %cr3 on every syscall?

AFAIK, yes. And, from what I understood, on amd64 a syscall goes down
to the hypervisor, which then does a callback to the guest's kernel.
On i386, a gate from ring 3 to ring 1 is used.

> Does the hypervisor provide an alternative
> method that can be used?

Not that I know ...

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--