arm-trusted-firmware/lib/xlat_tables_v2
Masahiro Yamada 3cde15fade xlat_tables_v2: use get_current_el_maybe_constant() in is_dcache_enabled()
Using get_current_el_maybe_constant() produces more optimized code
because in most cases, we know the exception level at build-time.
For example, BL31 runs at EL3, so unneeded code will be trimmed.

[before]

0000000000000000 <is_dcache_enabled>:
   0:   d5384240        mrs     x0, currentel
   4:   53020c00        ubfx    w0, w0, #2, #2
   8:   7100041f        cmp     w0, #0x1
   c:   54000081        b.ne    1c <is_dcache_enabled+0x1c>  // b.any
  10:   d5381000        mrs     x0, sctlr_el1
  14:   53020800        ubfx    w0, w0, #2, #1
  18:   d65f03c0        ret
  1c:   7100081f        cmp     w0, #0x2
  20:   54000061        b.ne    2c <is_dcache_enabled+0x2c>  // b.any
  24:   d53c1000        mrs     x0, sctlr_el2
  28:   17fffffb        b       14 <is_dcache_enabled+0x14>
  2c:   d53e1000        mrs     x0, sctlr_el3
  30:   17fffff9        b       14 <is_dcache_enabled+0x14>

[after]

0000000000000000 <is_dcache_enabled>:
   0:   d53e1000        mrs     x0, sctlr_el3
   4:   53020800        ubfx    w0, w0, #2, #1
   8:   d65f03c0        ret

Change-Id: I3698fae9b517022ff9fbfd4cad3a320c6e137e10
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2020-04-03 11:56:51 +09:00
..
aarch32 lib/xlat_tables: Add support for ARMv8.4-TTST 2019-01-30 11:17:38 +00:00
aarch64 xlat_tables_v2: use get_current_el_maybe_constant() in is_dcache_enabled() 2020-04-03 11:56:51 +09:00
ro_xlat_tables.mk Read-only xlat tables for BL31 memory 2020-02-24 16:52:56 +00:00
xlat_tables.mk Read-only xlat tables for BL31 memory 2020-02-24 16:52:56 +00:00
xlat_tables_context.c xlat_tables_v2: fix assembler warning of PLAT_RO_XLAT_TABLES 2020-04-02 13:30:17 +09:00
xlat_tables_core.c xlat_tables_v2: simplify end address checks in mmap_add_region_check() 2020-01-22 18:35:43 +09:00
xlat_tables_private.h lib/xlat_tables: Add support for ARMv8.4-TTST 2019-01-30 11:17:38 +00:00
xlat_tables_utils.c xlat_table_v2: Fix enable WARMBOOT_ENABLE_DCACHE_EARLY config 2019-10-18 10:26:34 +01:00