All of lore.kernel.org
 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 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.