From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44798) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WjpVA-0001Zz-J6 for qemu-devel@nongnu.org; Mon, 12 May 2014 08:38:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WjpV4-0002UI-MO for qemu-devel@nongnu.org; Mon, 12 May 2014 08:38:40 -0400 Received: from mail-pa0-f51.google.com ([209.85.220.51]:48835) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WjpV4-0002UD-HJ for qemu-devel@nongnu.org; Mon, 12 May 2014 08:38:34 -0400 Received: by mail-pa0-f51.google.com with SMTP id kq14so8438520pab.38 for ; Mon, 12 May 2014 05:38:33 -0700 (PDT) From: Pranavkumar Sawargaonkar Date: Mon, 12 May 2014 18:07:26 +0530 Message-Id: <1399898246-4831-9-git-send-email-pranavkumar@linaro.org> In-Reply-To: <1399898246-4831-1-git-send-email-pranavkumar@linaro.org> References: <1399898246-4831-1-git-send-email-pranavkumar@linaro.org> Subject: [Qemu-devel] [RFC PATCH V5 8/8] hw/arm/virt: Use PSCI v0.2 compatible when kernel supports it List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Anup Patel , patches@apm.com, robherring2@gmail.com, kvmarm@lists.cs.columbia.edu, christoffer.dall@linaro.org, Pranavkumar Sawargaonkar If we have in-kernel emulation of PSCI v0.2 for KVM ARM/ARM64 then we enable PSCI v0.2 for each VCPU at the time of VCPU init hence we need to provide PSCI v0.2 compatible string via generated DTB. This patch updates generated DTB to have PSCI v0.2 compatible string when we have in-kernel emulation PSCI v0.2 for KVM ARM/ARM64. Signed-off-by: Pranavkumar Sawargaonkar Signed-off-by: Anup Patel --- hw/arm/virt.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index ea4f02d..64ee630 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -183,7 +183,13 @@ static void create_fdt(VirtBoardInfo *vbi) /* No PSCI for TCG yet */ if (kvm_enabled()) { qemu_fdt_add_subnode(fdt, "/psci"); - qemu_fdt_setprop_string(fdt, "/psci", "compatible", "arm,psci"); + if (kvm_check_extension(kvm_state, QEMU_KVM_CAP_ARM_PSCI_0_2)) { + qemu_fdt_setprop(fdt, "/psci", "compatible", + "arm,psci-0.2\0arm,psci", + strlen("arm,psci-0.2") + strlen("arm,psci") + 2); + } else { + qemu_fdt_setprop_string(fdt, "/psci", "compatible", "arm,psci"); + } qemu_fdt_setprop_string(fdt, "/psci", "method", "hvc"); qemu_fdt_setprop_cell(fdt, "/psci", "cpu_suspend", PSCI_FN_CPU_SUSPEND); -- 1.7.9.5