Displaying 8 results from an estimated 8 matches for "setpagesldt".
2007 Apr 18
0
[PATCH 13/14] i386 / Introduce hypervisor ldt hooks
...asm/system.h>
#include <asm/ldt.h>
#include <asm/desc.h>
+#include <mach_pgalloc.h>
#ifdef CONFIG_SMP /* avoids "defined but not used" warning */
static void flush_ldt(void *null)
@@ -59,16 +60,19 @@
#ifdef CONFIG_SMP
cpumask_t mask;
preempt_disable();
+ SetPagesLDT(pc->ldt, (pc->size * LDT_ENTRY_SIZE) / PAGE_SIZE);
load_LDT(pc);
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_E...
2007 Apr 18
0
[PATCH 13/14] i386 / Introduce hypervisor ldt hooks
...asm/system.h>
#include <asm/ldt.h>
#include <asm/desc.h>
+#include <mach_pgalloc.h>
#ifdef CONFIG_SMP /* avoids "defined but not used" warning */
static void flush_ldt(void *null)
@@ -59,16 +60,19 @@
#ifdef CONFIG_SMP
cpumask_t mask;
preempt_disable();
+ SetPagesLDT(pc->ldt, (pc->size * LDT_ENTRY_SIZE) / PAGE_SIZE);
load_LDT(pc);
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_E...
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
...ne? This looks like user-triggerable oops to me.
> pc->ldt = newldt;
> wmb();
> - pc->size = mincount;
> + pc->ldt_pages = new_pages;
> wmb();
>
> /*
> @@ -60,20 +59,20 @@
> #ifdef CONFIG_SMP
> cpumask_t mask;
> preempt_disable();
> - SetPagesLDT(pc->ldt, (pc->size * LDT_ENTRY_SIZE) / PAGE_SIZE);
> + SetPagesLDT(pc->ldt, pc->ldt_pages);
> load_LDT(pc);
> mask = cpumask_of_cpu(smp_processor_id());
> if (!cpus_equal(current->mm->cpu_vm_mask, mask))
> smp_call_function(flush_ldt, NULL, 1, 1);
>...
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
...ne? This looks like user-triggerable oops to me.
> pc->ldt = newldt;
> wmb();
> - pc->size = mincount;
> + pc->ldt_pages = new_pages;
> wmb();
>
> /*
> @@ -60,20 +59,20 @@
> #ifdef CONFIG_SMP
> cpumask_t mask;
> preempt_disable();
> - SetPagesLDT(pc->ldt, (pc->size * LDT_ENTRY_SIZE) / PAGE_SIZE);
> + SetPagesLDT(pc->ldt, pc->ldt_pages);
> load_LDT(pc);
> mask = cpumask_of_cpu(smp_processor_id());
> if (!cpus_equal(current->mm->cpu_vm_mask, mask))
> smp_call_function(flush_ldt, NULL, 1, 1);
>...
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...com
+ *
+ */
#ifndef __ASM_MACH_PGALLOC_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
...com
+ *
+ */
#ifndef __ASM_MACH_PGALLOC_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