The RMM 1.0-bet2 spec expands the set of GPRs for RSI host call
to X0-X30.

Therefore, update the RSI HOST_CALL_ARGS structure to reflect
these changes.

Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
Cc: Leif Lindholm <quic_llind...@quicinc.com>
Cc: Gerd Hoffmann <kra...@redhat.com>
Signed-off-by: Sami Mujawar <sami.muja...@arm.com>
---
 ArmVirtPkg/Include/Library/ArmCcaRsiLib.h      | 29 ++++++++++++++++++--
 ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c |  3 +-
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/ArmVirtPkg/Include/Library/ArmCcaRsiLib.h 
b/ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
index 
81d125a81941cc1680cfdfb08e001193851d50e5..3d6ace866def5f10dd74afd4e9340530150f6f43
 100644
--- a/ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
+++ b/ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
@@ -11,7 +11,7 @@
     - REM          - Realm Extensible Measurement
 
   @par Reference(s):
-   - Realm Management Monitor (RMM) Specification, version 1.0-bet1
+   - Realm Management Monitor (RMM) Specification, version 1.0-bet2
      (https://developer.arm.com/documentation/den0137/)
 **/
 
@@ -82,7 +82,7 @@ typedef struct RealmConfig {
 } REALM_CONFIG;
 
 /** A structure describing the Host Call arguments
-    See Section 4.4.2 RsiHostCall type, RMM Specification, version 1.0-bet1
+    See Section 4.4.2 RsiHostCall type, RMM Specification, version 1.0-bet2
 */
 typedef struct HostCallArgs {
   UINT16    Imm;
@@ -95,7 +95,30 @@ typedef struct HostCallArgs {
   UINT64    Gprs4;
   UINT64    Gprs5;
   UINT64    Gprs6;
-  UINT8     Reserved[0x100 - (sizeof (UINT64) * 8)];
+  UINT64    Gprs7;
+  UINT64    Gprs8;
+  UINT64    Gprs9;
+  UINT64    Gprs10;
+  UINT64    Gprs11;
+  UINT64    Gprs12;
+  UINT64    Gprs13;
+  UINT64    Gprs14;
+  UINT64    Gprs15;
+  UINT64    Gprs16;
+  UINT64    Gprs17;
+  UINT64    Gprs18;
+  UINT64    Gprs19;
+  UINT64    Gprs20;
+  UINT64    Gprs21;
+  UINT64    Gprs22;
+  UINT64    Gprs23;
+  UINT64    Gprs24;
+  UINT64    Gprs25;
+  UINT64    Gprs26;
+  UINT64    Gprs27;
+  UINT64    Gprs28;
+  UINT64    Gprs29;
+  UINT64    Gprs30;
 } HOST_CALL_ARGS;
 
 /**
diff --git a/ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c 
b/ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c
index 
5984651f6d9d627d9fee30a4fbf11c45b3951877..ceec0477d7ec9ba0ae831aa5a4f31d8a3791b9d1
 100644
--- a/ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c
+++ b/ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c
@@ -11,7 +11,7 @@
     - REM          - Realm Extensible Measurement
 
   @par Reference(s):
-   - Realm Management Monitor (RMM) Specification, version 1.0-bet1
+   - Realm Management Monitor (RMM) Specification, version 1.0-bet2
      (https://developer.arm.com/documentation/den0137/)
 
 **/
@@ -522,7 +522,6 @@ RsiHostCall (
 
   // Clear the reserved fields
   ZeroMem (&Args->Reserved1, sizeof (Args->Reserved1));
-  ZeroMem (&Args->Reserved, sizeof (Args->Reserved));
 
   ZeroMem (&SmcCmd, sizeof (SmcCmd));
   SmcCmd.Arg0 = FID_RSI_HOST_CALL;
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'



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


Reply via email to