LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Marcelo Tosatti <marcelo@kvack.org>
To: mingo@elte.hu, gcosta@redhat.com
Cc: ehabkost@redhat.com, glommer@gmail.com, jeremy@goop.org,
	chrisw@redhat.com, linux-kernel@vger.kernel.org
Subject: [PATCH] fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS >= 3
Date: Sat, 19 Jan 2008 16:19:09 -0200	[thread overview]
Message-ID: <20080119181909.GA4640@dmt> (raw)
In-Reply-To: <12006768251548-git-send-email-gcosta@redhat.com>

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,
+
+#if PAGETABLE_LEVELS == 4
+	.pud_val = native_pud_val,
+	.make_pud = native_make_pud,
+	.pud_clear = native_pud_clear,
 #endif
+#endif /* PAGETABLE_LEVELS >= 3 */
 
 	.pte_val = native_pte_val,
 	.pgd_val = native_pgd_val,




  parent reply	other threads:[~2008-01-19 18:16 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 ` Marcelo Tosatti [this message]
2008-01-20  5:05   ` [PATCH] fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS >= 3 Jeremy Fitzhardinge
2008-01-21 20:44   ` Eduardo Pereira Habkost
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=20080119181909.GA4640@dmt \
    --to=marcelo@kvack.org \
    --cc=chrisw@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=gcosta@redhat.com \
    --cc=glommer@gmail.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.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).