From: Manish V Badarkhe Date: Tue, 21 Feb 2023 11:13:34 +0000 (+0000) Subject: fix(bl31): avoid clearing of argument registers in RESET_TO_BL31 case X-Git-Tag: baikal/aarch64/sdk5.10~1^2~99^2~1 X-Git-Url: https://git.baikalelectronics.ru/?a=commitdiff_plain;h=3e14df6f6;p=arm-tf.git fix(bl31): avoid clearing of argument registers in RESET_TO_BL31 case It was assumed that BL31 is the first bootloader to run so there's no argument to relay from a previous bootloader in RESET_TO_BL31 case, however this is not true for every platform with a non-TF-A bootloader that might get executed before BL31 while compiling in RESET_TO_BL31 feature. Thus, by avoiding zeroing registers, the arguments passed from the previous bootloader to BL31 are preserved. Change-Id: I7bb66a10d1fd551ba3fd59a7a38ab5bde3197f72 Signed-off-by: Manish V Badarkhe --- diff --git a/bl31/aarch64/bl31_entrypoint.S b/bl31/aarch64/bl31_entrypoint.S index ed058648f..dfb14e924 100644 --- a/bl31/aarch64/bl31_entrypoint.S +++ b/bl31/aarch64/bl31_entrypoint.S @@ -66,17 +66,6 @@ func bl31_entrypoint _init_c_runtime=1 \ _exception_vectors=runtime_exceptions \ _pie_fixup_size=BL31_LIMIT - BL31_BASE - - /* --------------------------------------------------------------------- - * For RESET_TO_BL31 systems, BL31 is the first bootloader to run so - * there's no argument to relay from a previous bootloader. Zero the - * arguments passed to the platform layer to reflect that. - * --------------------------------------------------------------------- - */ - mov x20, 0 - mov x21, 0 - mov x22, 0 - mov x23, 0 #endif /* RESET_TO_BL31 */ /* --------------------------------------------------------------------