aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lguest/lg.h
diff options
context:
space:
mode:
authorMatias Zabaljauregui <zabaljauregui@gmail.com>2009-06-13 00:27:07 -0400
committerRusty Russell <rusty@rustcorp.com.au>2009-06-12 08:57:08 -0400
commitacdd0b6292b282c4511897ac2691a47befbf1c6a (patch)
tree1bfcfc32b11d35e99fec5bbf52b19d6ee038f25e /drivers/lguest/lg.h
parentcefcad1773197523e11e18b669f245e6a8d32058 (diff)
lguest: PAE support
This version requires that host and guest have the same PAE status. NX cap is not offered to the guest, yet. Signed-off-by: Matias Zabaljauregui <zabaljauregui@gmail.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/lguest/lg.h')
-rw-r--r--drivers/lguest/lg.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/lguest/lg.h b/drivers/lguest/lg.h
index cacc2da2058d..6201ce59e886 100644
--- a/drivers/lguest/lg.h
+++ b/drivers/lguest/lg.h
@@ -137,6 +137,8 @@ int run_guest(struct lg_cpu *cpu, unsigned long __user *user);
137 * in the kernel. */ 137 * in the kernel. */
138#define pgd_flags(x) (pgd_val(x) & ~PAGE_MASK) 138#define pgd_flags(x) (pgd_val(x) & ~PAGE_MASK)
139#define pgd_pfn(x) (pgd_val(x) >> PAGE_SHIFT) 139#define pgd_pfn(x) (pgd_val(x) >> PAGE_SHIFT)
140#define pmd_flags(x) (pmd_val(x) & ~PAGE_MASK)
141#define pmd_pfn(x) (pmd_val(x) >> PAGE_SHIFT)
140 142
141/* interrupts_and_traps.c: */ 143/* interrupts_and_traps.c: */
142unsigned int interrupt_pending(struct lg_cpu *cpu, bool *more); 144unsigned int interrupt_pending(struct lg_cpu *cpu, bool *more);
@@ -170,6 +172,9 @@ int init_guest_pagetable(struct lguest *lg);
170void free_guest_pagetable(struct lguest *lg); 172void free_guest_pagetable(struct lguest *lg);
171void guest_new_pagetable(struct lg_cpu *cpu, unsigned long pgtable); 173void guest_new_pagetable(struct lg_cpu *cpu, unsigned long pgtable);
172void guest_set_pgd(struct lguest *lg, unsigned long gpgdir, u32 i); 174void guest_set_pgd(struct lguest *lg, unsigned long gpgdir, u32 i);
175#ifdef CONFIG_X86_PAE
176void guest_set_pmd(struct lguest *lg, unsigned long gpgdir, u32 i);
177#endif
173void guest_pagetable_clear_all(struct lg_cpu *cpu); 178void guest_pagetable_clear_all(struct lg_cpu *cpu);
174void guest_pagetable_flush_user(struct lg_cpu *cpu); 179void guest_pagetable_flush_user(struct lg_cpu *cpu);
175void guest_set_pte(struct lg_cpu *cpu, unsigned long gpgdir, 180void guest_set_pte(struct lg_cpu *cpu, unsigned long gpgdir,