search for: newpgdir

Displaying 12 results from an estimated 12 matches for "newpgdir".

Did you mean: new_pgdir
2007 Apr 27
0
[PATCH] lguest simplification: don't pin guest trap handlers
...table(lg, vaddr) && !demand_page(lg, vaddr, 0)) - kill_guest(lg, "bad trap page %#lx", vaddr); + kill_guest(lg, "bad stack page %#lx", vaddr); } static void release_pgd(struct lguest *lg, spgd_t *spgd) @@ -253,7 +253,7 @@ void guest_new_pagetable(struct lguest * newpgdir = new_pgdir(lg, pgtable, &repin); lg->pgdidx = newpgdir; if (repin) - pin_trap_pages(lg); + pin_stack_pages(lg); } static void release_all_pagetables(struct lguest *lg) @@ -269,7 +269,7 @@ void guest_pagetable_clear_all(struct lg void guest_pagetable_clear_all(struct lguest *lg)...
2007 Apr 27
0
[PATCH] lguest simplification: don't pin guest trap handlers
...table(lg, vaddr) && !demand_page(lg, vaddr, 0)) - kill_guest(lg, "bad trap page %#lx", vaddr); + kill_guest(lg, "bad stack page %#lx", vaddr); } static void release_pgd(struct lguest *lg, spgd_t *spgd) @@ -253,7 +253,7 @@ void guest_new_pagetable(struct lguest * newpgdir = new_pgdir(lg, pgtable, &repin); lg->pgdidx = newpgdir; if (repin) - pin_trap_pages(lg); + pin_stack_pages(lg); } static void release_all_pagetables(struct lguest *lg) @@ -269,7 +269,7 @@ void guest_pagetable_clear_all(struct lg void guest_pagetable_clear_all(struct lguest *lg)...
2009 Apr 16
1
NULL pointer dereference at __switch_to() ( __unlazy_fpu ) with lguest PAE patch
...what happens when the Guest changes page tables (ie. changes the top-level * pgdir). This occurs on almost every context switch. */ void guest_new_pagetable(struct lg_cpu *cpu, unsigned long pgtable) @@ -439,11 +637,11 @@ void guest_new_pagetable(struct lg_cpu *cpu, unsigned long pgtable) int newpgdir, repin = 0; /* Look to see if we have this one already. */ - newpgdir = find_pgdir(cpu->lg, pgtable); + newpgdir = find_pgdir(cpu->lg, (pgd_t *)pgtable); /* If not, we allocate or mug an existing one: if it's a fresh one, * repin gets set to 1. */ if (newpgdir == ARRAY_SIZE(cpu...
2009 Apr 16
1
NULL pointer dereference at __switch_to() ( __unlazy_fpu ) with lguest PAE patch
...what happens when the Guest changes page tables (ie. changes the top-level * pgdir). This occurs on almost every context switch. */ void guest_new_pagetable(struct lg_cpu *cpu, unsigned long pgtable) @@ -439,11 +637,11 @@ void guest_new_pagetable(struct lg_cpu *cpu, unsigned long pgtable) int newpgdir, repin = 0; /* Look to see if we have this one already. */ - newpgdir = find_pgdir(cpu->lg, pgtable); + newpgdir = find_pgdir(cpu->lg, (pgd_t *)pgtable); /* If not, we allocate or mug an existing one: if it's a fresh one, * repin gets set to 1. */ if (newpgdir == ARRAY_SIZE(cpu...
2007 May 09
1
[patch 3/9] lguest: the host code
...else + /* There are no mappings: you'll need to re-pin */ + *blank_pgdir = 1; + } + lg->pgdirs[next].cr3 = cr3; + /* Release all the non-kernel mappings. */ + flush_user_mappings(lg, next); + + return next; +} + +void guest_new_pagetable(struct lguest *lg, unsigned long pgtable) +{ + int newpgdir, repin = 0; + + newpgdir = find_pgdir(lg, pgtable); + if (newpgdir == ARRAY_SIZE(lg->pgdirs)) + newpgdir = new_pgdir(lg, pgtable, &repin); + lg->pgdidx = newpgdir; + if (repin) + pin_stack_pages(lg); +} + +static void release_all_pagetables(struct lguest *lg) +{ + unsigned int i, j; + +...
2007 May 09
1
[patch 3/9] lguest: the host code
...else + /* There are no mappings: you'll need to re-pin */ + *blank_pgdir = 1; + } + lg->pgdirs[next].cr3 = cr3; + /* Release all the non-kernel mappings. */ + flush_user_mappings(lg, next); + + return next; +} + +void guest_new_pagetable(struct lguest *lg, unsigned long pgtable) +{ + int newpgdir, repin = 0; + + newpgdir = find_pgdir(lg, pgtable); + if (newpgdir == ARRAY_SIZE(lg->pgdirs)) + newpgdir = new_pgdir(lg, pgtable, &repin); + lg->pgdidx = newpgdir; + if (repin) + pin_stack_pages(lg); +} + +static void release_all_pagetables(struct lguest *lg) +{ + unsigned int i, j; + +...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...)); + /* Release all the non-kernel mappings. */ + flush_user_mappings(linfo, &linfo->pgdirs[next]); + } + + return &linfo->pgdirs[next]; +} + +void guest_new_pagetable(struct lguest_vcpu *vcpu, u64 pgtable) +{ + struct lguest_guest_info *linfo = vcpu->guest; + struct lguest_pgd *newpgdir; + + mutex_lock(&linfo->page_lock); + newpgdir = find_pgd(linfo, pgtable); + if (vcpu->pgdir) { + if (!(--vcpu->pgdir->count)) + vcpu->pgdir->flags &= ~(LGUEST_PGD_BUSY_FL); + } + if (!newpgdir) + newpgdir = new_pgdir(linfo, pgtable); + if (!newpgdir) { + kill_guest_d...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...)); + /* Release all the non-kernel mappings. */ + flush_user_mappings(linfo, &linfo->pgdirs[next]); + } + + return &linfo->pgdirs[next]; +} + +void guest_new_pagetable(struct lguest_vcpu *vcpu, u64 pgtable) +{ + struct lguest_guest_info *linfo = vcpu->guest; + struct lguest_pgd *newpgdir; + + mutex_lock(&linfo->page_lock); + newpgdir = find_pgd(linfo, pgtable); + if (vcpu->pgdir) { + if (!(--vcpu->pgdir->count)) + vcpu->pgdir->flags &= ~(LGUEST_PGD_BUSY_FL); + } + if (!newpgdir) + newpgdir = new_pgdir(linfo, pgtable); + if (!newpgdir) { + kill_guest_d...
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the way. Well, the lguest64 port is still not ready to display, but before Rusty makes too many changes I would like this in upstream so I don't have to keep repeating my changes :-) So this patch series moves lguest32 out of the way for other archs. -- Steve
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the way. Well, the lguest64 port is still not ready to display, but before Rusty makes too many changes I would like this in upstream so I don't have to keep repeating my changes :-) So this patch series moves lguest32 out of the way for other archs. -- Steve
2007 Aug 08
7
[PATCH 0/5 -v2] Modify lguest32 to make room for lguest64 (version 2)
[ Changes since last version. - Move lg.h to include/asm instead (suggested by Rusty Russel) - All steps of the series compiles (suggested by Stephen Rothwell) - Better ifdef header naming (suggested by Stephen Rothwell) - Added Andi Kleen to CC (forgot to on V1) ] Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the
2007 Aug 08
7
[PATCH 0/5 -v2] Modify lguest32 to make room for lguest64 (version 2)
[ Changes since last version. - Move lg.h to include/asm instead (suggested by Rusty Russel) - All steps of the series compiles (suggested by Stephen Rothwell) - Better ifdef header naming (suggested by Stephen Rothwell) - Added Andi Kleen to CC (forgot to on V1) ] Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the