[meta-xilinx] [PATCH] arm-trusted-firmware: Update ATF patches to match mainline

Nathan Rossi nathan at nathanrossi.com
Sun Aug 27 03:50:02 PDT 2017


On 26 August 2017 at 03:59, Alistair Francis
<alistair.francis at xilinx.com> wrote:
> Update the patches that we are holding in Yocto to reflect the commits
> that have been accepted by the mainline ATF project.
>
> Signed-off-by: Alistair Francis <alistair.francis at xilinx.com>

Applied.

Thanks,
Nathan

> ---
>  ...-Resolve-GCC-static-analysis-false-positi.patch | 43 +++++++++++++---------
>  ...zynqmp-Remove-duplicate-const-declaration.patch |  2 +-
>  2 files changed, 27 insertions(+), 18 deletions(-)
>
> diff --git a/recipes-bsp/arm-trusted-firmware/files/psci_common-Resolve-GCC-static-analysis-false-positi.patch b/recipes-bsp/arm-trusted-firmware/files/psci_common-Resolve-GCC-static-analysis-false-positi.patch
> index f706585..bc9bf61 100644
> --- a/recipes-bsp/arm-trusted-firmware/files/psci_common-Resolve-GCC-static-analysis-false-positi.patch
> +++ b/recipes-bsp/arm-trusted-firmware/files/psci_common-Resolve-GCC-static-analysis-false-positi.patch
> @@ -1,9 +1,9 @@
> -From 0197ad57b44fb7f10ca604891e0974110748fbd5 Mon Sep 17 00:00:00 2001
> +From 8596a87e75421016b83ed7f2ffb342114f48b5ca Mon Sep 17 00:00:00 2001
>  From: Alistair Francis <alistair.francis at xilinx.com>
> -Date: Mon, 21 Aug 2017 10:19:40 -0700
> +Date: Wed, 23 Aug 2017 13:55:21 -0700
>  Subject: [PATCH] psci_common: Resolve GCC static analysis false positive
>
> -Previously commit 555ebb34db8f3424c1b394df2f10ec attmpted to fix this
> +Previously commit 555ebb34db8f3424c1b394df2f10ecf9c1f70901 attmpted to fix this
>  GCC issue:
>
>  services/std_svc/psci/psci_common.c: In function 'psci_do_state_coordination':
> @@ -12,29 +12,38 @@ array bounds [-Werror=array-bounds]
>    psci_req_local_pwr_states[pwrlvl - 1][cpu_idx] = req_pwr_state;
>
>  This fix doesn't work as asserts aren't built in non-debug build flows.
> -Let's ensure this error is fixed for all build cases.
> +
> +Let's use GCCs #pragma option (documented here:
> +https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html) to avoid
> +this false positive instead.
>
>  Signed-off-by: Alistair Francis <alistair.francis at xilinx.com>
> -Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
>  ---
> -Upstream Status: Pending
> +Upstream Status: Accepted in mainline, pending for 2017.3
>
> - lib/psci/psci_common.c | 2 ++
> - 1 file changed, 2 insertions(+)
> + lib/psci/psci_common.c | 7 +++++++
> + 1 file changed, 7 insertions(+)
>
>  diff --git a/lib/psci/psci_common.c b/lib/psci/psci_common.c
> -index 68cdd6eb..a8c94215 100644
> +index 68cdd6eb..3843d4df 100644
>  --- a/lib/psci/psci_common.c
>  +++ b/lib/psci/psci_common.c
> -@@ -394,6 +394,8 @@ void psci_do_state_coordination(unsigned int end_pwrlvl,
> -       plat_local_state_t target_state, *req_states;
> -
> -       assert(end_pwrlvl <= PLAT_MAX_PWR_LVL);
> -+      if (end_pwrlvl > PLAT_MAX_PWR_LVL)
> -+              return;
> -       parent_idx = psci_cpu_pd_nodes[cpu_idx].parent_node;
> +@@ -216,8 +216,15 @@ static void psci_set_req_local_pwr_state(unsigned int pwrlvl,
> +                                        unsigned int cpu_idx,
> +                                        plat_local_state_t req_pwr_state)
> + {
> ++      /*
> ++       * This should never happen, we have this here to avoid
> ++       * "array subscript is above array bounds" errors in GCC.
> ++       */
> +       assert(pwrlvl > PSCI_CPU_PWR_LVL);
> ++#pragma GCC diagnostic push
> ++#pragma GCC diagnostic ignored "-Warray-bounds"
> +       psci_req_local_pwr_states[pwrlvl - 1][cpu_idx] = req_pwr_state;
> ++#pragma GCC diagnostic pop
> + }
>
> -       /* For level 0, the requested state will be equivalent
> + /******************************************************************************
>  --
>  2.11.0
>
> diff --git a/recipes-bsp/arm-trusted-firmware/files/zynqmp-Remove-duplicate-const-declaration.patch b/recipes-bsp/arm-trusted-firmware/files/zynqmp-Remove-duplicate-const-declaration.patch
> index dd127fb..aeb5a20 100644
> --- a/recipes-bsp/arm-trusted-firmware/files/zynqmp-Remove-duplicate-const-declaration.patch
> +++ b/recipes-bsp/arm-trusted-firmware/files/zynqmp-Remove-duplicate-const-declaration.patch
> @@ -10,7 +10,7 @@ Fixing compilation errors due to duplicate 'const' keyword:
>
>  Signed-off-by: Soren Brinkmann <soren.brinkmann at xilinx.com>
>  ---
> -Upstream Status: Accepted in mainline, patch send to Xilinx
> +Upstream Status: Accepted for 2017.3
>
>   plat/xilinx/zynqmp/pm_service/pm_client.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> --
> 2.11.0
>



More information about the meta-xilinx mailing list