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] -=-=-=-=-=-=-=-=-=-=-=-