lkml.org 
[lkml]   [2008]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS >= 3
On Sat, Jan 19, 2008 at 04:19:09PM -0200, Marcelo Tosatti wrote:
> On Fri, Jan 18, 2008 at 03:20:15PM -0200, Glauber de Oliveira Costa wrote:
> > Hi,
> >
> > This small series provides some more fixes towards the goal
> > to have the PARAVIRT selectable for x86_64. After that, just
> > some more small steps are needed.
> >
> > The first fix is not even specific for PARAVIRT, and it's actually
> > preventing the whole tree from booting.
> >
>
> And the following allows PARAVIRT kernels to boot on x86_64.
>
> -----
>
> Fill in missing pagetable manipulation entries in pv_mmu_ops
> for PAGETABLE_LEVELS >= 3.
>
> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
>
>
> Index: linux-2.6-x86/arch/x86/kernel/paravirt.c
> ===================================================================
> --- linux-2.6-x86.orig/arch/x86/kernel/paravirt.c
> +++ linux-2.6-x86/arch/x86/kernel/paravirt.c
> @@ -396,16 +396,25 @@ struct pv_mmu_ops pv_mmu_ops = {
> .kmap_atomic_pte = kmap_atomic,
> #endif
>
> +#if PAGETABLE_LEVELS >= 3
> #ifdef CONFIG_X86_PAE
> .set_pte_atomic = native_set_pte_atomic,
> .set_pte_present = native_set_pte_present,
> - .set_pud = native_set_pud,
> .pte_clear = native_pte_clear,
> .pmd_clear = native_pmd_clear,
> -
> +#endif
> + .set_pud = native_set_pud,
> + .set_pgd = native_set_pgd,
> + .pgd_clear = native_pgd_clear,
> .pmd_val = native_pmd_val,
> .make_pmd = native_make_pmd,

Current x86.git doesn't have .set_pgd or .pgd_clear fields on
pv_mmu_ops.

Those fields, and the implementations of set_pgd(), __pud() and pud_val()
were missing on the last series from Glauber. I will send the missing
bits today.

> + .pud_clear = native_pud_clear,

On the patches I will send, pud_clear() and pgd_clear() aren't present
on pv_mmu_ops and are implemented using set_pud() and set_pgd().

--
Eduardo


\
 
 \ /
  Last update: 2008-01-21 21:51    [W:0.100 / U:0.332 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site