Displaying 6 results from an estimated 6 matches for "setpagepte".
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...rior to a
page being used as a page table at all levels, for PAE and non-PAE kernels.
Note that in PAE mode, multiple PDP roots may exist on the same page with
other data, so the root must be shadowed instead.  This is not a performance
issue, since PAE only uses 4 top level PDPEs.
The hooks are:
SetPagePTE(ppn) - indicates that a given physical page is going to be used
as a page table.
SetPagePDE(ppn) - indicates that a given physical page is going to be used
as a page directory.
ClearPageXXX(ppn) - indicates that the physical page is now done being
used as a certain type of page.
These hooks can...
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...rior to a
page being used as a page table at all levels, for PAE and non-PAE kernels.
Note that in PAE mode, multiple PDP roots may exist on the same page with
other data, so the root must be shadowed instead.  This is not a performance
issue, since PAE only uses 4 top level PDPEs.
The hooks are:
SetPagePTE(ppn) - indicates that a given physical page is going to be used
as a page table.
SetPagePDE(ppn) - indicates that a given physical page is going to be used
as a page directory.
ClearPageXXX(ppn) - indicates that the physical page is now done being
used as a certain type of page.
These hooks can...
2007 Apr 18
2
pgd_alloc and [cd]tors
Is there any real use in having a ctor/dtor for the pgd cache?  Given
that all pgd allocation happens via pgd_alloc/pgd_free, why not just
fold the [cd]tor in?
I'm asking because Xen wants pgd[3] to be unshared in the PAE case, and
it looks to me like the easiest way to handle that is by making
pgd_alloc/free pv-ops and doing the appropriate thing in the Xen code. 
Would need to sort out the
2007 Apr 18
2
pgd_alloc and [cd]tors
Is there any real use in having a ctor/dtor for the pgd cache?  Given
that all pgd allocation happens via pgd_alloc/pgd_free, why not just
fold the [cd]tor in?
I'm asking because Xen wants pgd[3] to be unshared in the PAE case, and
it looks to me like the easiest way to handle that is by making
pgd_alloc/free pv-ops and doing the appropriate thing in the Xen code. 
Would need to sort out the
2007 Apr 18
0
[PATCH 1/2] Whitespace cleanup in pageattr.c
...))
 		return (pte_t *)pmd;
-        return pte_offset_kernel(pmd, address);
+	return pte_offset_kernel(pmd, address);
 } 
 
 static struct page *split_large_page(unsigned long address, pgprot_t prot)
@@ -54,8 +54,8 @@ static struct page *split_large_page(uns
 	pbase = (pte_t *)page_address(base);
 	SetPagePTE(virt_to_page(pbase));
 	for (i = 0; i < PTRS_PER_PTE; i++, addr += PAGE_SIZE) {
-               set_pte(&pbase[i], pfn_pte(addr >> PAGE_SHIFT,
-                                          addr == address ? prot : PAGE_KERNEL));
+		set_pte(&pbase[i], pfn_pte(addr >> PAGE_SHIFT,...
2007 Apr 18
0
[PATCH 1/2] Whitespace cleanup in pageattr.c
...))
 		return (pte_t *)pmd;
-        return pte_offset_kernel(pmd, address);
+	return pte_offset_kernel(pmd, address);
 } 
 
 static struct page *split_large_page(unsigned long address, pgprot_t prot)
@@ -54,8 +54,8 @@ static struct page *split_large_page(uns
 	pbase = (pte_t *)page_address(base);
 	SetPagePTE(virt_to_page(pbase));
 	for (i = 0; i < PTRS_PER_PTE; i++, addr += PAGE_SIZE) {
-               set_pte(&pbase[i], pfn_pte(addr >> PAGE_SHIFT,
-                                          addr == address ? prot : PAGE_KERNEL));
+		set_pte(&pbase[i], pfn_pte(addr >> PAGE_SHIFT,...