W dniu 26.04.2024 o 09:35, Xiong Yining pisze:
> From: xiongyining1480<xiongyining1480@phytium.com.cn>
>
> Enable CPU cluster support on SbsaQemu platform, so that users can
> specify a 4-level CPU hierarchy sockets/clusters/cores/threads. And
> this topology can be passed to the firmware through DT cpu-map.
>
> Signed-off-by: Xiong Yining<xiongyining1480@phytium.com.cn>
> tested-by: Marcin Juszkiewicz<marcin.juszkiewicz@linaro.org>
>I had some thinking about it recently. This patch exported whole
>/cpus/cpu-map/ tree which we then parse in TF-A to get amount of
>sockets/clusters/cores/threads.
>Why not export them directly? Kind of:
>
> cpus {
> topology {
> threads = <0x01>;
> cores = <0x04>;
> clusters = <0x01>;
> sockets = <0x01>;
> };
>
>It gives everything we need.
Fully agree.
>Had some thinking about exporting amount of cores per cluster (8 now,
>virt uses 16 which is architecture maximum now) in case we would use it
>in generation of PPTT in EDK2.
I don't fully understand "the amount of cores per cluster", does it means the user config: -smp clusters=X, cores=Y which indicates
the number of cores in one cluster is Y, or the AFF0/AFF1 in MPDIR?
The cpu topology is defined by the user on command line which PPTT want to align with. And the value of AFF0/AFF1 is generally
8 or 16 which will not affected by option -smp command. Considering that MPDIR cannot reflect the cpu topology configurated by
user, i guess the PPTT don't need to use the MPDIR value.