All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Andi Kleen <ak@suse.de>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Glauber de Oliveira Costa <glommer@gmail.com>,
	Jan Beulich <jbeulich@novell.com>
Subject: Re: [PATCH 0 of 4] x86: some more patches
Date: Wed, 16 Jan 2008 15:54:27 +0100	[thread overview]
Message-ID: <20080116145427.GA640@elte.hu> (raw)
In-Reply-To: <200801161544.15884.ak@suse.de>


* Andi Kleen <ak@suse.de> wrote:

> >  #define PHYSICAL_PAGE_MASK	(PAGE_MASK & __PHYSICAL_MASK)
> 
> 
> I haven't tested yet, but we looked at that one earlier and I thought 
> it was ok because
> 
> #define __PHYSICAL_MASK          _AT(phys_addr_t, (_AC(1,ULL) << __PHYSICAL_MASK_SHIFT) - 1)
> 
> and 
> 
> typedef u64     phys_addr_t;
> 
> for PAE. So the expression above should have been already 64bit.

no. The problem is that PAGE_MASK is:

  #define PAGE_MASK        (~(PAGE_SIZE-1))

  #define PAGE_SIZE        (_AC(1,UL) << PAGE_SHIFT)

that's u32 on PAE, and __PHYSICAL_MASK is u64. So PAGE_MASK gets 
zero-extended to u64. So the combined mask:

  #define PHYSICAL_PAGE_MASK      (PAGE_MASK & __PHYSICAL_MASK)

has the high bits chopped off. Please try my patch.

(PHYSICAL_PAGE_MASK is broken too in the same way, i just fixed that in 
my tree - but it's not used by anything on 32-bit PAE but by PAGE_MASK)

> So I would be surprised if the patch works.

try it ...

	Ingo

  reply	other threads:[~2008-01-16 14:54 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-15 22:17 [PATCH 0 of 4] x86: some more patches Jeremy Fitzhardinge
2008-01-15 22:17 ` [PATCH 1 of 4] x86: refactor mmu ops in paravirt.h Jeremy Fitzhardinge
2008-01-15 22:17 ` [PATCH 2 of 4] x86: fix warning Jeremy Fitzhardinge
2008-01-15 22:17 ` [PATCH 3 of 4] x86: clean up pte_modify Jeremy Fitzhardinge
2008-01-16  0:43   ` Andi Kleen
2008-01-15 22:17 ` [PATCH 4 of 4] x86: mask NX from pte_pfn Jeremy Fitzhardinge
2008-01-18 13:52   ` Hugh Dickins
2008-01-18 14:01     ` Ingo Molnar
2008-01-18 15:55     ` Jeremy Fitzhardinge
2008-01-15 22:35 ` [PATCH 0 of 4] x86: some more patches Ingo Molnar
2008-01-15 23:28   ` Jeremy Fitzhardinge
2008-01-16  0:44     ` Andi Kleen
2008-01-16  7:25       ` Ingo Molnar
2008-01-16 14:22     ` Ingo Molnar
2008-01-16 14:44       ` Andi Kleen
2008-01-16 14:54         ` Ingo Molnar [this message]
2008-01-16 15:18           ` Ingo Molnar
2008-01-16 15:26           ` Andi Kleen
2008-01-16 15:42             ` Jan Beulich
2008-01-16 15:47               ` Ingo Molnar
2008-01-16 16:06                 ` Ingo Molnar
2008-01-16 17:05                 ` Jeremy Fitzhardinge
2008-01-16 17:12                   ` Andi Kleen
2008-01-16 17:40                 ` Andi Kleen
2008-01-16 20:22                   ` Ingo Molnar
2008-01-16 20:59                     ` Andi Kleen
2008-01-16 21:06                       ` Ingo Molnar
2008-01-16 21:35                         ` Andi Kleen

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=20080116145427.GA640@elte.hu \
    --to=mingo@elte.hu \
    --cc=ak@suse.de \
    --cc=glommer@gmail.com \
    --cc=jbeulich@novell.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.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.