Skip to content

Commit

Permalink
Merge pull request #33 from yli147/main
Browse files Browse the repository at this point in the history
mm: Update the service group name for management mode
  • Loading branch information
lftan authored Jul 24, 2024
2 parents 92d2b9e + 285d419 commit 7c35941
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 19 deletions.
4 changes: 4 additions & 0 deletions src/rpmi.bib
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ @electronic{ACPI
title = {Advanced Configuration and Power Interface Specification},
url = {https://uefi.org/specifications}
}
@electronic{PI,
title = {UEFI Platform Initialization Specification},
url = {https://uefi.org/specifications}
}
@electronic{DT,
title = {DeviceTree},
url = {https://www.devicetree.org/}
Expand Down
2 changes: 1 addition & 1 deletion src/srvgrp-base.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Following table lists the service group
| 0x00007 | CLOCK
| 0x00008 | DEVICE_POWER
| 0x00009 | PERFORMANCE
| 0x0000A | MM_SERVICE
| 0x0000A | MANAGEMENT_MODE
| 0x0000B | RAS_AGENT
| 0x0000C - 0x7FFFF | _Reserved for Future Use_
| 0x80000 - 0xFFFFF | _Implementation Specific Service Groups_
Expand Down
38 changes: 20 additions & 18 deletions src/srvgrp-management.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,19 @@ ifndef::rootpath[]
:rootpath: ./../
endif::rootpath[]

=== Service Group - *MANAGEMENT* (servicegroup_id: 0x0000A)
This MANAGEMENT service group is designed to be used for software invocation of
Management Mode (MM) in a secure execution environment. For general background
on Management Mode (MM), review the Platform Initialization (PI) specifications,
Volume 4: Management Mode Core Interface. Management Mode (MM) provides an
environment for implementing OS agnostic services (MM services) like secure
variable storage, and firmware updates in system firmware. The services can be
invoked synchronously and asynchronously. This service group describes the
interfaces for invoking MM services synchronously.
=== Service Group - *MANAGEMENT_MODE* (servicegroup_id: 0x0000A)
This MANAGEMENT_MODE service group is designed to be used for software invocation
of Management Mode (MM) in a secure execution environment. For general background
on Management Mode, refer to the Platform Initialization (PI) specifications
cite:[PI], Volume 4: Management Mode Core Interface. Management Mode provides an
environment for implementing OS agnostic services (MM services) like secure variable
storage, and firmware updates in system firmware. This service group describes the
interfaces for invoking MM services synchronously, the MM_COMMUNICATE serves as the
world-switch synchronous call from the non-secure to the secure world while the
MM_COMPLETE facilitates synchronous call from the secure to the non-secure world.

[#table_mm_services]
.MANAGEMENT Services
.MANAGEMENT_MODE Services
[cols="1, 3, 2", width=100%, align="center", options="header"]
|===
| Service ID | Service Name | Request Type
Expand All @@ -35,11 +36,11 @@ interfaces for invoking MM services synchronously.
This service group does not support any event for notification.

==== Service: *MM_ENABLE_NOTIFICATION*
This service allows AP to subscribe to MANAGEMENT service group notifications.
Platform can optionally support notifications of events which might occur in
the platform. PuC can send these notification messages to AP if they are
implemented and AP has subscribed to these. Events supported are described
in <<management-notifications>>.
This service allows the AP to subscribe to MANAGEMENT_MODE service group
notifications. Platform can optionally support notifications of events which
might occur in the platform. PuC can send these notification messages to AP
if they are implemented and AP has subscribed to these. Events supported are
described in <<management-notifications>>.

[#table_mm_ennotification_request_data]
.Request Data
Expand Down Expand Up @@ -69,7 +70,7 @@ notification.


==== Service: *MM_VERSION*
This service returns the version of a management mode service.
This service returns the version of a Management Mode.

[#table_mm_version_request_data]
.Request Data
Expand All @@ -88,7 +89,7 @@ This service returns the version of a management mode service.
! RPMI_ERROR_DENIED ! Denied due to no permission.
!===
- Other errors <<table_error_codes>>
| 1 | MM_VERSION | uint32 | Management mode service version.
| 1 | MM_VERSION | uint32 | Management Mode version.
[cols="2,5"]
!===
! *Bits* ! *Description*
Expand All @@ -102,7 +103,8 @@ This service returns the version of a management mode service.
==== Service: *MM_COMMUNICATE*
Calling this MM_COMMUNICATE api invokes a MM service that is implemented in the
secure execution environment. The MM_COMM_DATA contains data to identify and
invoke the MM service. This synchronous call is returned by using MM_COMPLETE.
invoke the MM service. The readiness of this synchronous request from the non-secure
world is signaled by the MM_COMPLETE call from the secure world.

[#table_mm_communicate_request_data]
.Request Data
Expand Down

0 comments on commit 7c35941

Please sign in to comment.