search for: clearpagesldt

Displaying 8 results from an estimated 8 matches for "clearpagesldt".

2007 Apr 18
0
[PATCH 13/14] i386 / Introduce hypervisor ldt hooks
...mask = cpumask_of_cpu(smp_processor_id()); if (!cpus_equal(current->mm->cpu_vm_mask, mask)) smp_call_function(flush_ldt, NULL, 1, 1); preempt_enable(); #else + SetPagesLDT(pc->ldt, (pc->size * LDT_ENTRY_SIZE) / PAGE_SIZE); load_LDT(pc); #endif } if (oldsize) { + ClearPagesLDT(oldldt, (oldsize * LDT_ENTRY_SIZE) / PAGE_SIZE); if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE) vfree(oldldt); else @@ -83,8 +87,10 @@ down(&old->sem); err = alloc_ldt(new, 0, old->size, 0); - if (!err) + if (!err) { memcpy(new->ldt, old->ldt, old->size*LDT_ENTRY_S...
2007 Apr 18
0
[PATCH 13/14] i386 / Introduce hypervisor ldt hooks
...mask = cpumask_of_cpu(smp_processor_id()); if (!cpus_equal(current->mm->cpu_vm_mask, mask)) smp_call_function(flush_ldt, NULL, 1, 1); preempt_enable(); #else + SetPagesLDT(pc->ldt, (pc->size * LDT_ENTRY_SIZE) / PAGE_SIZE); load_LDT(pc); #endif } if (oldsize) { + ClearPagesLDT(oldldt, (oldsize * LDT_ENTRY_SIZE) / PAGE_SIZE); if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE) vfree(oldldt); else @@ -83,8 +87,10 @@ down(&old->sem); err = alloc_ldt(new, 0, old->size, 0); - if (!err) + if (!err) { memcpy(new->ldt, old->ldt, old->size*LDT_ENTRY_S...
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
..., mask)) > smp_call_function(flush_ldt, NULL, 1, 1); > preempt_enable(); > #else > - SetPagesLDT(pc->ldt, (pc->size * LDT_ENTRY_SIZE) / PAGE_SIZE); > + SetPagesLDT(pc->ldt, pc->ldt_pages); > load_LDT(pc); > #endif > } > - if (oldsize) { > - ClearPagesLDT(oldldt, (oldsize * LDT_ENTRY_SIZE) / PAGE_SIZE); > - if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE) > + if (old_pages) { > + ClearPagesLDT(oldldt, old_pages); > + if (old_pages > 1) > vfree(oldldt); > else > kfree(oldldt); > @@ -86,10 +85,10 @@ > int err; &...
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
..., mask)) > smp_call_function(flush_ldt, NULL, 1, 1); > preempt_enable(); > #else > - SetPagesLDT(pc->ldt, (pc->size * LDT_ENTRY_SIZE) / PAGE_SIZE); > + SetPagesLDT(pc->ldt, pc->ldt_pages); > load_LDT(pc); > #endif > } > - if (oldsize) { > - ClearPagesLDT(oldldt, (oldsize * LDT_ENTRY_SIZE) / PAGE_SIZE); > - if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE) > + if (old_pages) { > + ClearPagesLDT(oldldt, old_pages); > + if (old_pages > 1) > vfree(oldldt); > else > kfree(oldldt); > @@ -86,10 +85,10 @@ > int err; &...
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...GALLOC_H #define __ASM_MACH_PGALLOC_H +/* + * These hooks allow the hypervisor to be notified about page type + * transition events. + */ + +#define SetPagePTE(_page) +#define ClearPagePTE(_page) +#define SetPagePDE(_page) +#define ClearPagePDE(_page) + #define SetPagesLDT(_va, _pages) #define ClearPagesLDT(_va, _pages) -#endif +#endif /* _ASM_MACH_PGALLOC_H */
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...GALLOC_H #define __ASM_MACH_PGALLOC_H +/* + * These hooks allow the hypervisor to be notified about page type + * transition events. + */ + +#define SetPagePTE(_page) +#define ClearPagePTE(_page) +#define SetPagePDE(_page) +#define ClearPagePDE(_page) + #define SetPagesLDT(_va, _pages) #define ClearPagesLDT(_va, _pages) -#endif +#endif /* _ASM_MACH_PGALLOC_H */
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