[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Quick questions- Xen hypervisor
Hi, At 15:38 -0700 on 22 Jun (1308757083), Ashwini Bhat wrote: > Im trying to understand a little here: > > 1) what is cr3 pointing to when in ring 0 i.e. when hypervisor is in control > (in a scenario when hypervisor is just booting AND when hypervisor got > control due to a hypercall ) ? In a PV guest CR3 points to the same thing as it did just before the hypercall; Xen is mapped into every address space just like the kernel is in linux. In a HVM guest there's a special set of pagetables for each vcpu, called the monitor tables, that contains only Xen; the hardware switches to them on vmexit. During boot, and in some other contexts there's a special "idle" pagetable that xen can run on, again containing only Xen. > 2) The memory layout mentions that 0xffff830000000000 - 0xffff87ffffffffff > [5TB, 5*2^40 bytes, PML4:262-271] > is directly mapped. > but even the calculation of kernel addresses in __pa does not involve any > page table translations. Isnt that as well directly mapped ? Hypervisor addresses are mapped at XEN_VIRT_START; the physical addresses are laid out contiguously at xen_phys_start. See __virt_to_maddr() for the translation. > 3) Contrary to the above observation some room is made for xen text in > memory management module > /* Enough page directories to map the Xen text and static data. */ > l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned"))) > l3_xenmap[L3_PAGETABLE_ENTRIES]; > l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned"))) > l2_xenmap[L2_PAGETABLE_ENTRIES]; > > Am i right in thinking this is for translations without context switch > during hypercalls from VMs ? No; those are the L3 and L2 tables used to map the hypervisor text and data (and bss). They're statically allocated so they can be set up before the memory allocators are initialized. The idle pagetable's L4 table is also statically allocated, for the same reason. Tim. -- Tim Deegan <Tim.Deegan@xxxxxxxxxx> Principal Software Engineer, Xen Platform Team Citrix Systems UK Ltd. (Company #02937203, SL9 0BG) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |