mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Andrey Smirnov <andrew.smirnov@gmail.com>
To: barebox@lists.infradead.org
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
Subject: [PATCH v2 07/28] ARM: mmu: Separate index and address in create_sections()
Date: Wed, 16 May 2018 13:00:15 -0700	[thread overview]
Message-ID: <20180516200036.29829-8-andrew.smirnov@gmail.com> (raw)
In-Reply-To: <20180516200036.29829-1-andrew.smirnov@gmail.com>

Both TTB index and address used to fill that entry are derived from
the same variable 'addr' which requires shifting right and left by 20
and somewhat confusing.

Split the counter used to iterate over elements of  TTB into a
separate variable to make this code a bit easier to read.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/cpu/mmu.h | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/arm/cpu/mmu.h b/arch/arm/cpu/mmu.h
index 59f72049f..d71cd7e38 100644
--- a/arch/arm/cpu/mmu.h
+++ b/arch/arm/cpu/mmu.h
@@ -1,6 +1,8 @@
 #ifndef __ARM_MMU_H
 #define __ARM_MMU_H
 
+#include <linux/sizes.h>
+
 #ifdef CONFIG_MMU
 void __mmu_cache_on(void);
 void __mmu_cache_off(void);
@@ -28,8 +30,12 @@ static inline void
 create_sections(uint32_t *ttb, unsigned long addr,
 		int size_m, unsigned int flags)
 {
-	for (addr >>= 20; addr < size_m; addr++)
-		ttb[addr] = (addr << 20) | flags;
+	unsigned long ttb_start = addr >> 20;
+	unsigned long ttb_end   = ttb_start + size_m;
+	unsigned int i;
+
+	for (i = ttb_start; i < ttb_end; i++, addr += SZ_1M)
+		ttb[i] = addr | flags;
 }
 
 
-- 
2.17.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  parent reply	other threads:[~2018-05-16 20:01 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-16 20:00 [PATCH v2 00/28] ARM MMU code improvements and on-demand PTE allocation Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 01/28] ARM: mmu: Remove unused ARM_VECTORS_SIZE Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 02/28] ARM: mmu: Make use of IS_ALIGNED in arm_mmu_remap_sdram() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 03/28] ARM: mmu: Use ALIGN and ALIGN_DOWN in map_cachable() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 04/28] ARM: mmu: Introduce set_ttbr() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 05/28] ARM: mmu: Introduce set_domain() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 06/28] ARM: mmu: Share code for create_sections() Andrey Smirnov
2018-05-16 20:49   ` Sam Ravnborg
2018-05-17  0:10     ` Andrey Smirnov
2018-05-16 20:00 ` Andrey Smirnov [this message]
2018-05-16 20:52   ` [PATCH v2 07/28] ARM: mmu: Separate index and address in create_sections() Sam Ravnborg
2018-05-17  0:11     ` Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 08/28] sizes.h: Sync with Linux 4.16 Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 09/28] ARM: mmu: Specify size in bytes in create_sections() Andrey Smirnov
2018-05-17  6:55   ` Sascha Hauer
2018-05-17  7:01     ` Andrey Smirnov
2018-05-17  7:08       ` Sascha Hauer
2018-05-17  7:35         ` Andrey Smirnov
2018-05-17  9:24           ` Sascha Hauer
2018-05-16 20:00 ` [PATCH v2 10/28] ARM: mmu: Share code for initial flat mapping creation Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 11/28] ARM: mmu: Share PMD_SECT_DEF_CACHED Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 12/28] ARM: mmu: Drop needless shifting in map_io_sections() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 13/28] ARM: mmu: Replace hardcoded shifts with pgd_index() from Linux Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 14/28] ARM: mmu: Trivial simplification in arm_mmu_remap_sdram() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 15/28] ARM: mmu: Replace various SZ_1M with PGDIR_SIZE Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 16/28] ARM: mmu: Use PAGE_SIZE when specifying size of one page Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 17/28] ARM: mmu: Define and use PTRS_PER_PTE Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 18/28] ARM: mmu: Use PAGE_SIZE instead of magic right shift by 12 Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 19/28] ARM: mmu: Use xmemalign in arm_create_pte() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 20/28] ARM: mmu: Use xmemalign in mmu_init() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 21/28] ARM: mmu: Share code between dma_alloc_*() functions Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 22/28] ARM: mmu: Pass PTE flags a parameter to arm_create_pte() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 23/28] ARM: mmu: Make sure that address is 1M aligned in arm_create_pte() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 24/28] ARM: mmu: Use find_pte() to find PTE in create_vector_table() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 25/28] ARM: mmu: Use dma_inv_range() in dma_sync_single_for_cpu() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 26/28] ARM: mmu: Simplify the use of dma_flush_range() Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 27/28] ARM: mmu: Implement on-demand PTE allocation Andrey Smirnov
2018-05-16 20:00 ` [PATCH v2 28/28] ARM: mmu: Introduce ARM_TTB_SIZE Andrey Smirnov

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=20180516200036.29829-8-andrew.smirnov@gmail.com \
    --to=andrew.smirnov@gmail.com \
    --cc=barebox@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox