diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2019-01-17 16:38:20 -0800 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-01-21 10:33:35 +0100 |
commit | bf7bf45c1e972b693c884017f5ffdad0e1e83c60 (patch) | |
tree | a532aae2391842b476a621096e52c1f74f9e5792 /arch | |
parent | c3616911c39b73746f12b6c6bfedecb827426b6c (diff) | |
download | barebox-bf7bf45c1e972b693c884017f5ffdad0e1e83c60.tar.gz barebox-bf7bf45c1e972b693c884017f5ffdad0e1e83c60.tar.xz |
ARM64: mmu: Merge create_sections() and map_region() together
Since map_region() is never called without being followed by
tlb_invalidate(), merge it with create_sections() to simplify the
code.
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/cpu/mmu_64.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/arch/arm/cpu/mmu_64.c b/arch/arm/cpu/mmu_64.c index cd9b745605..4094d9a14a 100644 --- a/arch/arm/cpu/mmu_64.c +++ b/arch/arm/cpu/mmu_64.c @@ -119,7 +119,8 @@ static void split_block(uint64_t *pte, int level) set_table(pte, new_table); } -static void map_region(uint64_t virt, uint64_t phys, uint64_t size, uint64_t attr) +static void create_sections(uint64_t virt, uint64_t phys, uint64_t size, + uint64_t attr) { uint64_t block_size; uint64_t block_shift; @@ -162,11 +163,7 @@ static void map_region(uint64_t virt, uint64_t phys, uint64_t size, uint64_t att } } -} -static void create_sections(uint64_t virt, uint64_t phys, uint64_t size, uint64_t flags) -{ - map_region(virt, phys, size, flags); tlb_invalidate(); } @@ -183,9 +180,8 @@ int arch_remap_range(void *_start, size_t size, unsigned flags) return -EINVAL; } - map_region((uint64_t)_start, (uint64_t)_start, (uint64_t)size, flags); - tlb_invalidate(); - + create_sections((uint64_t)_start, (uint64_t)_start, (uint64_t)size, + flags); return 0; } |