Loading Documentation/devicetree/bindings/soc/qcom/guest_shm.txt 0 → 100644 +19 −0 Original line number Diff line number Diff line QVM Guest Shared Memory guest_shm is a device that enables linux as a guest operating system to allocate shared memory between virtual machines and send notifications of updates to other virtual machines. Required properties: - compatible: Must be "qvm,guest_shm". - interrupt-parent: Parent interrupt controller. - interrupts: Should contain QVM interrupt. - reg: Physical address of the guest factory and length. Example: qvm,guest_shm { compatible = "qvm,guest_shm"; interrupt-parent = <&gic>; interrupts = <6 4>; reg = <0x1c050000 0x1000>; }; Documentation/devicetree/bindings/soc/qcom/hab.txt 0 → 100644 +41 −0 Original line number Diff line number Diff line * HAB HAB(Hypervisor ABstraction) is meant to be a cross-platform abstraction layer for utilizing the underlying hypervisor system. This API can be accessed from both user and kernel sides. The intended users of this are primarily the multimedia drivers who want to communicate with the host OS to use the multimedia hardware. Required properties: - compatible: Must be "qcom,hab" - vmid: the local VM's ID It should be unique in a system, and host's ID should be 0. Here is an example for a system as qvm host + agl gvm + android gvm, and such below setting is proper, qvm host's vmid: 0 agl gvm's vmid: 1 android gvm's vmid: 2 - mmid group properties: - grp-start-id: mmid group starting ID, eg, 100 is for MM_AUD_1~4 - role: the local role of this group, and must be "fe" or "be" - remote-vmids: When the local role is "fe", this is to tell which VM is the relevant BE. When it is "be", this is to tell which VMs it will support as BE. Example: qcom,hab { compatible = "qcom,hab"; vmid = <2>; mmid100: mmid-grp@100 { grp-start-id = <100>; role = "fe"; remote-vmids = <0>; }; mmid200: mmid-grp@200 { grp-start-id = <200>; role = "fe"; remote-vmids = <0>; }; } Documentation/devicetree/bindings/vendor-prefixes.txt +1 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,7 @@ qemu QEMU, a generic and open source machine emulator and virtualizer qi Qi Hardware qiaodian QiaoDian XianShi Corporation qnap QNAP Systems, Inc. qvm BlackBerry Ltd radxa Radxa raidsonic RaidSonic Technology GmbH ralink Mediatek/Ralink Technology Corp. Loading arch/arm64/boot/dts/qcom/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,8 @@ dtb-$(CONFIG_ARCH_SM8150) += sm8150-rumi.dtb \ sm8150p-hdk.dtb endif dtb-$(CONFIG_QTI_GVM) += sa8155-vm.dtb ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) dtbo-$(CONFIG_ARCH_SDMSHRIKE) += \ sdmshrike-cdp-overlay.dtbo \ Loading arch/arm64/boot/dts/qcom/sa8155-vm.dts 0 → 100644 +15 −0 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0 /* * Copyright (c) 2018, The Linux Foundation. All rights reserved. */ /dts-v1/; #include "sa8155-vm.dtsi" / { model = "Qualcomm Technologies, Inc. SA8155 Virtual Machine"; compatible = "qcom,sa8155"; qcom,pmic-name = "PM8150"; qcom,board-id = <0 0>; }; Loading
Documentation/devicetree/bindings/soc/qcom/guest_shm.txt 0 → 100644 +19 −0 Original line number Diff line number Diff line QVM Guest Shared Memory guest_shm is a device that enables linux as a guest operating system to allocate shared memory between virtual machines and send notifications of updates to other virtual machines. Required properties: - compatible: Must be "qvm,guest_shm". - interrupt-parent: Parent interrupt controller. - interrupts: Should contain QVM interrupt. - reg: Physical address of the guest factory and length. Example: qvm,guest_shm { compatible = "qvm,guest_shm"; interrupt-parent = <&gic>; interrupts = <6 4>; reg = <0x1c050000 0x1000>; };
Documentation/devicetree/bindings/soc/qcom/hab.txt 0 → 100644 +41 −0 Original line number Diff line number Diff line * HAB HAB(Hypervisor ABstraction) is meant to be a cross-platform abstraction layer for utilizing the underlying hypervisor system. This API can be accessed from both user and kernel sides. The intended users of this are primarily the multimedia drivers who want to communicate with the host OS to use the multimedia hardware. Required properties: - compatible: Must be "qcom,hab" - vmid: the local VM's ID It should be unique in a system, and host's ID should be 0. Here is an example for a system as qvm host + agl gvm + android gvm, and such below setting is proper, qvm host's vmid: 0 agl gvm's vmid: 1 android gvm's vmid: 2 - mmid group properties: - grp-start-id: mmid group starting ID, eg, 100 is for MM_AUD_1~4 - role: the local role of this group, and must be "fe" or "be" - remote-vmids: When the local role is "fe", this is to tell which VM is the relevant BE. When it is "be", this is to tell which VMs it will support as BE. Example: qcom,hab { compatible = "qcom,hab"; vmid = <2>; mmid100: mmid-grp@100 { grp-start-id = <100>; role = "fe"; remote-vmids = <0>; }; mmid200: mmid-grp@200 { grp-start-id = <200>; role = "fe"; remote-vmids = <0>; }; }
Documentation/devicetree/bindings/vendor-prefixes.txt +1 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,7 @@ qemu QEMU, a generic and open source machine emulator and virtualizer qi Qi Hardware qiaodian QiaoDian XianShi Corporation qnap QNAP Systems, Inc. qvm BlackBerry Ltd radxa Radxa raidsonic RaidSonic Technology GmbH ralink Mediatek/Ralink Technology Corp. Loading
arch/arm64/boot/dts/qcom/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,8 @@ dtb-$(CONFIG_ARCH_SM8150) += sm8150-rumi.dtb \ sm8150p-hdk.dtb endif dtb-$(CONFIG_QTI_GVM) += sa8155-vm.dtb ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) dtbo-$(CONFIG_ARCH_SDMSHRIKE) += \ sdmshrike-cdp-overlay.dtbo \ Loading
arch/arm64/boot/dts/qcom/sa8155-vm.dts 0 → 100644 +15 −0 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0 /* * Copyright (c) 2018, The Linux Foundation. All rights reserved. */ /dts-v1/; #include "sa8155-vm.dtsi" / { model = "Qualcomm Technologies, Inc. SA8155 Virtual Machine"; compatible = "qcom,sa8155"; qcom,pmic-name = "PM8150"; qcom,board-id = <0 0>; };