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