[Lguest] [PATCH 8/8] lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET

Matias Zabaljauregui zabaljauregui at gmail.com
Fri Jul 24 04:48:04 EST 2009


Hi Rusty,

        maybe KERNEL_PGD_BOUNDARY macro (include/asm/pgtable.h)  can
be used here instead ?

regards

Matias


2009/7/23 Rusty Russell <rusty at rustcorp.com.au>:
>
> We still assume the Guest and Host have the same PAGE_OFFSET settings,
> but now we don't assume 0xC0000000.
>
> Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
> Cc: Matias Zabaljauregui <zabaljauregui at gmail.com>
> ---
>  drivers/lguest/page_tables.c |    6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/lguest/page_tables.c b/drivers/lguest/page_tables.c
> --- a/drivers/lguest/page_tables.c
> +++ b/drivers/lguest/page_tables.c
> @@ -996,11 +996,9 @@ static unsigned long setup_pagetables(st
>        if (copy_to_user(&pgdir[0], &pgd, sizeof(pgd)) != 0)
>                return -EFAULT;
>        /*
> -        * And the third PGD entry (ie. addresses 3G-4G).
> -        *
> -        * FIXME: This assumes that PAGE_OFFSET for the Guest is 0xC0000000.
> +        * And the other PGD entry to make the linear mapping at PAGE_OFFSET
>         */
> -       if (copy_to_user(&pgdir[3], &pgd, sizeof(pgd)) != 0)
> +       if (copy_to_user(&pgdir[PAGE_OFFSET>>PGDIR_SHIFT], &pgd, sizeof(pgd)))
>                return -EFAULT;
>  #else
>        /*
>
>


More information about the Lguest mailing list