freebsd-skq/sys/arm64
Michal Meloun 68225a196f Simplify startup of secondary cores and store MPIDR register to pcpu.
- record MPIDR for all started cores in pcpu, they will be used as link
   between physical locality of given core, ID in external description
   (FDT or ACPI) and cupid.
 - because of above, cpuid can (and should) be freely assigned, only boot
   CPU  must have cpuid 0. Simplify startup code according this.

Please note that pure cpuid is not sufficient instrument to hold any
information about core or cluster topology, nor to determistically iterate
over subpart of cores in CPU (iterate over all cores in single cluster for
example). Situation is more complicated by fact that PSCI can reject start
of core without reporting error (because power budget for example), or by
fact that is possible that we booted on non-first core in cluster (thus with
cpuid 0 assigned to random core).

Given cores topology should be exhibited to other parts of system
(for example to scheduler for big.little or multicluster systems) by using
smp_topo interface.

Differential Revision:  https://reviews.freebsd.org/D13863
2020-12-05 14:06:01 +00:00
..
acpica arm64/acpi: Give the real PA limit to ACPI 2020-08-26 02:12:15 +00:00
arm64 Simplify startup of secondary cores and store MPIDR register to pcpu. 2020-12-05 14:06:01 +00:00
broadcom arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
cavium arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
cloudabi32 Get rid of sa->narg. It serves no purpose; use sa->callp->sy_narg instead. 2020-09-27 18:47:06 +00:00
cloudabi64 Get rid of sa->narg. It serves no purpose; use sa->callp->sy_narg instead. 2020-09-27 18:47:06 +00:00
conf Connect DTB files based on LX2160A SoC to build. 2020-12-05 11:17:54 +00:00
coresight arm64: clean up empty lines in .c and .h files 2020-09-01 21:18:06 +00:00
freescale/imx imx7gpc: Remove unused functions 2020-11-16 11:54:38 +00:00
include Simplify startup of secondary cores and store MPIDR register to pcpu. 2020-12-05 14:06:01 +00:00
intel Add support for Intel Stratix 10 platform. 2019-09-13 16:50:57 +00:00
iommu Introduce IOMMU support for arm64 platform. 2020-11-16 21:55:52 +00:00
linux Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
qoriq Add basic support for Freescale LX2160A SoC. 2020-12-05 12:08:37 +00:00
qualcomm Enable Qualcomm Debug Subsystem (QDSS) block on MSM8916 SoC. 2018-04-10 12:53:48 +00:00
rockchip Add support for RK3288 SoC. 2020-12-04 16:24:44 +00:00