[PATCH v12 03/24] dt-bindings: hypervisor: Add MediaTek GenieZone hypervisor

From: Liju-clr Chen
Date: Tue Jul 30 2024 - 04:25:41 EST


From: Yingshiuan Pan <yingshiuan.pan@xxxxxxxxxxxx>

Add documentation for GenieZone(gzvm) node. This node informs gzvm
driver to start probing if proprietary geniezone hypervisor firmware is
available and capable of executing virtual machine operations.

[Reason to use dt solution]
The GenieZone hypervisor acts as a vendor firmware to enable platform
virtualization, offering an implementation that is independent of
Linux-specific implementations.
- Previously, our approach involved probing via hypercalls to detect the
presence of our hypervisor firmware. However, this method raised
concerns about potential impacts on all systems, including those
without the embedded GenieZone hypervisor.[1]
- By utilizing the device tree solution, we can accurately identify the
GenieZone hypervisor's presence without relying on hypercalls,
ensuring a more targeted and efficient detection process that
minimizes the risk of unintended consequences on non-GenieZone systems.

[1] https://lore.kernel.org/all/2fe0c7f9-55fc-ae63-3631-8526a0212ccd@xxxxxxxxxx/

Signed-off-by: Yingshiuan Pan <yingshiuan.pan@xxxxxxxxxxxx>
Signed-off-by: Yi-De Wu <yi-de.wu@xxxxxxxxxxxx>
Signed-off-by: Liju Chen <liju-clr.chen@xxxxxxxxxxxx>
---
.../bindings/firmware/mediatek,geniezone.yaml | 34 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 35 insertions(+)
create mode 100644 Documentation/devicetree/bindings/firmware/mediatek,geniezone.yaml

diff --git a/Documentation/devicetree/bindings/firmware/mediatek,geniezone.yaml b/Documentation/devicetree/bindings/firmware/mediatek,geniezone.yaml
new file mode 100644
index 000000000000..9955890cb8b7
--- /dev/null
+++ b/Documentation/devicetree/bindings/firmware/mediatek,geniezone.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/firmware/mediatek,geniezone.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek GenieZone hypervisor
+
+maintainers:
+ - Yingshiuan Pan <yingshiuan.pan@xxxxxxxxxxxx>
+
+description:
+ GenieZone is a proprietary type-II hypervisor firmware developed by MediaTek,
+ providing an isolated execution environment for mTEE (MediaTek Trusted
+ Execution Environment) and AVF (Android Virtualization Framework) virtual
+ machines. This binding facilitates the integration of GenieZone into the
+ Android Virtualization Framework (AVF) with Crosvm as the VMM. The driver
+ exposes hypervisor control interfaces to the VMM for managing virtual
+ machine lifecycles and assisting virtual device emulation.
+
+properties:
+ compatible:
+ const: mediatek,geniezone
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ hypervisor {
+ compatible = "mediatek,geniezone";
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index a61f74e258f8..e9d600ae48bb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9450,6 +9450,7 @@ GENIEZONE HYPERVISOR DRIVER
M: Yingshiuan Pan <yingshiuan.pan@xxxxxxxxxxxx>
M: Ze-Yu Wang <ze-yu.wang@xxxxxxxxxxxx>
M: Liju Chen <liju-clr.chen@xxxxxxxxxxxx>
+F: Documentation/devicetree/bindings/firmware/mediatek,geniezone.yaml
F: Documentation/virt/geniezone/

GENWQE (IBM Generic Workqueue Card)
--
2.18.0