[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Question about xenpage_list
Hi all, I'm trying to track down how a call in common/grant_table.c to share_xen_page_with_guest will actually populate that page into the guest's physmap. Immediately after the call the page doesn't seem to be present in the physmap, as share_xen_page_with_guest will just add the page to the domain's xenpage_list linked-list: unsigned long mfn; unsigned long gfn; share_xen_page_with_guest(virt_to_page(gt->shared_raw[i]), d, SHARE_rw); mfn = virt_to_mfn(gt->shared_raw[i]); gfn = mfn_to_gmfn(d, mfn); gdprintk(XENLOG_INFO, "Sharing %lx -> %lx with domain %u\n", gfn, mfn, d->domain_id); This results in the following: (XEN) grant_table.c:1820:d0v0 Sharing ffffffffffffffff -> 42c71e with domain 1 AFAICT the page only gets populated into the physmap once the domain gets unpaused. If I let the domain run and then pause it I can see that the page is in the guest's physmap (by looping through all the entries in its EPT): (XEN) mem_sharing.c:1636:d0v0 0xf2000 -> 0x42c71e is a grant mapping shared with the guest Grepping for xenpage_list in the codebase doesn't seem to reveal where it gets plugged in to the physmap. I would need to find the GFN where the page will get plugged into the guest before it's unpaused. Anyone has an insight on how I could do that? Thanks, Tamas _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |