We want to stop parsing DeviceTree to gather hardware information. Instead we ask TF-A for those details using SMC calls. On real hardware platform it could be asking on-board Embedded Controller.
Hardware information (CPU, Memory) is now in SbsaQemuHardwareInfoLib together with new code for handling SMC stuff. If TF-A answer to SMC call would be not success then we go back to parsing DeviceTree data directly. There is no DT parsing elsewhere. I hope that we can drop FdtHandler part as part of 202411 release. TF-A part: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/25707 Signed-off-by: Marcin Juszkiewicz <marcin.juszkiew...@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 v5: https://openfw.io/edk2-devel/20240131132400.3022662-1-xiongyining1...@phytium.com.cn/ Changes in v4 (Xiong Yining): - patch 6 add the support for getting the hardware information of memory via SMC calls. - patch 7 add the callback of DeviceTree when SMC calls defined on patch 6 failled. - replace FdtHelperGetMpidr() with SbsaQemuGetMpidr() on patch 4 to compile successfully. - Link to v4: https://openfw.io/edk2-devel/20240131100027.2538549-1-xiongyining1...@phytium.com.cn/ Changes in v3: - added SMC_SIP_CALL_SUCCESS - on SMC call fail tell that SMC call failed instead of blaming TF-A - hang when there is no cpu information (TODO: shutdown instead) - Link to v3: https://openfw.io/edk2-devel/20240124-no-dt-for-cpu-v3-0-5375fcf09...@linaro.org/ --- Marcin Juszkiewicz (5): Platform/SbsaQemu: add SbsaQemuHardwareInfoLib Platform/SbsaQemu: read amount of cpus during init Platform/SbsaQemu: use PcdCoreCount directly Platform/SbsaQemu: move FdtHandlerLib to SbsaQemuHardwareInfoLib Platform/SbsaQemu: hang if there is no cpu information Xiong Yining (2): Platform/SbsaQemu: get the information of memory via SMC calls Platform/SbsaQemu: add DeviceTree fallbacks to parse memory information Platform/Qemu/SbsaQemu/SbsaQemu.dsc | 4 +- Platform/Qemu/SbsaQemu/OemMiscLib/OemMiscLib.inf | 6 +- .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf | 4 +- .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf | 4 +- .../SbsaQemu/Library/FdtHelperLib/FdtHelperLib.inf | 33 -- .../SbsaQemuHardwareInfoLib.inf | 36 ++ .../SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.inf | 2 +- .../SbsaQemu/Include/IndustryStandard/SbsaQemuSmc.h | 17 +- .../Qemu/SbsaQemu/Include/Library/FdtHelperLib.h | 36 -- .../Include/Library/SbsaQemuHardwareInfoLib.h | 73 ++++ Platform/Qemu/SbsaQemu/OemMiscLib/OemMiscLib.c | 10 +- .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c | 15 +- .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c | 9 +- .../SbsaQemu/Library/FdtHelperLib/FdtHelperLib.c | 98 ------ .../SbsaQemuHardwareInfoLib.c | 352 ++++++++++++++++++++ .../Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuMem.c | 54 +-- 16 files changed, 511 insertions(+), 242 deletions(-) --- base-commit: fe41713668d42b20a2370dab27de3269e877e454 change-id: 20240115-no-dt-for-cpu-2c511393df93 Best regards, -- Marcin Juszkiewicz <marcin.juszkiew...@linaro.org> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116425): https://edk2.groups.io/g/devel/message/116425 Mute This Topic: https://groups.io/mt/104763761/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-