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 ) ?
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 ?
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")))
l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
Am i right in thinking this is for translations without context switch during hypercalls from VMs ?
Thanks in advance
Xen-devel mailing list