linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: benh@kernel.crashing.org, paulus@samba.org,
	Scott Wood <scottwood@freescale.com>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v3 10/31] powerpc/mm: Don't use pmd_val, pud_val and pgd_val as lvalue
Date: Tue, 13 Oct 2015 10:53:09 +0530	[thread overview]
Message-ID: <87612btk8y.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <1444713006.29347.2.camel@ellerman.id.au>

Michael Ellerman <mpe@ellerman.id.au> writes:

> On Tue, 2015-10-13 at 00:09 +0530, Aneesh Kumar K.V wrote:
>> We convert them static inline function here as we did with pte_val in
>> the previous patch
>
> This breaks ppc40x_defconfig & 40x/ep405_defconfig with:
>
>   arch/powerpc/mm/40x_mmu.c: In function 'mmu_mapin_ram':
>   arch/powerpc/mm/40x_mmu.c:113:20: error: lvalue required as left operand of assignment
>   arch/powerpc/mm/40x_mmu.c:114:20: error: lvalue required as left operand of assignment
>   arch/powerpc/mm/40x_mmu.c:115:20: error: lvalue required as left operand of assignment
>   arch/powerpc/mm/40x_mmu.c:116:20: error: lvalue required as left operand of assignment
>   arch/powerpc/mm/40x_mmu.c:128:18: error: lvalue required as left operand of assignment
>
> Which is mainly:
>
> 	pmd_val(*pmdp++) = val;
>
>
> The obvious patch to use pmd_set() doesn't work, I think because there's no
> pmd_set() defined for 32-bit nohash?
>

How about

diff --git a/arch/powerpc/mm/40x_mmu.c b/arch/powerpc/mm/40x_mmu.c
index 5810967511d4..31a5d42df8c9 100644
--- a/arch/powerpc/mm/40x_mmu.c
+++ b/arch/powerpc/mm/40x_mmu.c
@@ -110,10 +110,10 @@ unsigned long __init mmu_mapin_ram(unsigned long top)
 		unsigned long val = p | _PMD_SIZE_16M | _PAGE_EXEC | _PAGE_HWWRITE;
 
 		pmdp = pmd_offset(pud_offset(pgd_offset_k(v), v), v);
-		pmd_val(*pmdp++) = val;
-		pmd_val(*pmdp++) = val;
-		pmd_val(*pmdp++) = val;
-		pmd_val(*pmdp++) = val;
+		*pmdp++ = __pmd(val);
+		*pmdp++ = __pmd(val);
+		*pmdp++ = __pmd(val);
+		*pmdp++ = __pmd(val);
 
 		v += LARGE_PAGE_SIZE_16M;
 		p += LARGE_PAGE_SIZE_16M;
@@ -125,7 +125,7 @@ unsigned long __init mmu_mapin_ram(unsigned long top)
 		unsigned long val = p | _PMD_SIZE_4M | _PAGE_EXEC | _PAGE_HWWRITE;
 
 		pmdp = pmd_offset(pud_offset(pgd_offset_k(v), v), v);
-		pmd_val(*pmdp) = val;
+		*pmdp = __pmd(val);
 
 		v += LARGE_PAGE_SIZE_4M;
 		p += LARGE_PAGE_SIZE_4M;

  parent reply	other threads:[~2015-10-13  5:24 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-12 18:39 [PATCH v3 00/31] powerpc/mm: Update page table format for book3s 64 Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 01/31] powerpc/mm: move pte headers to book3s directory Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 02/31] powerpc/mm: move pte headers to book3s directory (part 2) Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 03/31] powerpc/mm: make a separate copy for book3s Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 04/31] powerpc/mm: make a separate copy for book3s (part 2) Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 05/31] powerpc/mm: Move hash specific pte width and other defines to book3s Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 06/31] powerpc/mm: Delete booke bits from book3s Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 07/31] powerpc/mm: Don't have generic headers introduce functions touching pte bits Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 08/31] powerpc/mm: Drop pte-common.h from BOOK3S 64 Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 09/31] powerpc/mm: Don't use pte_val as lvalue Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 10/31] powerpc/mm: Don't use pmd_val, pud_val and pgd_val " Aneesh Kumar K.V
2015-10-13  5:10   ` [PATCH v3 10/31] powerpc/mm: Don't use pmd_val,pud_val " Michael Ellerman
2015-10-13  5:17     ` [PATCH v3 10/31] powerpc/mm: Don't use pmd_val, pud_val " Aneesh Kumar K.V
2015-10-13  5:23     ` Aneesh Kumar K.V [this message]
2015-10-13  5:31       ` [PATCH v3 10/31] powerpc/mm: Don't use pmd_val,pud_val " Michael Ellerman
2015-10-13  9:26       ` Michael Ellerman
2015-10-12 18:39 ` [PATCH v3 11/31] powerpc/mm: Move hash64 PTE bits from book3s/64/pgtable.h to hash.h Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 12/31] powerpc/mm: Move PTE bits from generic functions to hash64 functions Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 13/31] powerpc/booke: Move nohash headers (part 1) Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 14/31] powerpc/booke: Move nohash headers (part 2) Aneesh Kumar K.V
2015-10-12 18:39 ` [PATCH v3 15/31] powerpc/booke: Move nohash headers (part 3) Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 16/31] powerpc/booke: Move nohash headers (part 4) Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 17/31] powerpc/booke: Move nohash headers (part 5) Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 18/31] powerpc/mm: Increase the pte frag size Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 19/31] powerpc/mm: Convert 4k hash insert to C Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 20/31] powerpc/mm: update __real_pte to take address as argument Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 21/31] powerpc/mm: make pte page hash index slot 8 bits Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 22/31] powerpc/mm: Don't track subpage valid bit in pte_t Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 23/31] powerpc/mm: Increase the width of #define Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 24/31] powerpc/mm: Convert __hash_page_64K to C Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 25/31] powerpc/mm: Convert 4k insert from asm " Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 26/31] powerpc/mm: Remove the dependency on pte bit position in asm code Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 27/31] powerpc/mm: Add helper for converting pte bit to hpte bits Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 28/31] powerpc/mm: Move WIMG update to helper Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 29/31] powerpc/mm: Move hugetlb related headers Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 30/31] powerpc/mm: Move THP headers around Aneesh Kumar K.V
2015-10-12 18:40 ` [PATCH v3 31/31] powerpc/mm: Add a _PAGE_PTE bit Aneesh Kumar K.V
2015-10-13  0:22 ` [PATCH v3 00/31] powerpc/mm: Update page table format for book3s 64 Scott Wood

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=87612btk8y.fsf@linux.vnet.ibm.com \
    --to=aneesh.kumar@linux.vnet.ibm.com \
    --cc=benh@kernel.crashing.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    --cc=scottwood@freescale.com \
    /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).