/* * Common PSCI functions * * Copyright (C) 2016 Chen-Yu Tsai * Author: Chen-Yu Tsai * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include static u32 psci_target_pc[CONFIG_ARMV7_PSCI_NR_CPUS] __secure_data = { 0 }; static u32 psci_context_id[CONFIG_ARMV7_PSCI_NR_CPUS] __secure_data = { 0 }; void __secure psci_save(int cpu, u32 pc, u32 context_id) { psci_target_pc[cpu] = pc; psci_context_id[cpu] = context_id; dsb(); } u32 __secure psci_get_target_pc(int cpu) { return psci_target_pc[cpu]; } u32 __secure psci_get_context_id(int cpu) { return psci_context_id[cpu]; }