LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Eduardo Pereira Habkost <ehabkost@redhat.com>
To: Marcelo Tosatti <marcelo@kvack.org>
Cc: mingo@elte.hu, gcosta@redhat.com, glommer@gmail.com,
	jeremy@goop.org, chrisw@redhat.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS >= 3
Date: Mon, 21 Jan 2008 18:44:51 -0200	[thread overview]
Message-ID: <20080121204451.GT7338@blackpad> (raw)
In-Reply-To: <20080119181909.GA4640@dmt>

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

  parent reply	other threads:[~2008-01-21 20:48 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-18 17:20 [PATCH 0/10] Tree fixes for PARAVIRT Glauber de Oliveira Costa
2008-01-18 17:20 ` [PATCH 1/10] add missing parameter for lookup_address Glauber de Oliveira Costa
2008-01-18 17:20   ` [PATCH 2/10] add stringify header Glauber de Oliveira Costa
2008-01-18 17:20     ` [PATCH 3/10] provide a native_init_IRQ function to x86_64 Glauber de Oliveira Costa
2008-01-18 17:20       ` [PATCH 4/10] put generic mm_hooks include into PARAVIRT Glauber de Oliveira Costa
2008-01-18 17:20         ` [PATCH 5/10] puts read and write cr8 into pv_cpu_ops Glauber de Oliveira Costa
2008-01-18 17:20           ` [PATCH 6/10] provide read and write cr8 paravirt hooks Glauber de Oliveira Costa
2008-01-18 17:20             ` [PATCH 7/10] fill pv_cpu_ops structure with cr8 fields Glauber de Oliveira Costa
2008-01-18 17:20               ` [PATCH 8/10] add asm_offset PARAVIRT constants Glauber de Oliveira Costa
2008-01-18 17:20                 ` [PATCH 9/10] provide __parainstructions section Glauber de Oliveira Costa
2008-01-18 17:20                   ` [PATCH 10/10] change function orders in paravirt.h Glauber de Oliveira Costa
2008-01-18 20:24                     ` Jeremy Fitzhardinge
2008-01-18 20:41                   ` [PATCH 9/10] provide __parainstructions section Sam Ravnborg
2008-01-18 22:47                     ` Jeremy Fitzhardinge
2008-01-18 20:26   ` [PATCH 1/10] add missing parameter for lookup_address Chris Wright
2008-01-19  1:16     ` Andi Kleen
2008-01-18 20:32 ` [PATCH 0/10] Tree fixes for PARAVIRT Ingo Molnar
2008-01-18 21:37   ` Ingo Molnar
2008-01-18 21:54     ` Zachary Amsden
2008-01-18 22:02       ` Ingo Molnar
2008-01-19  1:24         ` Glauber de Oliveira Costa
2008-01-22 12:20           ` Ingo Molnar
2008-01-18 22:31       ` Jeremy Fitzhardinge
2008-01-19 18:19 ` [PATCH] fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS >= 3 Marcelo Tosatti
2008-01-20  5:05   ` Jeremy Fitzhardinge
2008-01-21 20:44   ` Eduardo Pereira Habkost [this message]
2008-01-21 21:19     ` Jeremy Fitzhardinge
2008-01-22 12:30   ` Ingo Molnar
2008-01-28 22:33     ` Glauber de Oliveira Costa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080121204451.GT7338@blackpad \
    --to=ehabkost@redhat.com \
    --cc=chrisw@redhat.com \
    --cc=gcosta@redhat.com \
    --cc=glommer@gmail.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@kvack.org \
    --cc=mingo@elte.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).