mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 01:54:22 +00:00
fix(msm8916): flush dcache after writing msm8916_entry_point
msm8916_entry_point is read with caches off (and even from two different physical addresses when read through the "boot remapper"), so it should be flushed to RAM after writing it. Change-Id: I5c8193954bb28043b0a46fb2038f629bd8796c74 Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
This commit is contained in:
parent
3fb7e40a21
commit
01ba69cd9b
1 changed files with 9 additions and 1 deletions
|
@ -1,10 +1,11 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Stephan Gerhold <stephan@gerhold.net>
|
||||
* Copyright (c) 2021-2022, Stephan Gerhold <stephan@gerhold.net>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#include <arch.h>
|
||||
#include <arch_helpers.h>
|
||||
#include <common/debug.h>
|
||||
#include <drivers/arm/gicv2.h>
|
||||
#include <drivers/delay_timer.h>
|
||||
|
@ -53,7 +54,14 @@ extern uintptr_t msm8916_entry_point;
|
|||
int plat_setup_psci_ops(uintptr_t sec_entrypoint,
|
||||
const plat_psci_ops_t **psci_ops)
|
||||
{
|
||||
/*
|
||||
* The entry point is read with caches off (and even from two different
|
||||
* physical addresses when read through the "boot remapper"), so make
|
||||
* sure it is flushed to memory.
|
||||
*/
|
||||
msm8916_entry_point = sec_entrypoint;
|
||||
flush_dcache_range((uintptr_t)&msm8916_entry_point, sizeof(uintptr_t));
|
||||
|
||||
*psci_ops = &msm8916_psci_ops;
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue