diff options
author | Radoslaw Biernacki <radoslaw.biernacki@linaro.org> | 2018-05-17 22:19:11 +0200 |
---|---|---|
committer | Sandrine Bailleux <sandrine.bailleux@arm.com> | 2019-09-18 15:57:17 +0200 |
commit | 301d27d998892c054dec925264f81b11dcd64822 (patch) | |
tree | ba08727d1b3977a95da34a41b2fe89d12b578ff0 /plat/qemu/topology.c | |
parent | ed01e0c407a1794faf8ff8173183a50419bbd2ae (diff) | |
download | platform_external_arm-trusted-firmware-301d27d998892c054dec925264f81b11dcd64822.tar.gz platform_external_arm-trusted-firmware-301d27d998892c054dec925264f81b11dcd64822.tar.bz2 platform_external_arm-trusted-firmware-301d27d998892c054dec925264f81b11dcd64822.zip |
qemu: introducing sub-platforms to qemu platform
This commit change the plat/qemu directory structure into:
`-- plat
`-- qemu
|-- common (files shared with all qemu subplatforms)
|-- qemu (original qemu platform)
|-- qemu_sbsa (new sqemu_sbsa platform)
|-- subplat1
`-- subplat2
This opens the possibility of adding new qemu sub-platforms which reuse
existing common platform code. The first platform which will leverage new
structure will be SBSA platform.
Signed-off-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: Id0d8133e1fffc1b574b69aa2770ebc02bb837a9b
Diffstat (limited to 'plat/qemu/topology.c')
-rw-r--r-- | plat/qemu/topology.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/plat/qemu/topology.c b/plat/qemu/topology.c deleted file mode 100644 index 6352706e9..000000000 --- a/plat/qemu/topology.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include <stdint.h> - -#include <platform_def.h> - -#include <arch.h> - -#include "qemu_private.h" - -/* The power domain tree descriptor */ -static unsigned char power_domain_tree_desc[] = { - /* Number of root nodes */ - PLATFORM_CLUSTER_COUNT, - /* Number of children for the first node */ - PLATFORM_CLUSTER0_CORE_COUNT, - /* Number of children for the second node */ - PLATFORM_CLUSTER1_CORE_COUNT, -}; - -/******************************************************************************* - * This function returns the ARM default topology tree information. - ******************************************************************************/ -const unsigned char *plat_get_power_domain_tree_desc(void) -{ - return power_domain_tree_desc; -} - -/******************************************************************************* - * This function implements a part of the critical interface between the psci - * generic layer and the platform that allows the former to query the platform - * to convert an MPIDR to a unique linear index. An error code (-1) is returned - * in case the MPIDR is invalid. - ******************************************************************************/ -int plat_core_pos_by_mpidr(u_register_t mpidr) -{ - unsigned int cluster_id, cpu_id; - - mpidr &= MPIDR_AFFINITY_MASK; - if (mpidr & ~(MPIDR_CLUSTER_MASK | MPIDR_CPU_MASK)) - return -1; - - cluster_id = (mpidr >> MPIDR_AFF1_SHIFT) & MPIDR_AFFLVL_MASK; - cpu_id = (mpidr >> MPIDR_AFF0_SHIFT) & MPIDR_AFFLVL_MASK; - - if (cluster_id >= PLATFORM_CLUSTER_COUNT) - return -1; - - if (cpu_id >= PLATFORM_MAX_CPUS_PER_CLUSTER) - return -1; - - return plat_qemu_calc_core_pos(mpidr); -} |