[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XenPPC] Where is htab?
>> 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? Guest domain is up and running. Printing code is invoked via 'xm save'. > 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 After reading your note, I tried printing all non-zero rpns in guest domain. There are lots- in fact 'bios' got a watchdog timeout and reverted out of SLOF while printing... Think I was spooked yesterday, since even page 0 had no rpn address, and I thought every domain had to have 2 or 4 pages setup beginning at 0 ? Thanks _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |