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. 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 <marcin.juszkiew...@linaro.org>
Signed-off-by: Xiong Yining <xiongyining1...@phytium.com.cn>
---
Change in v11:
- adjust the order of patch 3 and patch 4.
- add the signature.
- Link to v10: 
https://openfw.io/edk2-devel/20240327140305.3802896-1-xiongyining1...@phytium.com.cn/
Changes in v10:
- drop use aggregates as return types
- Link to v9: 
https://openfw.io/edk2-devel/20240322-no-dt-for-cpu-v9-0-92e947e0f...@linaro.org/

Changes in v9:
- recreated 3rd patch to drop all traces of Device Tree use
- Link to v8: 
https://openfw.io/edk2-devel/20240320-no-dt-for-cpu-v8-0-599ba9986...@linaro.org

Changes in v8:
- added HardwareInfoLib library class
- created SbsaQemuHardwareInfoLib as HardwareInfoLib
- dropped SbsaQemu from functions (to keep HardwareInfoLib class generic)
- Link to v7: 
https://openfw.io/edk2-devel/20240319-no-dt-for-cpu-v7-0-ac0a57a23...@linaro.org

Changes in v7:
- dropped CoreCount Pcd - code calls SbsaQemuGetCpuCount() instead
- dropped DT fallbacks - we have up-to-date TF-A in edk2-non-osi
- system shutdowns when there is no cpu or memory information
- SbsaQemuHardwareInfoLib debug calls show function names
- Link to v6: 
https://openfw.io/edk2-devel/20240306-no-dt-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 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 v3: 
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 v2: 
https://openfw.io/edk2-devel/20240124-no-dt-for-cpu-v3-0-5375fcf09...@linaro.org/

Marcin Juszkiewicz (3):
  Platform/SbsaQemu: add SbsaQemuHardwareInfoLib
  Platform/SbsaQemu: use SbsaQemuHardwareInfoLib for cpu information
  Platform/SbsaQemu: drop use of DeviceTree

Xiong Yining (1):
  Platform/SbsaQemu: get the information of memory via SMC calls

 Silicon/Qemu/SbsaQemu/SbsaQemu.dec            |   3 +-
 Platform/Qemu/SbsaQemu/SbsaQemu.dsc           |  11 +-
 .../Qemu/SbsaQemu/OemMiscLib/OemMiscLib.inf   |   6 +-
 .../SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf       |   5 +-
 .../Library/FdtHelperLib/FdtHelperLib.inf     |  33 ----
 .../SbsaQemuHardwareInfoLib.inf               |  29 ++++
 .../Library/SbsaQemuLib/SbsaQemuLib.inf       |   5 +-
 .../Include/IndustryStandard/SbsaQemuSmc.h    |  19 ++-
 .../SbsaQemu/Include/Library/FdtHelperLib.h   |  36 -----
 .../Include/Library/HardwareInfoLib.h         |  76 +++++++++
 .../Qemu/SbsaQemu/OemMiscLib/OemMiscLib.c     |  11 +-
 .../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c |  21 +--
 .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c |   2 -
 .../Library/FdtHelperLib/FdtHelperLib.c       |  98 ------------
 .../SbsaQemuHardwareInfoLib.c                 | 145 ++++++++++++++++++
 .../Library/SbsaQemuLib/SbsaQemuMem.c         |  54 ++-----
 16 files changed, 301 insertions(+), 253 deletions(-)
 delete mode 100644 Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.inf
 create mode 100644 
Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
 delete mode 100644 Silicon/Qemu/SbsaQemu/Include/Library/FdtHelperLib.h
 create mode 100644 Silicon/Qemu/SbsaQemu/Include/Library/HardwareInfoLib.h
 delete mode 100644 Silicon/Qemu/SbsaQemu/Library/FdtHelperLib/FdtHelperLib.c
 create mode 100644 
Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.c

-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117198): https://edk2.groups.io/g/devel/message/117198
Mute This Topic: https://groups.io/mt/105177616/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to