Displaying 6 results from an estimated 6 matches for "setpagepde".
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
1
[PATCH 1/5] Add pagetable allocation notifiers
...at 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 be used in two ways; for shadow mode, they serve as
requests to pre-allocate and deallocate s...
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...at 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 be used in two ways; for shadow mode, they serve as
requests to pre-allocate and deallocate s...
2007 Apr 18
0
[PATCH 2/2] Use page present for pae pdpes
...===============================================
--- linux-2.6.13.orig/arch/i386/mm/pgtable.c 2005-08-31 14:48:17.000000000 -0700
+++ linux-2.6.13/arch/i386/mm/pgtable.c 2005-08-31 14:48:53.000000000 -0700
@@ -247,14 +247,14 @@ pgd_t *pgd_alloc(struct mm_struct *mm)
if (!pmd)
goto out_oom;
SetPagePDE(virt_to_page(pmd));
- set_pgd(&pgd[i], __pgd(1 + __pa(pmd)));
+ set_pgd(&pgd[i], __pgd(_PAGE_PRESENT | __pa(pmd)));
}
return pgd;
out_oom:
for (i--; i >= 0; i--) {
ClearPagePDE(pfn_to_page(pgd_val(pgd[i]) >> PAGE_SHIFT));
- kmem_cache_free(pmd_cache, (void *)__va(pgd...
2007 Apr 18
0
[PATCH 2/2] Use page present for pae pdpes
...===============================================
--- linux-2.6.13.orig/arch/i386/mm/pgtable.c 2005-08-31 14:48:17.000000000 -0700
+++ linux-2.6.13/arch/i386/mm/pgtable.c 2005-08-31 14:48:53.000000000 -0700
@@ -247,14 +247,14 @@ pgd_t *pgd_alloc(struct mm_struct *mm)
if (!pmd)
goto out_oom;
SetPagePDE(virt_to_page(pmd));
- set_pgd(&pgd[i], __pgd(1 + __pa(pmd)));
+ set_pgd(&pgd[i], __pgd(_PAGE_PRESENT | __pa(pmd)));
}
return pgd;
out_oom:
for (i--; i >= 0; i--) {
ClearPagePDE(pfn_to_page(pgd_val(pgd[i]) >> PAGE_SHIFT));
- kmem_cache_free(pmd_cache, (void *)__va(pgd...