Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 4d9bf36047e4eeac5a6b6afb4a5b4f9683d1d267
      
https://github.com/tianocore/edk2/commit/4d9bf36047e4eeac5a6b6afb4a5b4f9683d1d267
  Author: Sami Mujawar <[email protected]>
  Date:   2026-04-24 (Fri, 24 Apr 2026)

  Changed paths:
    M MdePkg/Include/IndustryStandard/ArmStdSmc.h

  Log Message:
  -----------
  MdePkg/IndustryStandard: Add Arm CCA RSI FID definitions

Add definitions for Arm Confidential Compute Architecture (CCA)
Realm Service interface (RSI) definitions.

These FID definitions are specified in the Realm Management
Monitor (RMM) Specification that can be found at:
 https://developer.arm.com/documentation/den0137/

Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 66d18535730b4c83afb4374fb5800358b8c49056
      
https://github.com/tianocore/edk2/commit/66d18535730b4c83afb4374fb5800358b8c49056
  Author: Sami Mujawar <[email protected]>
  Date:   2026-04-24 (Fri, 24 Apr 2026)

  Changed paths:
    M ArmVirtPkg/ArmVirtPkg.dec
    A ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
    A ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsi.h
    A ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c
    A ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.inf

  Log Message:
  -----------
  ArmVirtPkg: Add Arm CCA Realm Service Interface Library

The Realm Management Monitor (RMM) is a software component which
forms part of a system which implements the Arm Confidential Compute
Architecture (CCA) and is responsible for management of Realms.
The RMM specification defines a Realm Service Interface (RSI) that
the Guest can use to request services from the RMM.

Therefore, add a library that implements the RSI interfaces to:
  - query the RSI version
  - get the Realm configuration.

Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 2029a69a0b00ba89c9ae2ee312555455cf7accdc
      
https://github.com/tianocore/edk2/commit/2029a69a0b00ba89c9ae2ee312555455cf7accdc
  Author: Sami Mujawar <[email protected]>
  Date:   2026-04-24 (Fri, 24 Apr 2026)

  Changed paths:
    M ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
    M ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c

  Log Message:
  -----------
  ArmVirtPkg: ArmCcaRsiLib: Add interfaces to manage the Realm IPA state

The IPA space of a Realm is divided into two halves: Protected IPA space
and Unprotected IPA space. Software in a Realm should treat the most
significant bit of an IPA as a protection attribute. A Protected IPA is
an address in the lower half of a Realm's IPA space. An Unprotected IPA
is an address in the upper half of a Realm's IPA space.

A Protected IPA has an associated Realm IPA state (RIPAS). The RIPAS
values are:
 * EMPTY  - Unused address
 * RAM    - Private code or data owned by the Realm.

Software in the Realm needs to share memory with the host to communicate
with the outside world, e.g. network, disk image, etc.

To share memory, the software in the Realm first transitions the RIPAS
of memory region it wants to share with the host from RAM to EMPTY. The
Realm software can then access the shared memory region using the
Unprotected IPA address.

The RMM specification defines the following Realm Service Interfaces for
managing the IPA state:
 * RSI_IPA_STATE_GET
 * RSI_IPA_STATE_SET

Therefore, update the ArmCcaRsiLib to add interfaces to get and set the
IPA state of Realm memory pages.

Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 74a04882d6cfd80c7e1d9d003080436fe303d753
      
https://github.com/tianocore/edk2/commit/74a04882d6cfd80c7e1d9d003080436fe303d753
  Author: Sami Mujawar <[email protected]>
  Date:   2026-04-24 (Fri, 24 Apr 2026)

  Changed paths:
    M ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
    M ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c

  Log Message:
  -----------
  ArmVirtPkg: ArmCcaRsiLib: Add interfaces to get/extend REMs

