Commit 64690e06 authored by Paul Beesley's avatar Paul Beesley Committed by TrustedFirmware Code Review
Browse files

Merge "Coverity fix: Remove GGC ignore -Warray-bounds" into integration

parents 988cc820 41af0515
/* /*
* Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -198,21 +198,17 @@ static unsigned int get_power_on_target_pwrlvl(void) ...@@ -198,21 +198,17 @@ static unsigned int get_power_on_target_pwrlvl(void)
/****************************************************************************** /******************************************************************************
* Helper function to update the requested local power state array. This array * Helper function to update the requested local power state array. This array
* does not store the requested state for the CPU power level. Hence an * does not store the requested state for the CPU power level. Hence an
* assertion is added to prevent us from accessing the wrong index. * assertion is added to prevent us from accessing the CPU power level.
*****************************************************************************/ *****************************************************************************/
static void psci_set_req_local_pwr_state(unsigned int pwrlvl, static void psci_set_req_local_pwr_state(unsigned int pwrlvl,
unsigned int cpu_idx, unsigned int cpu_idx,
plat_local_state_t req_pwr_state) 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); assert(pwrlvl > PSCI_CPU_PWR_LVL);
#pragma GCC diagnostic push if ((pwrlvl > PSCI_CPU_PWR_LVL) && (pwrlvl <= PLAT_MAX_PWR_LVL) &&
#pragma GCC diagnostic ignored "-Warray-bounds" (cpu_idx < PLATFORM_CORE_COUNT)) {
psci_req_local_pwr_states[pwrlvl - 1U][cpu_idx] = req_pwr_state; psci_req_local_pwr_states[pwrlvl - 1U][cpu_idx] = req_pwr_state;
#pragma GCC diagnostic pop }
} }
/****************************************************************************** /******************************************************************************
...@@ -245,7 +241,11 @@ static plat_local_state_t *psci_get_req_local_pwr_states(unsigned int pwrlvl, ...@@ -245,7 +241,11 @@ static plat_local_state_t *psci_get_req_local_pwr_states(unsigned int pwrlvl,
{ {
assert(pwrlvl > PSCI_CPU_PWR_LVL); assert(pwrlvl > PSCI_CPU_PWR_LVL);
if ((pwrlvl > PSCI_CPU_PWR_LVL) && (pwrlvl <= PLAT_MAX_PWR_LVL) &&
(cpu_idx < PLATFORM_CORE_COUNT)) {
return &psci_req_local_pwr_states[pwrlvl - 1U][cpu_idx]; return &psci_req_local_pwr_states[pwrlvl - 1U][cpu_idx];
} else
return NULL;
} }
/* /*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment