Re: [PATCH v7 04/45] arm64: RME: Add SMC definitions for calling the RMM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/14/25 2:13 AM, Steven Price wrote:
The RMM (Realm Management Monitor) provides functionality that can be
accessed by SMC calls from the host.

The SMC definitions are based on DEN0137[1] version 1.0-rel0

[1] https://developer.arm.com/documentation/den0137/1-0rel0/

Signed-off-by: Steven Price <steven.price@xxxxxxx>
---
Changes since v6:
  * Renamed REC_ENTER_xxx defines to include 'FLAG' to make it obvious
    these are flag values.
Changes since v5:
  * Sorted the SMC #defines by value.
  * Renamed SMI_RxI_CALL to SMI_RMI_CALL since the macro is only used for
    RMI calls.
  * Renamed REC_GIC_NUM_LRS to REC_MAX_GIC_NUM_LRS since the actual
    number of available list registers could be lower.
  * Provided a define for the reserved fields of FeatureRegister0.
  * Fix inconsistent names for padding fields.
Changes since v4:
  * Update to point to final released RMM spec.
  * Minor rearrangements.
Changes since v3:
  * Update to match RMM spec v1.0-rel0-rc1.
Changes since v2:
  * Fix specification link.
  * Rename rec_entry->rec_enter to match spec.
  * Fix size of pmu_ovf_status to match spec.
---
  arch/arm64/include/asm/rmi_smc.h | 259 +++++++++++++++++++++++++++++++
  1 file changed, 259 insertions(+)
  create mode 100644 arch/arm64/include/asm/rmi_smc.h


One nitpick below, with it addressed:

Reviewed-by: Gavin Shan <gshan@xxxxxxxxxx>

diff --git a/arch/arm64/include/asm/rmi_smc.h b/arch/arm64/include/asm/rmi_smc.h
new file mode 100644
index 000000000000..f85a82072337
--- /dev/null
+++ b/arch/arm64/include/asm/rmi_smc.h
@@ -0,0 +1,259 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2023-2024 ARM Ltd.
+ *
+ * The values and structures in this file are from the Realm Management Monitor
+ * specification (DEN0137) version 1.0-rel0:
+ * https://developer.arm.com/documentation/den0137/1-0rel0/
+ */
+
+#ifndef __ASM_RME_SMC_H
+#define __ASM_RME_SMC_H
+

#ifndef __ASM_RMI_SMC_H
#define __ASM_RMI_SMC_H


[...]

+
+struct rec_run {
+	struct rec_enter enter;
+	struct rec_exit exit;
+};
+
+#endif

#endif /* __ASM_RMI_SMC_H */





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux