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

Re: [Xen-devel] how page faults are handled in paravirtualized xenguests?


  • To: "Daniel Stodden" <stodden@xxxxxxxxxx>
  • From: weiming <zephyr.zhao@xxxxxxxxx>
  • Date: Sat, 22 Mar 2008 22:29:30 -0400
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, tgh <wwwwww4187@xxxxxxxxxxx>
  • Delivery-date: Sat, 22 Mar 2008 19:29:56 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=KtLgKMDKbMHeH7UFMGJvRG2RYTdVB1qCT/41gGgh+iJLEKnxoOfL9kA6jVC54VZGhFw1F+Z7FHlt1mnuG9XnI/tL1ocBj6AVuuhu/74xsmAoU1uC/E5WlZ20EiESddS22MqbxJ99swJ97xfxsnSWMW59uCQZ2oC0ZrwsNy26VLA=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi Daniel,

Now, I'm asking for more. :}

1) As you said, in 64-bit mode, PT switch is needed. But on your other post, you said:

"So instead one lets a process, its guest kernel and the VMM share one
virtual address space. As with regular OSes: one address space per guest
process. ïControl transfers between process, kernel and VMM does not
switch between virtual memories, but only privileges, stacks, and EIP.
-> much faster."

The statements above  implies that PT switch is not needed.  Is it true?

2) in 0/3/3 mode, how guest kernel protects it from application? Simply use different page tables? Will it be too costly (need TLB flush)? Why not use FS, GS to implement 0/1/3 mode?

Many thanks!
Weiming









On Wed, Mar 12, 2008 at 5:37 AM, Daniel Stodden <stodden@xxxxxxxxxx> wrote:
On Tue, 2008-03-11 at 17:28 +0100, Daniel Stodden wrote:
> yes. The ring1 kernel only works if you can play some tricks on virtual
> memory management in order to protect ring1 kernel memory from ring3
> user space (paging alone only distinguishes 0 from 1-3). On x86_32,

ïi should probably correct myself. wrong story, sorry.

of course, paging distingushes ring 0-2 from 3.

so 32-bit in 0/1/3 with segmentation protects xen from the kernel, and
32-bit paging then protects xen and the kernel from user mode.

64-bit paging in 0/3/3 protects xen from both kernel and user mode, but
as i mentioned, you need a PT switch to keep the kernel safe.

maybe more than you asked for :}

daniel

--
Daniel Stodden
LRR     -      Lehrstuhl fÃr Rechnertechnik und Rechnerorganisation
Institut fÃr Informatik der TU MÃnchen             D-85748 Garching
http://www.lrr.in.tum.de/~stodden         mailto:stodden@xxxxxxxxxx
PGP Fingerprint: F5A4 1575 4C56 E26A 0B33  3D80 457E 82AE B0D8 735B



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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