linux-mips
[Top] [All Lists]

Re: [PATCH 36/37] Cavium OCTEON: pmd_none - use pmd_val() in pmd_val().

To: ddaney@caviumnetworks.com
Subject: Re: [PATCH 36/37] Cavium OCTEON: pmd_none - use pmd_val() in pmd_val().
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Fri, 24 Oct 2008 09:00:52 -0400
Cc: linux-mips@linux-mips.org
In-reply-to: <1224809821-5532-37-git-send-email-ddaney@caviumnetworks.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1224809821-5532-1-git-send-email-ddaney@caviumnetworks.com> <1224809821-5532-37-git-send-email-ddaney@caviumnetworks.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 2.0.0.17 (X11/20080925)
ddaney@caviumnetworks.com wrote:
From: David Daney <ddaney@caviumnetworks.com>

Before marking pmd_val as invalid_pte_table, factor in existing value
for pmd_val.

Signed-off-by: Paul Gortmaker <Paul.Gortmaker@windriver.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
 arch/mips/include/asm/pgtable-64.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

Hi David,

I think you missed my feedback on this patch -- you should be the primary
S.O.B.  on this, and at a minimum, it needs a better description of just why
this is required (if it actually is) on Cavium CPUs, but not on other boards.

Thanks,
Paul.

diff --git a/arch/mips/include/asm/pgtable-64.h 
b/arch/mips/include/asm/pgtable-64.h
index 943515f..bb93bd5 100644
--- a/arch/mips/include/asm/pgtable-64.h
+++ b/arch/mips/include/asm/pgtable-64.h
@@ -129,7 +129,12 @@ extern pmd_t empty_bad_pmd_table[PTRS_PER_PMD];
  */
 static inline int pmd_none(pmd_t pmd)
 {
+#ifdef CONFIG_CPU_CAVIUM_OCTEON
+       return (pmd_val(pmd) == (unsigned long) invalid_pte_table) ||
+                               (!pmd_val(pmd));
+#else
        return pmd_val(pmd) == (unsigned long) invalid_pte_table;
+#endif
 }
#define pmd_bad(pmd) (pmd_val(pmd) & ~PAGE_MASK)


<Prev in Thread] Current Thread [Next in Thread>