has cluster support on qemu
https://lists.gnu.org/archive/html/qemu-devel/2024-03/msg02951.html.
We use the SMC to get CPU topology information, the TF-A part is here
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/27189.
Signed-off-by: Xiong Yining
Xiong Yining (2):
Platform
To align the CPU topology information recognized by the operating system with
the CPU topology
information configured by QEMU, we need to make use of the CPU topology
information to create
complex PPTT tables setups.
We can get the CPU topology information via SMC.
Signed-off-by: Xiong Yining
and cores are read from TF-A using platform
specific SMC calls. And the number of threads is caluculated
using the total number of cpus and the number of sockets,
clusters and cores.
Signed-off-by: Xiong Yining
---
.../Include/IndustryStandard/SbsaQemuSmc.h| 1 +
.../Include/Library
Provide functions to check for memory information:
- amount of memory nodes
- memory address
- NUMA node id for memory
Values are read from TF-A using platform specific SMC calls.
Signed-off-by: Xiong Yining
Signed-off-by: Marcin Juszkiewicz
Reviewed-by: Ard Biesheuvel
Reviewed-by: Leif
handling SMC stuff. There is no DT parsing
anywhere.
TF-A part is merged already (and we have it in edk2-non-osi):
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/25707
Patch 4 needs work to pass MemInfo as reference.
Signed-off-by: Marcin Juszkiewicz
Signed-off-by: Xiong Yining
From: Marcin Juszkiewicz
There is no need for EDK2 to know that there is DeviceTree around.
All hardware information is read using functions from
SbsaQemuHardwareInfoLib library.
Signed-off-by: Marcin Juszkiewicz
Signed-off-by: Xiong Yining
Reviewed-by: Leif Lindholm
---
Silicon/Qemu
Signed-off-by: Xiong Yining
Reviewed-by: Leif Lindholm
---
Silicon/Qemu/SbsaQemu/SbsaQemu.dec| 2 +
Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 3 +-
.../SbsaQemuHardwareInfoLib.inf | 29 ++
.../Include/IndustryStandard/SbsaQemuSmc.h| 17 +++-
.../Include
From: Marcin Juszkiewicz
We have SbsaQemuHardwareInfoLib to ask for hardware details. No need to
parse DeviceTree anymore.
Signed-off-by: Marcin Juszkiewicz
Signed-off-by: Xiong Yining
Reviewed-by: Leif Lindholm
---
.../Qemu/SbsaQemu/OemMiscLib/OemMiscLib.inf | 6
Add support to create SRAT(System resource affinity table) for
sbsa platform at runtime.
Signed-off-by: Xiong Yining
Reviewed-by: Marcin Juszkiewicz
Reviewed-by: Leif Lindholm
---
.../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.h | 27 ++
.../Include/Library/HardwareInfoLib.h | 10
@phytium.com.cn/
changes in v2:
- fix the compile error which is caused by redundant "+" in SbsaQemuAcpiDxe.h.
Xiong Yining (1):
SbsaQemu: AcpiDxe: Create SRAT table at runtime
.../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.h | 27 ++
.../Include/Library/HardwareInfoLib.h |
-for-cpu-v6-0-acd8727a1...@linaro.org
Changes in v6 (Marcin Juszkiewicz):
- patch 5 now shutdowns system in case of no CPU information
Changes in v5 (Xiong Yining):
- added missing patch
- Link to v4:
https://openfw.io/edk2-devel/20240131132400.3022662-1-xiongyining1...@phytium.com.cn/
Changes in
From: Marcin Juszkiewicz
This library provides functions to check for hardware information.
For now it covers CPU ones:
- amount of cpu cores
- MPIDR value for cpu core
- NUMA node id for cpu core
Values are read from TF-A using platform specific SMC calls.
Signed-off-by: Marcin Juszkiewicz
-
From: Marcin Juszkiewicz
We have SbsaQemuHardwareInfoLib to ask for hardware details. No need to
parse DeviceTree anymore.
Signed-off-by: Marcin Juszkiewicz
Reviewed-by: Leif Lindholm
---
.../Qemu/SbsaQemu/OemMiscLib/OemMiscLib.inf | 6 ++
.../SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf
Provide functions to check for memory information:
- amount of memory nodes
- memory address
- NUMA node id for memory
Values are read from TF-A using platform specific SMC calls.
Signed-off-by: Xiong Yining
Signed-off-by: Chen Baozi
Signed-off-by: Marcin Juszkiewicz
Reviewed-by: Ard
From: Marcin Juszkiewicz
There is no need for EDK2 to know that there is DeviceTree around.
All hardware information is read using functions from
SbsaQemuHardwareInfoLib library.
Signed-off-by: Marcin Juszkiewicz
Reviewed-by: Leif Lindholm
---
Silicon/Qemu/SbsaQemu/SbsaQemu.dec|
edk2-devel/20240220073332.3249289-1-xiongyining1...@phytium.com.cn/
Changes in v3:
- when the memory node is the first one, there is no need to add it.
Changes in v2:
- get the information of memory via SMC rather than FdtClientDxe.
- add a new driver rather than use HighMemDxe.
Xiong Yining (1):
Sbs
To support more memory nodes, we refer to the implement of
"OvmfPkg/Fdt/HighMemDxe" to add memory space for the high memory nodes
except the first one.
Signed-off-by: Xiong Yining
Signed-off-by: Chen Baozi
Tested-by: Marcin Juszkiewicz
---
Platform/Qemu/SbsaQemu/SbsaQemu.dsc
Add support to create SRAT(System resource affinity table) for
sbsa platform at runtime.
Signed-off-by: Xiong Yining
Signed-off-by: Chen Baozi
Reviewed-by: Marcin Juszkiewicz
Change-Id: I4a65084e6ade66d87ea935adfa4be15a7030d3eb
---
.../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.h | 27
n 1 because we think it's UMA architecture when node is equal
to 1.
- Link to v2:
https://openfw.io/edk2-devel/20240220074736.3249691-1-xiongyining1...@phytium.com.cn/
changes in v2:
- fix the compile error which is caused by redundant "+" in SbsaQemuAcpiDxe.h.
Xiong Yining (1
This is beacuse UEFI only allocates the first memory node memory space for
SbsaQemu platform, i refer to implemet of "OvmfPkg/Fdt/HighMemDxe" and add the
support for other memory nodes via GCD services. Maybe you can apply patch
"support multi memory nodes" together with this patch.
-=-=-=-=-
de
memory space for SbsaQemu platform. we can use patch "Support multi memory
nodes"
to solve it.
changes in v2:
- fix the compile error which is caused by redundant "+" in SbsaQemuAcpiDxe.h.
Xiong Yining (1):
SbsaQemu: AcpiDxe: Create SRAT table at runtime
.../Drivers/Sbs
Add support to create SRAT(System resource affinity table) for
sbsa platform at runtime.
Signed-off-by: Xiong Yining
Signed-off-by: Chen Baozi
Reviewed-by: Marcin Juszkiewicz
---
.../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.h | 27 ++
.../Include/Library/SbsaQemuHardwareInfoLib.h | 11
To support more memory nodes, we refer to the implement of
"OvmfPkg/Fdt/HighMemDxe" to add memory space for the high memory nodes
except the first one.
Signed-off-by: Xiong Yining
Signed-off-by: Chen Baozi
---
Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 1 +
Platform/Qem
nges in v3:
- when the memory node is the first one, there is no need to add it.
Xiong Yining (1):
SbsaQemu: add memory space for the high memory nodes
Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 3 +-
Platform/Qemu/SbsaQemu/SbsaQemu.fdf | 1 +
.../SbsaQemuHighMemDxe/SbsaQemuHigh
To support more memory nodes, we refer to the implement of
"OvmfPkg/Fdt/HighMemDxe" to add memory space for the high memory nodes
except the first one.
Signed-off-by: Xiong Yining
Signed-off-by: Chen Baozi
---
Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 3 +-
Platform/Qem
space for SbsaQemu platform, in this
scenario we can use the GCD services to add memory spaces
for high memory node.
Changes in v2:
- get the information of memory via SMC rather than FdtClientDxe.
- add a new driver rather than use HighMemDxe.
Xiong Yining (1):
SbsaQemu: add memory space for
26 matches
Mail list logo