diff options
author | Deepak Pandey <Deepak.Pandey@arm.com> | 2018-10-11 13:44:43 +0530 |
---|---|---|
committer | Deepak Pandey <Deepak.Pandey@arm.com> | 2018-10-15 13:08:52 +0530 |
commit | da3b038fd5e39147792df02d87b61054f94da8a5 (patch) | |
tree | f216bbd645fcf1586f18ae87edccf904329aadd6 /include | |
parent | 424f68dd1dedba416105d513cc7f99904fe4ceac (diff) | |
download | platform_external_arm-trusted-firmware-da3b038fd5e39147792df02d87b61054f94da8a5.tar.gz platform_external_arm-trusted-firmware-da3b038fd5e39147792df02d87b61054f94da8a5.tar.bz2 platform_external_arm-trusted-firmware-da3b038fd5e39147792df02d87b61054f94da8a5.zip |
plat/arm: relocate the jump_if_cpu_midr macro.
macro jump_if_cpu_midr is used commonly by many arm platform.
It has now been relocated to common place to remove duplication
of code.
Change-Id: Ic0876097dbc085df4f90eadb4b7687dde7c726da
Signed-off-by: Deepak Pandey <Deepak.Pandey@arm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/lib/cpus/aarch32/cpu_macros.S | 13 | ||||
-rw-r--r-- | include/lib/cpus/aarch64/cpu_macros.S | 14 |
2 files changed, 27 insertions, 0 deletions
diff --git a/include/lib/cpus/aarch32/cpu_macros.S b/include/lib/cpus/aarch32/cpu_macros.S index 7703be339..525e18caf 100644 --- a/include/lib/cpus/aarch32/cpu_macros.S +++ b/include/lib/cpus/aarch32/cpu_macros.S @@ -214,5 +214,18 @@ bl errata_print_msg .endm #endif + /* + * Helper macro that reads the part number of the current CPU and jumps + * to the given label if it matches the CPU MIDR provided. + * + * Clobbers: r0-r1 + */ + .macro jump_if_cpu_midr _cpu_midr, _label + ldcopr r0, MIDR + ubfx r0, r0, #MIDR_PN_SHIFT, #12 + ldr r1, =((\_cpu_midr >> MIDR_PN_SHIFT) & MIDR_PN_MASK) + cmp r0, r1 + beq \_label + .endm #endif /* __CPU_MACROS_S__ */ diff --git a/include/lib/cpus/aarch64/cpu_macros.S b/include/lib/cpus/aarch64/cpu_macros.S index 026a48e32..4672cbc06 100644 --- a/include/lib/cpus/aarch64/cpu_macros.S +++ b/include/lib/cpus/aarch64/cpu_macros.S @@ -272,3 +272,17 @@ cmp \_reg, #1 beq \_label .endm + + /* + * Helper macro that reads the part number of the current + * CPU and jumps to the given label if it matches the CPU + * MIDR provided. + * + * Clobbers x0. + */ + .macro jump_if_cpu_midr _cpu_midr, _label + mrs x0, midr_el1 + ubfx x0, x0, MIDR_PN_SHIFT, #12 + cmp w0, #((\_cpu_midr >> MIDR_PN_SHIFT) & MIDR_PN_MASK) + b.eq \_label + .endm |