WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

Re: [XenPPC] Where is htab?


On Oct 7, 2006, at 11:26 PM, poff wrote:

Looking at xlate.c, the htab and entries are access in following way:

    struct vcpu *v = get_current();
    struct domain *d = v->domain;
    struct domain_htab *htab = &d->arch.htab;
    union pte volatile *pte;

    pte = &htab->map[ptex];

htab->map is the HTAB, remember it is treated like an array.



I've inserted this code into xen/arch/powerpc/domctl.c, just to see if I could recognize the htab before mapping back to user space. The 'current domain' has some entries that
could be htab. However, the guest domain always contains 0s.


current domain:
(XEN) XEN_DOMCTL_getshadowlist:
(XEN) dd->arch.htab.map: 0x0000000002000000
(XEN) rma_base_mfn: 0x0000000000004000 rma_size_mfn: 0x0000000000004000 (XEN) pte: 0x0000000002000800 vsid: 0x0000181a80047001 rpn: 0x000000000349b196 (XEN) pte: 0x0000000002000810 vsid: 0x0000000000000000 rpn: 0x0000000000000000 (XEN) pte: 0x0000000002000820 vsid: 0x0000000000000000 rpn: 0x0000000000000000

guest domain:
(XEN) d->arch.htab.map: 0x0000000000100000
(XEN) rma_base_mfn2: 0x000000000001c000 rma_size_mfn2: 0x0000000000004000 (XEN) pte: 0x0000000000100800 vsid: 0x0000000000000000 rpn: 0x0000000000000000 (XEN) pte: 0x0000000000100810 vsid: 0x0000000000000000 rpn: 0x0000000000000000 (XEN) pte: 0x0000000000100820 vsid: 0x0000000000000000 rpn: 0x0000000000000000

How early in the guest run is this?
Remember the "h" in htab stands for Hash, though it is odd to see a whole PTEG (group of 8 PTEs) to be clear for Linux (and you are only showing 3).



1) What is the arch.htab.map address? I thought Xen ran with translate off and without RMA?

Xen runs that way but the domains run in RMA while in Real Mode and transalted (uses htab) when not. The when we create a domain we allocate the htab it will remain 0 until the domain creates the first entries. The first entries in Linux are created by the domain while it runs in the RMA.

-JX



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

<Prev in Thread] Current Thread [Next in Thread>