The Section A2.1.3 Realm attributes, RMM Specification, version 1.0-rel0
introduces the concept of REMs as described below:
  DGRFCS - A Realm Extensible Measurement (REM) is a measurement value
           which can be extended during the lifetime of a Realm.
  IFMPYL - Attributes of a Realm include an array of measurement values.
           The first entry in this array is a RIM. The remaining entries
           in this array are REMs.

The Realm Service Interface commands defined in section
B5.3.8 RSI_MEASUREMENT_READ and B5.3.7 RSI_MEASUREMENT_EXTEND
specify the interfaces to read and extend measurements to REMs.

Therefore, update ArmCcaRsiLib to add interfaces to get and extend REMs.

Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 896c0b58035a32a0cb8afa8f873e4cddeff39e6a
      
https://github.com/tianocore/edk2/commit/896c0b58035a32a0cb8afa8f873e4cddeff39e6a
  Author: Sami Mujawar <[email protected]>
  Date:   2026-04-24 (Fri, 24 Apr 2026)

  Changed paths:
    M ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
    M ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsi.h
    M ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c

  Log Message:
  -----------
  ArmVirtPkg: ArmCcaRsiLib: Add an interface to make a RSI Host Call

The Section A4.5 Host call, RMM Specification, version 1.0-rel0
describes the programming model for Realm communication with
the Host and specifies the following:
  DYDJWT - A Host call is a call made by the Realm to the Host, by
           execution of the RSI_HOST_CALL command.
  IXNFKZ - A Host call can be used by a Realm to make a hypercall.

Therefore, introduce definition of HOST_CALL_ARGS structure that
represents the arguments to the RSI_HOST_CALL command as defined
in Section B5.3.4 RSI_HOST_CALL command.

Also update the ArmCcaRsiLib library to add a new interface
RsiHostCall () to make a Host call.

Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 8b2e33476d290b610883d1692c8db00878d183af
      
https://github.com/tianocore/edk2/commit/8b2e33476d290b610883d1692c8db00878d183af
  Author: Sami Mujawar <[email protected]>
  Date:   2026-04-24 (Fri, 24 Apr 2026)

  Changed paths:
    M ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
    M ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c
    M ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.inf

  Log Message:
  -----------
  ArmVirtPkg: ArmCcaRsiLib: Add an interface to get an attestation token

A CCA attestation token is a collection of claims about the state of a
Realm and of the CCA platform on which the Realm is running.
A CCA attestation token consists of two parts:
  * Realm token - Contains attributes of the Realm, including:
    # Realm Initial Measurement
    # Realm Extensible Measurements
  * CCA platform token - Contains attributes of the CCA platform
    on which the Realm is running, including:
    # CCA platform identity
    # CCA platform life cycle state
    # CCA platform software component measurements

The CCA attestation token is used by a verification service to validate
these claims.

The Realm Service Interface defines the following interfaces to retrieve
an attestation token from the Realm Management Monitor (RMM).
  - RSI_ATTESTATION_TOKEN_INIT
  - RSI_ATTESTATION_TOKEN_CONTINUE

Therefore, update the ArmCcaRsiLib to add an interface to get an
attestation token from the RMM.

Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>


  Commit: 1fd1e30a525e61854c92b915d37728033490f5fd
      
https://github.com/tianocore/edk2/commit/1fd1e30a525e61854c92b915d37728033490f5fd
  Author: Sami Mujawar <[email protected]>
  Date:   2026-04-24 (Fri, 24 Apr 2026)

  Changed paths:
    M ArmVirtPkg/Include/Library/ArmCcaRsiLib.h
    M ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.c

  Log Message:
  -----------
  ArmVirtPkg: ArmCcaRsiLib: Add RSI Features support

The RMM Specification, version 1.0-rel0 provides an
interface RSI_FEATURES to query the RSI features
that have been implemented by the RMM.

Therefore, introduce a new function RsiGetFeatures
to query the features supported by the RSI.

Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/12e26dc213cb...1fd1e30a525e

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to