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.
If TF-A answer to SMC call would be not success then we assume that it
is old version and go back to parsing DeviceTree data directly. Just now
it is present in one place (SbsaQemuHardwareInfoLib) together with new
code for handling SMC stuff.
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
After this change the only place where DT data is parsed directly is
checking for memory nodes. Patches for that code will be sent once we
get SMC calls into TF-A.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
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 v2: https://openfw.io/edk2-devel/20240116-no-dt-for-cpu-v2-0-6cf078d9ab76@linaro.org/T/#t
---
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
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 | 34 ++++
.../SbsaQemu/Include/IndustryStandard/SbsaQemuSmc.h | 15 +-
.../Qemu/SbsaQemu/Include/Library/FdtHelperLib.h | 36 ----
.../Include/Library/SbsaQemuHardwareInfoLib.h | 45 +++++
Platform/Qemu/SbsaQemu/OemMiscLib/OemMiscLib.c | 10 +-
.../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c | 13 +-
.../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c | 9 +-
.../SbsaQemu/Library/FdtHelperLib/FdtHelperLib.c | 98 ----------
.../SbsaQemuHardwareInfoLib.c | 205 ++++++++++++++++++++
14 files changed, 317 insertions(+), 199 deletions(-)
---
base-commit: 82c4c4b038659843adb519d2e94ad83d77332c26
change-id: 20240115-no-dt-for-cpu-2c511393df93
Best regards,
--
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114295): https://edk2.groups.io/g/devel/message/114295
Mute This Topic: https://groups.io/mt/103931816/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-