[email protected] From: Marcin Juszkiewicz Date: 2024-05-24 02:47 To: Xiong Yining; qemu-arm; qemu-devel CC: rad; peter.maydell; quic_llindhol Subject: Re: [PATCH v4 1/1] hw/arm/sbsa-ref: Enable CPU cluster on ARM sbsa machine W dniu 26.04.2024 o 09:35, Xiong Yining pisze: > From: xiongyining1480<[email protected]> > > 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<[email protected]> > tested-by: Marcin Juszkiewicz<[email protected]> >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.
