mbox series

[v2,0/3] common/board_f: Make reserve_mmu generic

Message ID 20200329175741.26297-1-ovpanait@gmail.com
Headers show
Series common/board_f: Make reserve_mmu generic | expand

Message

Ovidiu Panait March 29, 2020, 5:57 p.m. UTC
Changes in v2:
- split the original patch in 3 parts
- add function comments
- drop #ifdefs around asm/cache.h includes
- drop reserve_mmu function and leave only arch_reserve_mmu

For the following suggestion:
"Can you please try to use if() instead of #if as much as possible?"

I tried replacing in reserve_mmu
#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))
with
if (!(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF))) {
...
}
but it caused compile issues on different arm platforms such as:
...
arch/arm/lib/cache.c: In function 'arm_reserve_mmu':
arch/arm/lib/cache.c:134:11: error: 'volatile struct arch_global_data' has no member named 'tlb_size'
   gd->arch.tlb_size = PGTABLE_SIZE;
           ^
arch/arm/lib/cache.c:135:28: error: 'volatile struct arch_global_data' has no member named 'tlb_size'
   gd->relocaddr -= gd->arch.tlb_size;
                            ^
arch/arm/lib/cache.c:140:11: error: 'volatile struct arch_global_data' has no member named 'tlb_addr'
   gd->arch.tlb_addr = gd->relocaddr;
In file included from include/common.h:34:0,
                 from arch/arm/lib/cache.c:9:
arch/arm/lib/cache.c:141:52: error: 'volatile struct arch_global_data' has no member named 'tlb_addr'
...

Ovidiu Panait (3):
  common/board_f: Move arm-specific reserve_mmu to arch/arm/lib/cache.c
  arm: asm/cache.c: Introduce arm_reserve_mmu
  common/board_f: Make reserve_mmu generic

 arch/arm/include/asm/cache.h | 11 +++++++++++
 arch/arm/lib/cache.c         | 33 +++++++++++++++++++++++++++++++++
 arch/arm/mach-versal/cpu.c   |  3 ++-
 arch/arm/mach-zynqmp/cpu.c   |  3 ++-
 common/board_f.c             | 29 ++---------------------------
 include/init.h               | 13 ++++++++++++-
 6 files changed, 62 insertions(+), 30 deletions(-)