Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 119404
b: refs/heads/master
c: 86bbc2c
h: refs/heads/master
v: v3
  • Loading branch information
Ian Campbell authored and Ingo Molnar committed Nov 23, 2008
1 parent e49800e commit f68603a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3d994e107694381f5b8b2f5cd9fdc4fcf04a5b79
refs/heads/master: 86bbc2c235e500957b213e7e64ce2e0ccb8bc131
21 changes: 14 additions & 7 deletions trunk/arch/x86/xen/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -661,12 +661,11 @@ void xen_set_pgd(pgd_t *ptr, pgd_t val)
* For 64-bit, we must skip the Xen hole in the middle of the address
* space, just after the big x86-64 virtual hole.
*/
static int xen_pgd_walk(struct mm_struct *mm,
int (*func)(struct mm_struct *mm, struct page *,
enum pt_level),
unsigned long limit)
static int __xen_pgd_walk(struct mm_struct *mm, pgd_t *pgd,
int (*func)(struct mm_struct *mm, struct page *,
enum pt_level),
unsigned long limit)
{
pgd_t *pgd = mm->pgd;
int flush = 0;
unsigned hole_low, hole_high;
unsigned pgdidx_limit, pudidx_limit, pmdidx_limit;
Expand Down Expand Up @@ -753,6 +752,14 @@ static int xen_pgd_walk(struct mm_struct *mm,
return flush;
}

static int xen_pgd_walk(struct mm_struct *mm,
int (*func)(struct mm_struct *mm, struct page *,
enum pt_level),
unsigned long limit)
{
return __xen_pgd_walk(mm, mm->pgd, func, limit);
}

/* If we're using split pte locks, then take the page's lock and
return a pointer to it. Otherwise return NULL. */
static spinlock_t *xen_pte_lock(struct page *page, struct mm_struct *mm)
Expand Down Expand Up @@ -854,7 +861,7 @@ static void __xen_pgd_pin(struct mm_struct *mm, pgd_t *pgd)

xen_mc_batch();

if (xen_pgd_walk(mm, xen_pin_page, USER_LIMIT)) {
if (__xen_pgd_walk(mm, pgd, xen_pin_page, USER_LIMIT)) {
/* re-enable interrupts for flushing */
xen_mc_issue(0);

Expand Down Expand Up @@ -998,7 +1005,7 @@ static void __xen_pgd_unpin(struct mm_struct *mm, pgd_t *pgd)
PT_PMD);
#endif

xen_pgd_walk(mm, xen_unpin_page, USER_LIMIT);
__xen_pgd_walk(mm, pgd, xen_unpin_page, USER_LIMIT);

xen_mc_issue(0);
}
Expand Down

0 comments on commit f68603a

Please sign in to comment.