All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Jan Beulich <jbeulich@novell.com>
Cc: Ingo Molnar <mingo@elte.hu>, Stable Kernel <stable@kernel.org>,
	x86@kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [PATCH UPDATED] x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits.
Date: Fri, 06 Jun 2008 10:21:39 +0100	[thread overview]
Message-ID: <484901A3.3040401@goop.org> (raw)
In-Reply-To: <484823BD.76E4.0078.0@novell.com>

When a 64-bit x86 processor runs in 32-bit PAE mode, a pte can
potentially have the same number of physical address bits as the
64-bit host ("Enhanced Legacy PAE Paging").  This means, in theory,
we could have up to 52 bits of physical address in a pte.

The 32-bit kernel uses a 32-bit unsigned long to represent a pfn.
This means that it can only represent physical addresses up to 32+12=44
bits wide.  Rather than widening pfns everywhere, just set 2^44 as the
Linux x86_32-PAE architectural limit for physical address size.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Jan Beulich <jbeulich@novell.com>
---
 include/asm-x86/page_32.h |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

===================================================================
--- a/include/asm-x86/page_32.h
+++ b/include/asm-x86/page_32.h
@@ -22,7 +22,8 @@
 
 
 #ifdef CONFIG_X86_PAE
-#define __PHYSICAL_MASK_SHIFT	36
+/* 44=32+12, the limit we can fit into an unsigned long pfn */
+#define __PHYSICAL_MASK_SHIFT	44
 #define __VIRTUAL_MASK_SHIFT	32
 #define PAGETABLE_LEVELS	3
 



  parent reply	other threads:[~2008-06-06  9:22 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-05 15:21 [PATCH] x86: set PAE PHYSICAL_MASK_SHIFT to match 64-bit Jeremy Fitzhardinge
2008-06-05 15:34 ` Jan Beulich
2008-06-05 15:42   ` Jeremy Fitzhardinge
2008-06-05 16:45     ` H. Peter Anvin
2008-06-05 21:14       ` Jeremy Fitzhardinge
2008-06-07 18:35         ` H. Peter Anvin
2008-06-06  9:21   ` Jeremy Fitzhardinge [this message]
2008-06-06  9:58     ` [PATCH UPDATED] x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits Jan Beulich
2008-06-06 13:15     ` Andi Kleen
2008-06-06 13:50       ` Jeremy Fitzhardinge
2008-06-10 10:31     ` Ingo Molnar
2008-06-10 13:06       ` Jeremy Fitzhardinge
2008-06-13  7:24         ` Ingo Molnar
2008-06-06  1:40 ` [PATCH] x86: set PAE PHYSICAL_MASK_SHIFT to match 64-bit Andi Kleen
2008-06-06  7:14   ` Jan Beulich
2008-06-06  7:59   ` Jeremy Fitzhardinge
2008-06-06  8:14     ` Jan Beulich
2008-06-06  8:15       ` Jeremy Fitzhardinge
2008-06-07 18:39         ` H. Peter Anvin
2008-06-06  4:45 ` Arjan van de Ven
2008-06-06  8:08   ` Jeremy Fitzhardinge

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=484901A3.3040401@goop.org \
    --to=jeremy@goop.org \
    --cc=jbeulich@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=stable@kernel.org \
    --cc=x86@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.