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