* [edk2-devel] [PATCH edk2-platforms 1/3] SbsaQemu: move SMC calls to HardwareInfoLib
2024-08-08 14:20 [edk2-devel] [PATCH edk2-platforms 0/3] SbsaQemu: Move from ArmSmcLib to ArmMonitorLib Marcin Juszkiewicz
@ 2024-08-08 14:20 ` Marcin Juszkiewicz
2024-08-08 14:20 ` [edk2-devel] [PATCH edk2-platforms 2/3] SbsaQemu: move from ArmSmcLib to ArmMonitorLib Marcin Juszkiewicz
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Marcin Juszkiewicz @ 2024-08-08 14:20 UTC (permalink / raw)
To: devel; +Cc: Leif Lindholm, Ard Biesheuvel, Graeme Gregory, Marcin Juszkiewicz
We now have HardwareInfo library so let move all hardware queries there.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
.../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf | 2 +-
.../SbsaQemuHardwareInfoLib.inf | 5 ++
.../Qemu/SbsaQemu/Include/Library/HardwareInfoLib.h | 31 +++++++++++
.../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c | 57 +++++---------------
.../SbsaQemuHardwareInfoLib.c | 57 ++++++++++++++++++++
5 files changed, 108 insertions(+), 44 deletions(-)
diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf
index 19534b7a274a..72492df11342 100644
--- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf
+++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf
@@ -28,9 +28,9 @@ [Packages]
Silicon/Qemu/SbsaQemu/SbsaQemu.dec
[LibraryClasses]
- ArmSmcLib
PcdLib
DebugLib
+ HardwareInfoLib
NonDiscoverableDeviceRegistrationLib
UefiDriverEntryPoint
diff --git a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
index 2acb2a1e7c76..58a9c03f18b8 100644
--- a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
+++ b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
@@ -27,3 +27,8 @@ [Packages]
[LibraryClasses]
ArmSmcLib
ResetSystemLib
+
+[Pcd]
+ gArmTokenSpaceGuid.PcdGicDistributorBase
+ gArmTokenSpaceGuid.PcdGicRedistributorsBase
+ gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdGicItsBase
diff --git a/Silicon/Qemu/SbsaQemu/Include/Library/HardwareInfoLib.h b/Silicon/Qemu/SbsaQemu/Include/Library/HardwareInfoLib.h
index 7e0bd962f8a9..03335609bef6 100644
--- a/Silicon/Qemu/SbsaQemu/Include/Library/HardwareInfoLib.h
+++ b/Silicon/Qemu/SbsaQemu/Include/Library/HardwareInfoLib.h
@@ -28,6 +28,17 @@ typedef struct {
UINT32 Threads;
} CpuTopology;
+typedef struct {
+ UINTN DistributorBase;
+ UINTN RedistributorBase;
+ UINTN ItsBase;
+} GicInfo;
+
+typedef struct {
+ UINT32 Major;
+ UINT32 Minor;
+} PlatformVersion;
+
/**
Get CPU count from information passed by Qemu.
@@ -109,4 +120,24 @@ GetCpuTopology (
OUT CpuTopology *CpuTopo
);
+/**
+ Get GIC information (base of GICD, GICR, GICI) from TF-A.
+
+ @param [out] GicInfo A pointer to the GIC information.
+**/
+VOID
+GetGicInformation (
+ OUT GicInfo *GicInfo
+ );
+
+/**
+ Get Platform version from TF-A.
+
+ @param [out] PlatVer A pointer to the Platform version.
+**/
+VOID
+GetPlatformVersion (
+ OUT PlatformVersion *PlatVer
+ );
+
#endif /* HARDWARE_INFO_LIB */
diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c
index 657f9700062b..a9c664e1db1f 100644
--- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c
+++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c
@@ -7,14 +7,13 @@
*
**/
-#include <Library/ArmSmcLib.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
+#include <Library/HardwareInfoLib.h>
#include <Library/NonDiscoverableDeviceRegistrationLib.h>
#include <Library/PcdLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiDriverEntryPoint.h>
-#include <IndustryStandard/SbsaQemuSmc.h>
#include <IndustryStandard/SbsaQemuPlatformVersion.h>
EFI_STATUS
@@ -24,13 +23,11 @@ InitializeSbsaQemuPlatformDxe (
IN EFI_SYSTEM_TABLE *SystemTable
)
{
- EFI_STATUS Status;
- UINTN Size;
- VOID *Base;
- UINTN Arg0;
- UINTN Arg1;
- UINTN SmcResult;
- RETURN_STATUS Result;
+ EFI_STATUS Status;
+ UINTN Size;
+ VOID *Base;
+ GicInfo GicInfo;
+ PlatformVersion PlatVer;
DEBUG ((DEBUG_INFO, "%a: InitializeSbsaQemuPlatformDxe called\n", __FUNCTION__));
@@ -68,44 +65,18 @@ InitializeSbsaQemuPlatformDxe (
return Status;
}
- SmcResult = ArmCallSmc0 (SIP_SVC_VERSION, &Arg0, &Arg1, NULL);
- if (SmcResult == SMC_ARCH_CALL_SUCCESS) {
- Result = PcdSet32S (PcdPlatformVersionMajor, Arg0);
- ASSERT_RETURN_ERROR (Result);
- Result = PcdSet32S (PcdPlatformVersionMinor, Arg1);
- ASSERT_RETURN_ERROR (Result);
- }
+ GetPlatformVersion (&PlatVer);
- Arg0 = PcdGet32 (PcdPlatformVersionMajor);
- Arg1 = PcdGet32 (PcdPlatformVersionMinor);
+ PcdSet32S (PcdPlatformVersionMajor, PlatVer.Major);
+ PcdSet32S (PcdPlatformVersionMinor, PlatVer.Minor);
- DEBUG ((DEBUG_INFO, "Platform version: %d.%d\n", Arg0, Arg1));
+ DEBUG ((DEBUG_INFO, "Platform version: %d.%d\n", PlatVer.Major, PlatVer.Minor));
- SmcResult = ArmCallSmc0 (SIP_SVC_GET_GIC, &Arg0, &Arg1, NULL);
- if (SmcResult == SMC_ARCH_CALL_SUCCESS) {
- Result = PcdSet64S (PcdGicDistributorBase, Arg0);
- ASSERT_RETURN_ERROR (Result);
- Result = PcdSet64S (PcdGicRedistributorsBase, Arg1);
- ASSERT_RETURN_ERROR (Result);
- }
+ GetGicInformation (&GicInfo);
- Arg0 = PcdGet64 (PcdGicDistributorBase);
-
- DEBUG ((DEBUG_INFO, "GICD base: 0x%x\n", Arg0));
-
- Arg0 = PcdGet64 (PcdGicRedistributorsBase);
-
- DEBUG ((DEBUG_INFO, "GICR base: 0x%x\n", Arg0));
-
- SmcResult = ArmCallSmc0 (SIP_SVC_GET_GIC_ITS, &Arg0, NULL, NULL);
- if (SmcResult == SMC_ARCH_CALL_SUCCESS) {
- Result = PcdSet64S (PcdGicItsBase, Arg0);
- ASSERT_RETURN_ERROR (Result);
- }
-
- Arg0 = PcdGet64 (PcdGicItsBase);
-
- DEBUG ((DEBUG_INFO, "GICI base: 0x%x\n", Arg0));
+ PcdSet64S (PcdGicDistributorBase, GicInfo.DistributorBase);
+ PcdSet64S (PcdGicRedistributorsBase, GicInfo.RedistributorBase);
+ PcdSet64S (PcdGicItsBase, GicInfo.ItsBase);
if (!PLATFORM_VERSION_LESS_THAN (0, 3)) {
Base = (VOID *)(UINTN)PcdGet64 (PcdPlatformXhciBase);
diff --git a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.c b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.c
index b8d1abe2d0bc..1d5291cf5b28 100644
--- a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.c
+++ b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.c
@@ -216,3 +216,60 @@ GetCpuTopology (
CpuTopo->Threads
));
}
+
+/**
+ Get GIC information from TF-A.
+
+ If run on old platform then use values from EDK2 configuration.
+**/
+VOID
+GetGicInformation (
+ OUT GicInfo *GicInfo
+ )
+{
+ ARM_MONITOR_ARGS SmcArgs;
+
+ SmcArgs.Arg0 = SIP_SVC_GET_GIC;
+ ArmMonitorCall (&SmcArgs);
+
+ if (SmcArgs.Arg0 != SMC_SIP_CALL_SUCCESS) {
+ GicInfo->DistributorBase = PcdGet64 (PcdGicDistributorBase);
+ GicInfo->RedistributorBase = PcdGet64 (PcdGicRedistributorsBase);
+ } else {
+ GicInfo->DistributorBase = SmcArgs.Arg1;
+ GicInfo->RedistributorBase = SmcArgs.Arg2;
+ }
+
+ SmcArgs.Arg0 = SIP_SVC_GET_GIC_ITS;
+ ArmMonitorCall (&SmcArgs);
+
+ if (SmcArgs.Arg0 != SMC_SIP_CALL_SUCCESS) {
+ GicInfo->ItsBase = PcdGet64 (PcdGicItsBase);
+ } else {
+ GicInfo->ItsBase = SmcArgs.Arg1;
+ }
+}
+
+/**
+ Get Platform version from TF-A.
+
+ If run on old platform then 0.0 value is used.
+**/
+VOID
+GetPlatformVersion (
+ OUT PlatformVersion *PlatVer
+ )
+{
+ ARM_MONITOR_ARGS SmcArgs;
+
+ SmcArgs.Arg0 = SIP_SVC_VERSION;
+ ArmMonitorCall (&SmcArgs);
+
+ if (SmcArgs.Arg0 != SMC_SIP_CALL_SUCCESS) {
+ PlatVer->Major = 0;
+ PlatVer->Minor = 0;
+ } else {
+ PlatVer->Major = SmcArgs.Arg1;
+ PlatVer->Minor = SmcArgs.Arg2;
+ }
+}
--
2.45.2
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120296): https://edk2.groups.io/g/devel/message/120296
Mute This Topic: https://groups.io/mt/107790446/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [edk2-devel] [PATCH edk2-platforms 2/3] SbsaQemu: move from ArmSmcLib to ArmMonitorLib
2024-08-08 14:20 [edk2-devel] [PATCH edk2-platforms 0/3] SbsaQemu: Move from ArmSmcLib to ArmMonitorLib Marcin Juszkiewicz
2024-08-08 14:20 ` [edk2-devel] [PATCH edk2-platforms 1/3] SbsaQemu: move SMC calls to HardwareInfoLib Marcin Juszkiewicz
@ 2024-08-08 14:20 ` Marcin Juszkiewicz
2024-08-08 14:20 ` [edk2-devel] [PATCH edk2-platforms 3/3] SbsaQemu: drop not needed packages Marcin Juszkiewicz
2024-08-08 16:51 ` [edk2-devel] [PATCH edk2-platforms 0/3] SbsaQemu: Move from ArmSmcLib to ArmMonitorLib Leif Lindholm
3 siblings, 0 replies; 6+ messages in thread
From: Marcin Juszkiewicz @ 2024-08-08 14:20 UTC (permalink / raw)
To: devel; +Cc: Leif Lindholm, Ard Biesheuvel, Graeme Gregory, Marcin Juszkiewicz
ArmMonitorLib allows to use 18 registers are both arguments and results.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
.../SbsaQemuHardwareInfoLib.inf | 2 +-
.../SbsaQemuHardwareInfoLib.c | 75 ++++++++++----------
2 files changed, 37 insertions(+), 40 deletions(-)
diff --git a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
index 58a9c03f18b8..dd920546b11a 100644
--- a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
+++ b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
@@ -25,7 +25,7 @@ [Packages]
Silicon/Qemu/SbsaQemu/SbsaQemu.dec
[LibraryClasses]
- ArmSmcLib
+ ArmMonitorLib
ResetSystemLib
[Pcd]
diff --git a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.c b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.c
index 1d5291cf5b28..cd9db02ba9fe 100644
--- a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.c
+++ b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.c
@@ -7,7 +7,6 @@
*
**/
-#include <Library/ArmSmcLib.h>
#include <Library/ArmMonitorLib.h>
#include <Library/DebugLib.h>
#include <Library/PcdLib.h>
@@ -24,18 +23,19 @@ GetCpuCount (
VOID
)
{
- UINTN Arg0;
- UINTN SmcResult;
+ ARM_MONITOR_ARGS SmcArgs;
- SmcResult = ArmCallSmc0 (SIP_SVC_GET_CPU_COUNT, &Arg0, NULL, NULL);
- if (SmcResult != SMC_SIP_CALL_SUCCESS) {
+ SmcArgs.Arg0 = SIP_SVC_GET_CPU_COUNT;
+ ArmMonitorCall (&SmcArgs);
+
+ if (SmcArgs.Arg0 != SMC_SIP_CALL_SUCCESS) {
DEBUG ((DEBUG_ERROR, "%a: SIP_SVC_GET_CPU_COUNT call failed. We have no cpu information.\n", __FUNCTION__));
ResetShutdown ();
}
- DEBUG ((DEBUG_INFO, "%a: We have %d cpus.\n", __FUNCTION__, Arg0));
+ DEBUG ((DEBUG_INFO, "%a: We have %d cpus.\n", __FUNCTION__, SmcArgs.Arg1));
- return Arg0;
+ return SmcArgs.Arg1;
}
/**
@@ -50,21 +50,20 @@ GetMpidr (
IN UINTN CpuId
)
{
- UINTN SmcResult;
- UINTN Arg0;
- UINTN Arg1;
+ ARM_MONITOR_ARGS SmcArgs;
- Arg0 = CpuId;
+ SmcArgs.Arg0 = SIP_SVC_GET_CPU_NODE;
+ SmcArgs.Arg1 = CpuId;
+ ArmMonitorCall (&SmcArgs);
- SmcResult = ArmCallSmc0 (SIP_SVC_GET_CPU_NODE, &Arg0, &Arg1, NULL);
- if (SmcResult != SMC_SIP_CALL_SUCCESS) {
+ if (SmcArgs.Arg0 != SMC_SIP_CALL_SUCCESS) {
DEBUG ((DEBUG_ERROR, "%a: SIP_SVC_GET_CPU_NODE call failed. We have no MPIDR for CPU%d.\n", __FUNCTION__, CpuId));
ResetShutdown ();
}
- DEBUG ((DEBUG_INFO, "%a: MPIDR for CPU%d: = %d\n", __FUNCTION__, CpuId, Arg1));
+ DEBUG ((DEBUG_INFO, "%a: MPIDR for CPU%d: = %d\n", __FUNCTION__, CpuId, SmcArgs.Arg2));
- return Arg1;
+ return SmcArgs.Arg2;
}
/**
@@ -79,21 +78,20 @@ GetCpuNumaNode (
IN UINTN CpuId
)
{
- UINTN SmcResult;
- UINTN Arg0;
- UINTN Arg1;
+ ARM_MONITOR_ARGS SmcArgs;
- Arg0 = CpuId;
+ SmcArgs.Arg0 = SIP_SVC_GET_CPU_NODE;
+ SmcArgs.Arg1 = CpuId;
+ ArmMonitorCall (&SmcArgs);
- SmcResult = ArmCallSmc0 (SIP_SVC_GET_CPU_NODE, &Arg0, &Arg1, NULL);
- if (SmcResult != SMC_SIP_CALL_SUCCESS) {
+ if (SmcArgs.Arg0 != SMC_SIP_CALL_SUCCESS) {
DEBUG ((DEBUG_ERROR, "%a: SIP_SVC_GET_CPU_NODE call failed. Could not find information for CPU%d.\n", __FUNCTION__, CpuId));
return 0;
}
- DEBUG ((DEBUG_INFO, "%a: NUMA node for CPU%d: = %d\n", __FUNCTION__, CpuId, Arg0));
+ DEBUG ((DEBUG_INFO, "%a: NUMA node for CPU%d: = %d\n", __FUNCTION__, CpuId, SmcArgs.Arg1));
- return Arg0;
+ return SmcArgs.Arg1;
}
UINT32
@@ -101,17 +99,18 @@ GetMemNodeCount (
VOID
)
{
- UINTN SmcResult;
- UINTN Arg0;
+ ARM_MONITOR_ARGS SmcArgs;
- SmcResult = ArmCallSmc0 (SIP_SVC_GET_MEMORY_NODE_COUNT, &Arg0, NULL, NULL);
- if (SmcResult != SMC_SIP_CALL_SUCCESS) {
+ SmcArgs.Arg0 = SIP_SVC_GET_MEMORY_NODE_COUNT;
+ ArmMonitorCall (&SmcArgs);
+
+ if (SmcArgs.Arg0 != SMC_SIP_CALL_SUCCESS) {
DEBUG ((DEBUG_ERROR, "%a: SIP_SVC_GET_MEMORY_NODE_COUNT call failed. We have no memory information.\n", __FUNCTION__));
ResetShutdown ();
}
- DEBUG ((DEBUG_INFO, "%a: The number of the memory nodes is %ld\n", __FUNCTION__, Arg0));
- return (UINT32)Arg0;
+ DEBUG ((DEBUG_INFO, "%a: The number of the memory nodes is %ld\n", __FUNCTION__, SmcArgs.Arg1));
+ return (UINT32)SmcArgs.Arg1;
}
VOID
@@ -120,21 +119,19 @@ GetMemInfo (
OUT MemoryInfo *MemInfo
)
{
- UINTN SmcResult;
- UINTN Arg0;
- UINTN Arg1;
- UINTN Arg2;
+ ARM_MONITOR_ARGS SmcArgs;
- Arg0 = MemoryId;
+ SmcArgs.Arg0 = SIP_SVC_GET_MEMORY_NODE;
+ SmcArgs.Arg1 = MemoryId;
+ ArmMonitorCall (&SmcArgs);
- SmcResult = ArmCallSmc1 (SIP_SVC_GET_MEMORY_NODE, &Arg0, &Arg1, &Arg2);
- if (SmcResult != SMC_SIP_CALL_SUCCESS) {
+ if (SmcArgs.Arg0 != SMC_SIP_CALL_SUCCESS) {
DEBUG ((DEBUG_ERROR, "%a: SIP_SVC_GET_MEMORY_NODE call failed. We have no memory information.\n", __FUNCTION__));
ResetShutdown ();
} else {
- MemInfo->NodeId = Arg0;
- MemInfo->AddressBase = Arg1;
- MemInfo->AddressSize = Arg2;
+ MemInfo->NodeId = SmcArgs.Arg1;
+ MemInfo->AddressBase = SmcArgs.Arg2;
+ MemInfo->AddressSize = SmcArgs.Arg3;
}
DEBUG ((
--
2.45.2
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120297): https://edk2.groups.io/g/devel/message/120297
Mute This Topic: https://groups.io/mt/107790447/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [edk2-devel] [PATCH edk2-platforms 3/3] SbsaQemu: drop not needed packages
2024-08-08 14:20 [edk2-devel] [PATCH edk2-platforms 0/3] SbsaQemu: Move from ArmSmcLib to ArmMonitorLib Marcin Juszkiewicz
2024-08-08 14:20 ` [edk2-devel] [PATCH edk2-platforms 1/3] SbsaQemu: move SMC calls to HardwareInfoLib Marcin Juszkiewicz
2024-08-08 14:20 ` [edk2-devel] [PATCH edk2-platforms 2/3] SbsaQemu: move from ArmSmcLib to ArmMonitorLib Marcin Juszkiewicz
@ 2024-08-08 14:20 ` Marcin Juszkiewicz
2024-08-08 16:51 ` [edk2-devel] [PATCH edk2-platforms 0/3] SbsaQemu: Move from ArmSmcLib to ArmMonitorLib Leif Lindholm
3 siblings, 0 replies; 6+ messages in thread
From: Marcin Juszkiewicz @ 2024-08-08 14:20 UTC (permalink / raw)
To: devel; +Cc: Leif Lindholm, Ard Biesheuvel, Graeme Gregory, Marcin Juszkiewicz
SbsaQemuPlatformDxe does not need ArmVirtPkg and EmbeddedPkg.
SbsaHardwareInfoLib does not need EmbeddedPkg.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
.../Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf | 2 --
.../Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf | 1 -
2 files changed, 3 deletions(-)
diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf
index 72492df11342..b94f01cc0e6d 100644
--- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf
+++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf
@@ -21,8 +21,6 @@ [Sources]
[Packages]
ArmPkg/ArmPkg.dec
- ArmVirtPkg/ArmVirtPkg.dec
- EmbeddedPkg/EmbeddedPkg.dec
MdeModulePkg/MdeModulePkg.dec
MdePkg/MdePkg.dec
Silicon/Qemu/SbsaQemu/SbsaQemu.dec
diff --git a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
index dd920546b11a..1f3525eb95f9 100644
--- a/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
+++ b/Silicon/Qemu/SbsaQemu/Library/SbsaQemuHardwareInfoLib/SbsaQemuHardwareInfoLib.inf
@@ -19,7 +19,6 @@ [Sources]
[Packages]
ArmPkg/ArmPkg.dec
- EmbeddedPkg/EmbeddedPkg.dec
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
Silicon/Qemu/SbsaQemu/SbsaQemu.dec
--
2.45.2
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120298): https://edk2.groups.io/g/devel/message/120298
Mute This Topic: https://groups.io/mt/107790449/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [edk2-devel] [PATCH edk2-platforms 0/3] SbsaQemu: Move from ArmSmcLib to ArmMonitorLib
2024-08-08 14:20 [edk2-devel] [PATCH edk2-platforms 0/3] SbsaQemu: Move from ArmSmcLib to ArmMonitorLib Marcin Juszkiewicz
` (2 preceding siblings ...)
2024-08-08 14:20 ` [edk2-devel] [PATCH edk2-platforms 3/3] SbsaQemu: drop not needed packages Marcin Juszkiewicz
@ 2024-08-08 16:51 ` Leif Lindholm
2024-08-08 17:53 ` Marcin Juszkiewicz
3 siblings, 1 reply; 6+ messages in thread
From: Leif Lindholm @ 2024-08-08 16:51 UTC (permalink / raw)
To: Marcin Juszkiewicz, devel; +Cc: Ard Biesheuvel, Graeme Gregory
On 2024-08-08 15:20, Marcin Juszkiewicz wrote:
> During last weeks Ard updated ArmMonitorLib to current SMCCC
> specification. This allows to use 18 registers as both arguments and
> return values.
>
> We already have one SMC call with 5 return values (GetCpuTopology) so
> let move all calls to use of ArmMonitorLib to simplify code.
>
> First patch also moves all SMC calls we use into HardwareInfoLib to have
> all hardware related queries in one place.
>
> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
For the series:
Leif Lindholm <quic_llindhol@quicinc.com>
Thanks!
> ---
> Marcin Juszkiewicz (3):
> SbsaQemu: move SMC calls to HardwareInfoLib
> SbsaQemu: move from ArmSmcLib to ArmMonitorLib
> SbsaQemu: drop not needed packages
>
> .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.inf | 4 +-
> .../SbsaQemuHardwareInfoLib.inf | 8 +-
> .../Qemu/SbsaQemu/Include/Library/HardwareInfoLib.h | 31 +++++
> .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c | 57 +++------
> .../SbsaQemuHardwareInfoLib.c | 132 ++++++++++++++------
> 5 files changed, 145 insertions(+), 87 deletions(-)
> ---
> base-commit: a8344967ba17584c13620a639fb24990be020878
> change-id: 20240808-move-from-armsmclib-to-armmonitorlib-7ce6c2456c95
>
> Best regards,
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120299): https://edk2.groups.io/g/devel/message/120299
Mute This Topic: https://groups.io/mt/107790445/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 6+ messages in thread