
stefano.stabellini at eu
Aug 13, 2012, 3:23 AM
Post #3 of 3
(343 views)
Permalink
|
On Sat, 11 Aug 2012, maheen butt wrote: > From: Stefano Stabellini <stefano.stabellini [at] eu> > To: maheen_butt26 [at] yahoo > Cc: Stefano Stabellini <Stefano.Stabellini [at] eu>; xen-arm [at] lists; sbuk.suh [at] samsung; keir [at] xen; community.manager [at] xen > Sent: Friday, August 10, 2012 2:59 PM > Subject: Re: Xen-ARM and paravirt_ops? > > On Fri, 10 Aug 2012, maheen butt wrote: > > Hi, > > I came to know from Xen-ARM wiki and other related pages that ARM  port is based on > > xen-unstable and it can boot a Linux 3.0 based virtual machine (dom 0). for reference > > https://lkml.org/lkml/2011/11/29/265 > > > > As Xen-ARM can boot Linux 3.0, it means that this hypervisor is using > > paravirt_ops infrastructure of kernel. I want to know that did you explicitly > > add paravirt_ops support in kernel for ARM? > > The xen-unstable based ARM port uses the new virtualization extensions > introduced recently by ARM. Therefore it requires a Cortex-A15 processor > or newer in order to work. On the other hand no paravirt_ops support is > necessary in the kernel, as we are using nested paging in hardware. > > What is the relationship between nested paging and paravirt_ops? paravirt_ops is >  hypervisor-agnostic interface between the hypervisor and guest kernels where as > nested paging increase the performance of hardware virtualization by providing hardware > support for page-table virtualization. Its hard for me to understand relationship between two. > (the relationship is that if one is present other can be ignored) > will you please explain it. paravirt_ops is a framework within the Linux kernel to replace the implementation of some arch specific functions with an alternative implementation. It is only available on x86 and it is mainly used to provide Xen-aware functions to read and write pagetables (pagetable pages need to be read-only on Xen). Give a look at arch/x86/xen/mmu.c to get a better idea on what they are for. If we rely on nested paging in hardware we don't need pagetable access paravirt_ops any more because the guest can modify its own pagetables the same way it would do on native hardware.
|