From: "Marcin Juszkiewicz" <marcin.juszkiewicz@linaro.org>
To: devel@edk2.groups.io
Cc: Leif Lindholm <quic_llindhol@quicinc.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Graeme Gregory <graeme@xora.org.uk>,
Xiong Yining <xiongyining1480@phytium.com.cn>,
Chen Baozi <chenbaozi@phytium.com.cn>,
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Subject: [edk2-devel] [PATCH edk2-platforms v9 0/4] get rid of DeviceTree from SbsaQemu
Date: Fri, 22 Mar 2024 17:08:46 +0100 [thread overview]
Message-ID: <20240322-no-dt-for-cpu-v9-0-92e947e0fbdf@linaro.org> (raw)
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.juszkiewicz@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-599ba99861ec@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-ac0a57a23a8f@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-acd8727a1b59@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-xiongyining1480@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-xiongyining1480@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-5375fcf09037@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 | 9 +-
Platform/Qemu/SbsaQemu/OemMiscLib/OemMiscLib.inf | 6 +-
.../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.inf | 5 +-
.../SbsaQemu/Library/FdtHelperLib/FdtHelperLib.inf | 33 -----
.../SbsaQemuHardwareInfoLib.inf | 29 ++++
.../SbsaQemu/Library/SbsaQemuLib/SbsaQemuLib.inf | 5 +-
.../SbsaQemu/Include/IndustryStandard/SbsaQemuSmc.h | 19 ++-
.../Qemu/SbsaQemu/Include/Library/FdtHelperLib.h | 36 -----
.../Qemu/SbsaQemu/Include/Library/HardwareInfoLib.h | 73 ++++++++++
Platform/Qemu/SbsaQemu/OemMiscLib/OemMiscLib.c | 11 +-
.../Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c | 21 +--
.../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c | 2 -
.../SbsaQemu/Library/FdtHelperLib/FdtHelperLib.c | 98 -------------
.../SbsaQemuHardwareInfoLib.c | 146 ++++++++++++++++++++
.../Qemu/SbsaQemu/Library/SbsaQemuLib/SbsaQemuMem.c | 54 ++------
16 files changed, 298 insertions(+), 252 deletions(-)
---
base-commit: 80ee8b861edb6a8b02a100f63bbb435499f8741a
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 (#117056): https://edk2.groups.io/g/devel/message/117056
Mute This Topic: https://groups.io/mt/105088434/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next reply other threads:[~2024-03-22 16:09 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-22 16:08 Marcin Juszkiewicz [this message]
2024-03-22 16:08 ` [edk2-devel] [PATCH edk2-platforms v9 1/4] Platform/SbsaQemu: add SbsaQemuHardwareInfoLib Marcin Juszkiewicz
2024-03-25 18:27 ` Leif Lindholm
2024-03-22 16:08 ` [edk2-devel] [PATCH edk2-platforms v9 2/4] Platform/SbsaQemu: use SbsaQemuHardwareInfoLib for cpu information Marcin Juszkiewicz
2024-03-25 18:44 ` Leif Lindholm
2024-03-22 16:08 ` [edk2-devel] [PATCH edk2-platforms v9 3/4] Platform/SbsaQemu: drop use of DeviceTree Marcin Juszkiewicz
2024-03-25 18:45 ` Leif Lindholm
2024-03-22 16:08 ` [edk2-devel] [PATCH edk2-platforms v9 4/4] Platform/SbsaQemu: get the information of memory via SMC calls Marcin Juszkiewicz
2024-03-25 18:48 ` Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240322-no-dt-for-cpu-v9-0-92e947e0fbdf@linaro.org \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox