[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Page table and memory management
Hello, I am having some problems to update the page table entries of my domain with the hypervisor call do_mmu_update(). With 2 level paging XEN refers to the page global directory (PGD) as level2 and page tables (PT) as level1. I am taking a page frame that my domain owns, I am going to use that page frame as a page table (level1 PT) and I am adding the 'address' of that page frame as an entry of my page global directory (level2 PGD). So my request 'mmu_update_t' to the hypercall do_mmu_update() looks like this. mmu_update_t.ptr = machine address of PGD entry that I want to update mmu_update_t.val = machine frame number of PT with appropriate flags do_mmu_update() and its helper functions in xen/arch/x86/memory.c do many checks. One of the checks is to verify the flags in '(struct pfn_info).u.inuse.type_info'. The upper bits of 'type_info' contain the type of the page frame: PGT_none, PGT_l1_page_table, PGT_l2_page_table etc ... In my case, do_mmu_update() verifies that the page frame that I am going to use as a page table is actually of type PGT_l1_page_table. Therefore, I cannot just take any random page frame that my domain owns and use it as page table. How do I create a new page table ? How do I register a page frame that I own with XEN so that I can use it as a page table ? I am trying to see how XenoLinux is doing its page table allocation. >From what I can see, function pte_alloc_map() in mm/memory.c is not doing anything special. It is just getting a free page frame and using the function pmd_populate() to use that page frame as a page table. Function pmd_populate() uses macro set_pmd() that expands to function xen_l2_entry_update() to update the (PGD) level2 page tables. Thanks Richard ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |