From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660671535; cv=none; d=zohomail.com; s=zohoarc; b=IkyIAkmU+NTf+Hvg1iwleCbZXbBAYQtDRIYFP5GwKl8eY22xZubDR8x8i5urQtcNXHHRPC5DzMcvtJTBBn9NxqOOE6vGGUlueRUXSyX0k5yiFguXn8dKQhuxRlqmEgPi1O4vDJXptpGsK5uteLEIXLHTNKvgJV/4LP1iinjqGXc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660671535; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7nsBpd6U2T94rIp6E9694uNRx1OUw5ceVkhMbv8n9sQ=; b=S38ptZ1cCPwwNF/W9sbhY56MVLhsWJ1ZlCSEs1xMhmIHbozucn2ca/vy8uhQYJa/G4/QT/nX/1kYg0om81yNtR8VfCKhSQpWXA1Ykt8PakGu48hrG8I/FfIavIYJCTHyMD0i/7PC0xa+8kD2XiDFy+UDJJhrBpnvEd7epe2qcFc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660671535597591.5199230511407; Tue, 16 Aug 2022 10:38:55 -0700 (PDT) Received: from localhost ([::1]:59252 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0Wk-0008SU-8R for importer@patchew.org; Tue, 16 Aug 2022 13:38:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36006) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0Sd-0004fI-8J; Tue, 16 Aug 2022 13:34:39 -0400 Received: from mail-vk1-xa30.google.com ([2607:f8b0:4864:20::a30]:40903) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Sb-0002Mw-QG; Tue, 16 Aug 2022 13:34:38 -0400 Received: by mail-vk1-xa30.google.com with SMTP id c22so5515653vko.7; Tue, 16 Aug 2022 10:34:36 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=7nsBpd6U2T94rIp6E9694uNRx1OUw5ceVkhMbv8n9sQ=; b=P5o9N1gtOqJtIt+KVeAIcYFnY2axcZt+0PhRXcxvygsNuovbH/pb/vlmPsyB8KM7Td k8B2qMaUukKNlhXozmm0YmempqVIbdOOf5westKuSJlCh6rLH8cRkUSTIIx+vhIzSluu Iuaw6fkuZxy0ZbZzPlWl4E1eZCZ0o0/D2cHOb0ELRHvxNPd/hJ77hvjrlfsrnU6QliAt 2g6hSLkXqskIWa0+upRSuBZUutQeXlp1cUDDk2eVwfMHZQvi8agGR+uT1rXwUy3KmyeY k35a47YaUiizrzJBYlv0YUvMsNX9BDzzB6gddTywWVYVAiXF0a583bNh51Uz3u3zaIyH mDCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=7nsBpd6U2T94rIp6E9694uNRx1OUw5ceVkhMbv8n9sQ=; b=xPHj6XebuPZz72PfkqOHXott5YtKdzjUEUVDGdy/kEyhN6IidN4psDUVkB5ziKyxD/ 3QjRFdsM/JccXD5T/GqSRw0QqQNYvbe0R6E+bI9YyC999hIfISXQJTN0ccqQ4RFV95NA GCWXaAEeM6U0wPfdo2wqj9em0a6UIyTdHVwwRFLsfl/ulBfpZ26cDXfIypLjsjhyXkss kVhSdr4YOqyUk9NqnMHC0Z4f5ZnRC6OEfJWU2v66FH/V/gmkDjNRS97/y9a7O3TBtNOv wjO2n3Ib76v3ilWmqy4MLiFXvRtCwg8t1DihhG2AEeP+SIxYf/hSYY6hDGD7gdgJWRlE q3wg== X-Gm-Message-State: ACgBeo2TNRhRa4eVWbY4fsFHVbSTK4RLoK/hUrmyAAW5xhCFB/VWptmv yMJ4f9RjSr0s6JYNVMvMzXGe3EwiPxjiCA== X-Google-Smtp-Source: AA6agR4S37L5yKKK7Rwyc8fURHzsM2BUUpgs+ZmbWqTc5buv8GT4Gcqiut2n+uW19djfRBToPbuu7g== X-Received: by 2002:a1f:9007:0:b0:377:83a0:b9a1 with SMTP id s7-20020a1f9007000000b0037783a0b9a1mr9556987vkd.32.1660671275878; Tue, 16 Aug 2022 10:34:35 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , Peter Maydell , qemu-arm@nongnu.org Subject: [PATCH for-7.2 v3 01/20] hw/arm: do not free machine->fdt in arm_load_dtb() Date: Tue, 16 Aug 2022 14:34:09 -0300 Message-Id: <20220816173428.157304-2-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::a30; envelope-from=danielhb413@gmail.com; helo=mail-vk1-xa30.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660671538190100001 Content-Type: text/plain; charset="utf-8" At this moment, arm_load_dtb() can free machine->fdt when binfo->dtb_filename is NULL. If there's no 'dtb_filename', 'fdt' will be retrieved by binfo->get_dtb(). If get_dtb() returns machine->fdt, as is the case of machvirt_dtb() from hw/arm/virt.c, fdt now has a pointer to machine->fdt. And, in that case, the existing g_free(fdt) at the end of arm_load_dtb() will make machine->fdt point to an invalid memory region. This is not an issue right now because there's no code that access machine->fdt after arm_load_dtb(), but we're going to add a couple do FDT HMP commands that will rely on machine->fdt being valid. Instead of freeing 'fdt' at the end of arm_load_dtb(), assign it to machine->fdt. This will allow the FDT of ARM machines that relies on arm_load_dtb() to be accessed later on. Since all ARM machines allocates the FDT only once, we don't need to worry about leaking the existing FDT during a machine reset (which is something that other machines have to look after, e.g. the ppc64 pSeries machine). Cc: Peter Maydell Cc: qemu-arm@nongnu.org Signed-off-by: Daniel Henrique Barboza --- hw/arm/boot.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/arm/boot.c b/hw/arm/boot.c index ada2717f76..669a978157 100644 --- a/hw/arm/boot.c +++ b/hw/arm/boot.c @@ -684,7 +684,11 @@ int arm_load_dtb(hwaddr addr, const struct arm_boot_in= fo *binfo, */ rom_add_blob_fixed_as("dtb", fdt, size, addr, as); =20 - g_free(fdt); + /* + * Update the ms->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + ms->fdt =3D fdt; =20 return size; =20 --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660671766; cv=none; d=zohomail.com; s=zohoarc; b=ShBJE3fN4gCJgij08OqzNu81kH5oOr/NMPnYBAZ0aj0irjDniD87audYqQ/moxb4U1sMOMCwbjTmCmUY/e5UbIDjca9Z1OpteAA8JfTo2qrZp3kJBDzSORqMajing2p6f6JwP3aNZTAPU9WRNC/VrIJc0xBVj158u4CVnL9nyM0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660671766; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=j1RYsPISHcQmqkfg0bCXBflgdHOzA77Z6HtOczxpsOA=; b=IwB2rTt+gfBa73Aw2eyxxtEXfcZb5KRG6a+nzhmbAoQKAKfEx0ewAQTu0vjanL2s2cWAIwOIYjfEhc3pr8FaI4G/esg6YIc/2COKgMKpmkT+XliYhbtFDQ3UxloIry00n9EErduWTJxFEb4aVf6J6oOPb7lNJZZGof8R6kGJZ2o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660671766345966.0486436170494; Tue, 16 Aug 2022 10:42:46 -0700 (PDT) Received: from localhost ([::1]:38776 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0aT-0003jT-Cb for importer@patchew.org; Tue, 16 Aug 2022 13:42:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36022) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0Sf-0004jM-UL; Tue, 16 Aug 2022 13:34:42 -0400 Received: from mail-vk1-xa30.google.com ([2607:f8b0:4864:20::a30]:43824) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Se-0002NF-BV; Tue, 16 Aug 2022 13:34:41 -0400 Received: by mail-vk1-xa30.google.com with SMTP id w129so5508240vkg.10; Tue, 16 Aug 2022 10:34:39 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=j1RYsPISHcQmqkfg0bCXBflgdHOzA77Z6HtOczxpsOA=; b=HNwCPRT0ioQk2418GrDYhoXj+eZwj4ZY/oH+mMVdIWWS2DZ/QsCqxyYlc5DSKlag+c P8mRe/sHp/9SKC6N8EuPOf4uacsgCs2LtrNphUlcMYE/tBJXuvkxavYaLCgT0IF+1wnz h75uEDvYKsT0jTkHm34659CjsBKNBpiDEf59BAajEKorgF0RFEoMNmT5v6EQTmaHJ0SH 4Bp0K0V+E8yXKC9vv39l9CEpNuH/JB0lkXQ1JRUdM/CHrVSWr0qnpAff2Vg20jo0FNYi zGg7E4hEkirmT7Tbf8ROu9WcKEkDyHGs4pZlY1mALn0cku6KgLXb3mqoZDp1kAKpknac b8Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=j1RYsPISHcQmqkfg0bCXBflgdHOzA77Z6HtOczxpsOA=; b=a6HRdYAe8DfV4QHudUfFOMZtHoWRFLTtG+Eb7dT0KIuhNJuj+PQYMm7/KBAUJa14Rf VGXu8RYH+CtnAVX00ZBBCN5vP89OFghXSnoBG+oeExHqjwSvz/Bz3Y9gG6pyk4Nq6l5f VQyYECKd0pPihudTNjnA0IqETxsW2vgw9YbFlt7RIWJ4x9lqfv+HiQEf1pyJ/WUkPb4z kzXjqK6RiZuragcbZupBg//9CyfHsY9PBq4G4xHDXuAKekghNpfUI8MR+nCBmpV4f3AF XZ+qu5p7N1GuHDiTsZOdH32iFpfxrqzWsxpsiyrTDa0SnvBeT24RYvW5wVyW96ehjhCq D03Q== X-Gm-Message-State: ACgBeo1C2tpOM9MsoVNYrSDGjYYDYAhgYISQMRLMkg1G1EKCyWQobrKI QyzHl060eVscyoE8HMg+anBxqmOSWUFMVQ== X-Google-Smtp-Source: AA6agR7k9cKLB8kIcViCK2/5pBfmY6lEk8lgzx52E4Mp5maqoGBN0DZhqD8ngM76a2XPpj+8gZqeKQ== X-Received: by 2002:a05:6122:817:b0:377:59fa:3193 with SMTP id 23-20020a056122081700b0037759fa3193mr9556091vkj.4.1660671279069; Tue, 16 Aug 2022 10:34:39 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , "Edgar E . Iglesias" Subject: [PATCH for-7.2 v3 02/20] hw/microblaze: set machine->fdt in microblaze_load_dtb() Date: Tue, 16 Aug 2022 14:34:10 -0300 Message-Id: <20220816173428.157304-3-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::a30; envelope-from=danielhb413@gmail.com; helo=mail-vk1-xa30.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660671766674100001 Content-Type: text/plain; charset="utf-8" This will enable support for 'dumpdtb' and 'info fdt' HMP commands for all microblaze machines that uses microblaze_load_dtb(). Cc: Edgar E. Iglesias Signed-off-by: Daniel Henrique Barboza --- hw/microblaze/boot.c | 11 ++++++++++- hw/microblaze/meson.build | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c index 8b92a9801a..e9ebc04381 100644 --- a/hw/microblaze/boot.c +++ b/hw/microblaze/boot.c @@ -39,6 +39,8 @@ =20 #include "boot.h" =20 +#include + static struct { void (*machine_cpu_reset)(MicroBlazeCPU *); @@ -72,6 +74,7 @@ static int microblaze_load_dtb(hwaddr addr, const char *kernel_cmdline, const char *dtb_filename) { + MachineState *machine =3D MACHINE(qdev_get_machine()); int fdt_size; void *fdt =3D NULL; int r; @@ -100,7 +103,13 @@ static int microblaze_load_dtb(hwaddr addr, } =20 cpu_physical_memory_write(addr, fdt, fdt_size); - g_free(fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D fdt; + return fdt_size; } =20 diff --git a/hw/microblaze/meson.build b/hw/microblaze/meson.build index bb9e4eb8f4..a38a397872 100644 --- a/hw/microblaze/meson.build +++ b/hw/microblaze/meson.build @@ -1,5 +1,5 @@ microblaze_ss =3D ss.source_set() -microblaze_ss.add(files('boot.c')) +microblaze_ss.add(files('boot.c'), fdt) microblaze_ss.add(when: 'CONFIG_PETALOGIX_S3ADSP1800', if_true: files('pet= alogix_s3adsp1800_mmu.c')) microblaze_ss.add(when: 'CONFIG_PETALOGIX_ML605', if_true: files('petalogi= x_ml605_mmu.c')) microblaze_ss.add(when: 'CONFIG_XLNX_ZYNQMP_PMU', if_true: files('xlnx-zyn= qmp-pmu.c')) --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660671559; cv=none; d=zohomail.com; s=zohoarc; b=Z7tjp/lS2XMqswGNHu7kkz04cRov8ai1j6t+VTa71yxa92gaUUrNgs1i76pcRq5Avs2kRAwBP/xNFswwT4lKLDg83zu1gHYza+HuL/kiEwMNjlk8kG9XsGldQG8a7/NpZAZs1BymwkEIN6Igdkji1p5J/SP5ZYQuRk0GR5RsAR8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660671559; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4f24mixCYIhi0sIPdZyXjyavjHpNtJ1OrG02fjTafCg=; b=EfCP5+i9IQ7nluk2y4ZHDWA+HaXv+cvilqfbq7KbLnaADQfjQ7blWPaviA6w6b+W74JOHXxx0rRmDIPp/odzPcc/rxPPmavvURT8WUlPsGAlTtzDcfSYuZfTgt8Jw8OIp/dLgtmrBfM7qEih4Bh//pNjZuFW4VH+GQ7nWsBFbq0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660671559142985.6075279695336; Tue, 16 Aug 2022 10:39:19 -0700 (PDT) Received: from localhost ([::1]:44248 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0X8-0000FI-5s for importer@patchew.org; Tue, 16 Aug 2022 13:39:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36036) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0Sj-0004ls-S1; Tue, 16 Aug 2022 13:34:46 -0400 Received: from mail-vs1-xe31.google.com ([2607:f8b0:4864:20::e31]:39686) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Si-0002NQ-B3; Tue, 16 Aug 2022 13:34:45 -0400 Received: by mail-vs1-xe31.google.com with SMTP id c3so10818521vsc.6; Tue, 16 Aug 2022 10:34:42 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=4f24mixCYIhi0sIPdZyXjyavjHpNtJ1OrG02fjTafCg=; b=ZCbDpzzIwTMA67wU7jkNrFhX7LbpqYUFkh4TxlyEOr6htH9moEtCjTBc5iKuT3lvNp KQeA3Qsu5y/JfVzlZTJTkXj94Nqt4lAeunczytIOpBN1MSNWVC8Mn3hm/ABxLcMUa3Ci nfrtjwRrzMN3B1fbhMFDKD5c3+ScZUXcs0oB5qvUPBPWHYbuKh2c9nphHYcUKAifVokh s+AK+FiFLpC0/rOwu7La+VGHYR7cZ2UIVB1HJHKigZyi5b6iCxBMDBule7UxOg5ztAoJ mLXf90CS+oRO+XPfKktE5gD58QrvgMV4ljyrrm/UuyS7ZpKKNSnlaaItZGOjgQKv2+yd 7keA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=4f24mixCYIhi0sIPdZyXjyavjHpNtJ1OrG02fjTafCg=; b=xdMUNPQz2IkvfZyOS/ygn4g6uY4oG14CtzQQ/7HOf+HcVhxeCcVkJWzv4xyibYkuyL qDzIn0uN4VqSfSLX+nCzb9JmSlNhbZuvrux6xHxnu8cLdDQG8ZBo+eAm5Ol0aHCjwm32 eX4smDMCJspYOewJIhS4rMkfwKc03+/TUYXhH1MR7Bv86W7/g7tJ7CTutKMCHEzDP6w0 h5ccS1AH/GEKb61cNDd6biPQmAVpHoJq4EvJHa9be38t5YsP4EntUg5umE29F72m+o2H 3AaahqEQz5w63IVxTFbAl3OZIHRN0+6sWaDsHZQ/J9jGge6GUhasynNfu9JayHLXiC9Y 4Dog== X-Gm-Message-State: ACgBeo2rE8gXuS68o2FdeohrSDC/bN1hhdi3DPec15WaPwLzkvBCu9/y gznziBQgo/tfiVOmvmrXzc6gVRUqsBQYZQ== X-Google-Smtp-Source: AA6agR5gzc0JQjCAPzb7F5I1K0eJ3Gx2YSdD/ZZNPRqWIemp6zwz70VuepV4JHWeP2GBLbdlAImOLw== X-Received: by 2002:a05:6102:31bc:b0:388:454a:7961 with SMTP id d28-20020a05610231bc00b00388454a7961mr8755346vsh.16.1660671282147; Tue, 16 Aug 2022 10:34:42 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , Chris Wulff , Marek Vasut Subject: [PATCH for-7.2 v3 03/20] hw/nios2: set machine->fdt in nios2_load_dtb() Date: Tue, 16 Aug 2022 14:34:11 -0300 Message-Id: <20220816173428.157304-4-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::e31; envelope-from=danielhb413@gmail.com; helo=mail-vs1-xe31.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660671560789100001 Content-Type: text/plain; charset="utf-8" This will enable support for 'dumpdtb' and 'info fdt' HMP commands for all nios2 machines that uses nios2_load_dtb(). Cc: Chris Wulff Cc: Marek Vasut Signed-off-by: Daniel Henrique Barboza --- hw/nios2/boot.c | 11 ++++++++++- hw/nios2/meson.build | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hw/nios2/boot.c b/hw/nios2/boot.c index 21cbffff47..db3b21fea6 100644 --- a/hw/nios2/boot.c +++ b/hw/nios2/boot.c @@ -43,6 +43,8 @@ =20 #include "boot.h" =20 +#include + #define NIOS2_MAGIC 0x534f494e =20 static struct nios2_boot_info { @@ -81,6 +83,7 @@ static uint64_t translate_kernel_address(void *opaque, ui= nt64_t addr) static int nios2_load_dtb(struct nios2_boot_info bi, const uint32_t ramsiz= e, const char *kernel_cmdline, const char *dtb_file= name) { + MachineState *machine =3D MACHINE(qdev_get_machine()); int fdt_size; void *fdt =3D NULL; int r; @@ -113,7 +116,13 @@ static int nios2_load_dtb(struct nios2_boot_info bi, c= onst uint32_t ramsize, } =20 cpu_physical_memory_write(bi.fdt, fdt, fdt_size); - g_free(fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D fdt; + return fdt_size; } =20 diff --git a/hw/nios2/meson.build b/hw/nios2/meson.build index 6c58e8082b..22277bd6c5 100644 --- a/hw/nios2/meson.build +++ b/hw/nios2/meson.build @@ -1,5 +1,5 @@ nios2_ss =3D ss.source_set() -nios2_ss.add(files('boot.c')) +nios2_ss.add(files('boot.c'), fdt) nios2_ss.add(when: 'CONFIG_NIOS2_10M50', if_true: files('10m50_devboard.c'= )) nios2_ss.add(when: 'CONFIG_NIOS2_GENERIC_NOMMU', if_true: files('generic_n= ommu.c')) =20 --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660671847; cv=none; d=zohomail.com; s=zohoarc; b=elD9mRImyQISVxCV+iPQWkZd2riJDm7T86gjyjin331YA13KGz88yNdETdKmCCsrvK7rkNZ+4Oqf+ucv2RMYHe7I4DkEYs1vivS38BJnPOTw0goqb3M8w/dCUUVKFeiGdl9BtyQMFok63Q1j/Nm/zCXVhqTBRL6esHPu3sLcmMk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660671847; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=W3OSa9MXxQstpQEShZr7qGq0YKfPJLRHYk7eRBvuzgA=; b=WM/WGOnSxsi9XoCNceVmyC4ytO3ni1gQ8x2i7viF+IGZRCTKn3oWswr34gzSIz3OiGm1BvXPGSJMd3rK5TA5//T9tkG/nBtoCrdEmEcwrZKcINHYgLZqqIK6c/vRwLIq1ACzBNqg+LAvBXhkF7wYPcCfk1n5e70TP24HBI3R2Eg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660671847565102.8086441632014; Tue, 16 Aug 2022 10:44:07 -0700 (PDT) Received: from localhost ([::1]:37932 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0bm-0006F6-Jb for importer@patchew.org; Tue, 16 Aug 2022 13:44:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36050) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0Sl-0004m7-Pq; Tue, 16 Aug 2022 13:34:49 -0400 Received: from mail-ua1-x92a.google.com ([2607:f8b0:4864:20::92a]:42794) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Sk-0002NZ-Co; Tue, 16 Aug 2022 13:34:47 -0400 Received: by mail-ua1-x92a.google.com with SMTP id h19so792213uan.9; Tue, 16 Aug 2022 10:34:45 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=W3OSa9MXxQstpQEShZr7qGq0YKfPJLRHYk7eRBvuzgA=; b=fnpLNNOui99Keia8ANRVfzy0GTifa1VvlR1zlqLbkPkZYOJTwnNoAV5Wt1HPhQVUDi t1rnQtqwjQQhjk3hevgFtRte8335dgYYwPDX9nD5fpCOuxDZcDch+wVvXlQ63cAxEywP 5nHaboJj+Cp8UiqBAlYIZ2d8thZE69XCT7hH0dchNiaI0ZKnBR3bLn2XJqVLByWKh+i8 DKmYaE3ewvYfroK14e/0Wo7zr8XUEYgtVaHKiafDQgaCJXdUVneWJCqZCwlRK/d3NrSt 7tUSTbL5aUQcIL/o12TfnuDomuB1gd7GqQlgK9TD95g8Ks+VN5hbR8gxnKlLFgEWpXnn dg+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=W3OSa9MXxQstpQEShZr7qGq0YKfPJLRHYk7eRBvuzgA=; b=Tqu4HfdJ+7zV1Nfkkl4+q9iX3bJRzvlJYDcINtt4Xmb853WDmmiMjrW21NHUlF3CwD qfocoZIdqCl4mVQxdYnrIXY2R+jmNVCKAt30rgJcdOW3xuSji/oZbcW5wzQoHv3w6dPI 00kCu5inJsTIaR3ubS0dHzF81fSjaiaAWVATbGdBH5X7LRuuUyUg9D2yplICkHBPZ0K1 /BEc5ctpEkihSmshakA8yUBkKui57kXhsqmGOFQR/QdFVpfkaECnCtLyno3PWu98ydci JXvvw7kaAqUnloARVtQ1B2uxvt5KqUk+OZ5WFo3wmRfOvVz5FXaY94LBhGmq4MSSNvoU N05g== X-Gm-Message-State: ACgBeo3CtRC+eBZCihAJzVkR5L/MDvF327GLbzzIhjqp22irMrvnd0N7 xhLtZHNVPCkKr8I5gaN0vVZ1hi2li6yT1A== X-Google-Smtp-Source: AA6agR4kXgxfELtgc5b9VTy5jP5tuZbCPnHeaR2MAxLcazaWrl/Cas1Wy63SzWEccmWGhUAgXKekYA== X-Received: by 2002:a05:6130:90:b0:362:891c:edef with SMTP id x16-20020a056130009000b00362891cedefmr9579698uaf.106.1660671284862; Tue, 16 Aug 2022 10:34:44 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza Subject: [PATCH for-7.2 v3 04/20] hw/ppc: set machine->fdt in ppce500_load_device_tree() Date: Tue, 16 Aug 2022 14:34:12 -0300 Message-Id: <20220816173428.157304-5-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::92a; envelope-from=danielhb413@gmail.com; helo=mail-ua1-x92a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660671849228100002 This will enable support for 'dumpdtb' and 'info fdt' HMP commands for the e500 machine. Cc: C=C3=A9dric Le Goater Signed-off-by: Daniel Henrique Barboza --- hw/ppc/e500.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 32495d0123..6197a905b8 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -47,6 +47,8 @@ #include "hw/i2c/i2c.h" #include "hw/irq.h" =20 +#include + #define EPAPR_MAGIC (0x45504150) #define DTC_LOAD_PAD 0x1800000 #define DTC_PAD_MASK 0xFFFFF @@ -600,7 +602,16 @@ done: cpu_physical_memory_write(addr, fdt, fdt_size); } ret =3D fdt_size; - g_free(fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + * + * The FDT is re-created during reset, so free machine->fdt + * to avoid leaking the old FDT. + */ + g_free(machine->fdt); + machine->fdt =3D fdt; =20 out: g_free(pci_map); --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672247; cv=none; d=zohomail.com; s=zohoarc; b=E4U5Z6DKZRPaU8Dzu2b83FCWfivQfekRIwkYH/Y60wlDNDN1NkIIag65KbWQwQk+fgQiHAbwoMARVvJ7HDOg0RE8/xPYv6qHYQQraGsawh7Cb6H5Bp0C5UMgd+oKrEGcKOBBLsf10pELEiDYselTVx6MqLucvIJxNmczYoRcUVA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672247; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zGRC8t5xyo1fW95WY3WlgHuvRK6Iwk7AWvSowUXHy2c=; b=BKvxE4jl/FqqSdZGxpBeMgurSoZWctnUpjHDwnvTdyWwl2Gkazi/rwjE5vQ7Okxp5Q4QKaCgi2U+bML9gBZ6z+pm3vCvm8IpU80qq9lI87hnJLS5uY58U/gF0Bv6sKf5t4g7CLyfrCakHj0B1/+SvBCRQmbjoC2nNzc8zY/iuMo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672247079834.9259979324871; Tue, 16 Aug 2022 10:50:47 -0700 (PDT) Received: from localhost ([::1]:52966 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0iE-0004N7-1n for importer@patchew.org; Tue, 16 Aug 2022 13:50:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36070) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0Sp-0004oe-TR; Tue, 16 Aug 2022 13:34:52 -0400 Received: from mail-ua1-x933.google.com ([2607:f8b0:4864:20::933]:36493) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Sm-0002No-Ot; Tue, 16 Aug 2022 13:34:51 -0400 Received: by mail-ua1-x933.google.com with SMTP id t21so4289683uaq.3; Tue, 16 Aug 2022 10:34:48 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=zGRC8t5xyo1fW95WY3WlgHuvRK6Iwk7AWvSowUXHy2c=; b=UP0IgouCDZ242Q5pHTdL7GG+zPTI/zm43SlNxxWP272Ouee7VKw0HWfE+yAxLtVIPa AXfQ7hugfnYCAkp9ojsKNw2wjiBRJvopRqzULmOsqzgllk1IbDV07rqzEyr3EfgBrm8a R0W+d2ehLYrXP/4BiDUQABogA+chBMyCHsc2Sfw436iDZxjnNUga7PL6y/cE/MONnwKQ SdS9wugvxNZcWyHokqWV+bKGCLQREXTkZELEyPJfJzZINN2BWNIRi6YCgrvQvBsn9TfH 7sGvvsnQsoKwu+EzKp6KzZ7ERnYo2h5l4jFxOLg4IeMmtXvn0v3K7QjCj2UHSBk866RK N0QQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=zGRC8t5xyo1fW95WY3WlgHuvRK6Iwk7AWvSowUXHy2c=; b=RemMLaVoNirDWiFcDQd9Qk1nrlx8TNph3JD+h3Lvayw4Gz+f99KYmkthHLXVoxSfcR oF9sECFSrTQyGQLu2w/5/xqsPxEpxMVFLJVXULE1bi+QZaYYHWamkSV526wKsUJuJVwY 9+YxzN55DkC4lnDKqUZHYUyGCdAeyRqSvN+f6DUDFME2Itfjki3hYo8TCDEdlmFGZMeD RLZnnt9nvbeqcNDMhTWbhxxsB1CKk8ppLl+tJDpzRf4Y2qih5KhgpZAk0EWRXlUEsS4m BsQmHsQRVH4QnodiMG2o9PGWnzFk74GuN/BMeITswQfN9jr1/p72GYxNpny5kdVXOosW +lpg== X-Gm-Message-State: ACgBeo18yXEyejy34+/JobyFEsMTh/Y4vLj5y/Noaqy63k+iqlAZTb9w apcXX17sQ2/TOCkL5HySs8DHqx94kOI27w== X-Google-Smtp-Source: AA6agR7bLjUuEIdMnPSNKjeWFfHzUWuk6H7/Pb5MGO/mWr+647cg114KJNd+dkZmmISAJttitsXY+A== X-Received: by 2002:ab0:2259:0:b0:384:e172:e16 with SMTP id z25-20020ab02259000000b00384e1720e16mr9278739uan.61.1660671287257; Tue, 16 Aug 2022 10:34:47 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza Subject: [PATCH for-7.2 v3 05/20] hw/ppc: set machine->fdt in bamboo_load_device_tree() Date: Tue, 16 Aug 2022 14:34:13 -0300 Message-Id: <20220816173428.157304-6-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::933; envelope-from=danielhb413@gmail.com; helo=mail-ua1-x933.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672248669100001 This will enable support for 'dumpdtb' and 'info fdt' HMP commands for the bamboo machine. Cc: C=C3=A9dric Le Goater Signed-off-by: Daniel Henrique Barboza --- hw/ppc/ppc440_bamboo.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index 873f930c77..9c89b23c08 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -34,6 +34,8 @@ #include "hw/qdev-properties.h" #include "qapi/error.h" =20 +#include + #define BINARY_DEVICE_TREE_FILE "bamboo.dtb" =20 /* from u-boot */ @@ -62,6 +64,7 @@ static int bamboo_load_device_tree(hwaddr addr, hwaddr initrd_size, const char *kernel_cmdline) { + MachineState *machine =3D MACHINE(qdev_get_machine()); int ret =3D -1; uint32_t mem_reg_property[] =3D { 0, 0, cpu_to_be32(ramsize) }; char *filename; @@ -116,7 +119,13 @@ static int bamboo_load_device_tree(hwaddr addr, tb_freq); =20 rom_add_blob_fixed(BINARY_DEVICE_TREE_FILE, fdt, fdt_size, addr); - g_free(fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D fdt; + return 0; } =20 --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672439; cv=none; d=zohomail.com; s=zohoarc; b=X7BuWIyPqu2ZH58qHGWRrfn5xasYEb+J+Auvf6BTBCUjS3IzNP1iqprJJO0aKip7bYZMNc9oBPCy/ZLNjIvT6tvgSZRltGwsg5uQB5FF95DBOnNzJQaHE502t4lc3oUWtLFSB4aLLsbUjXqFPeOjJ6f8eYlnO6LAaA2n/b7vtsc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672439; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MnYaB9DJvwNH6aElOaN8rUTWZD25FX0c/ifXFFw+Ai4=; b=WHB9Gx0oywZtIeqwaYIUbBYcA8oJYX/mlubd4ro3EC23r47D5bsbArWfPsMr97xeQ2JwmqLGHMoBlUzgitOatf8lOzOaTDkLnlaHwU6wAc+yqEUUHOtrLRMe7xWMYCqoNCakh1QGxG2iwqA7LbaO65bYFsI2KyOS6z3b2U81k8E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672439969468.2089310242808; Tue, 16 Aug 2022 10:53:59 -0700 (PDT) Received: from localhost ([::1]:54116 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0lK-0001oh-V0 for importer@patchew.org; Tue, 16 Aug 2022 13:53:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36078) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0Sr-0004qi-0R; Tue, 16 Aug 2022 13:34:53 -0400 Received: from mail-vk1-xa31.google.com ([2607:f8b0:4864:20::a31]:44907) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Sp-0002O0-Fq; Tue, 16 Aug 2022 13:34:52 -0400 Received: by mail-vk1-xa31.google.com with SMTP id j11so5516341vkk.11; Tue, 16 Aug 2022 10:34:50 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=MnYaB9DJvwNH6aElOaN8rUTWZD25FX0c/ifXFFw+Ai4=; b=Xr2wHXJ08u/GCEhlGa5tWbgWmka5tuGbTM3jW1sLE8PvB05sFoFpjV9XVoXid5jzxq PG5RDy9emYWKwgUtJb+F3/SU1ZXuLCVOeUXTuNI4G0NxPO4UstMJFGryN5lWXs8woJOx 7Locbgfspo0sk68zSl9PJ9MR+BCj6rzx8vgAEPnwhZwrWJw/v8k3TXAj3xaXfV7pZOQ+ LiY9DooVadvIEjCnefcaocGlNxzZlLo45dAPoFZaLx8iAHsoe4p92roWBLhcZeTDR7TT MsSfZqaTY5lvk+KEiu5SbMRc4JEdqtulzyXd9B8+f4VZS/S2RYF/P5nHeqMvyQz030Yx v+JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=MnYaB9DJvwNH6aElOaN8rUTWZD25FX0c/ifXFFw+Ai4=; b=pOOY+s1PT8t30KN7vDVRb/jQsQB3TJwf8b8c1xKuEn03s7VQBbA1zw3BKr3LvviBbG lsIYhHcTZjwxgv9LdMXkWH88XNtaYFbicLpJhX01JIVNZqPtQ8uyX7pGQW+YpNuuQr+o My+trKjWCvx9MfPuS3/as1S/nTE3/2l+MWE7rN9UyvhPZdcvGTjW/CG35O5twqrtailc ITk6U5AQ90DUfF70kT/2f5z07aDBkkrVL1rhDmKsn+4ybo23Fb4LSOp14jUlCCYjjv2e 2qWwkhO2ZjjyK7Si9bA2CYqr8pdXExb4d1LBU7svtoiziFh/wkTBHahW7n/6zCumUrzp fENA== X-Gm-Message-State: ACgBeo2eyQpBPCuZaG+J0BCZIFpwyyoRgE0UQ6uIIWYcGfd1JoYIpts5 yRICWuaDSuuT9OyuxIcrj142dKaqm+PiLA== X-Google-Smtp-Source: AA6agR4iMsdCiXN8z0M9yeM19xHotADwhQ7d7SzSbBnQaL4UBn/JQn6EN6DVz/C1RsnKlrWXHcQjVA== X-Received: by 2002:ac5:c4ce:0:b0:379:1113:bbc5 with SMTP id a14-20020ac5c4ce000000b003791113bbc5mr9377158vkl.1.1660671289980; Tue, 16 Aug 2022 10:34:49 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , BALATON Zoltan Subject: [PATCH for-7.2 v3 06/20] hw/ppc: set machine->fdt in sam460ex_load_device_tree() Date: Tue, 16 Aug 2022 14:34:14 -0300 Message-Id: <20220816173428.157304-7-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::a31; envelope-from=danielhb413@gmail.com; helo=mail-vk1-xa31.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672441546100001 Content-Type: text/plain; charset="utf-8" This will enable support for 'dumpdtb' and 'info fdt' HMP commands for the sam460ex machine. Cc: BALATON Zoltan Signed-off-by: Daniel Henrique Barboza --- hw/ppc/sam460ex.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index 0357ee077f..413a425d37 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -138,6 +138,7 @@ static int sam460ex_load_device_tree(hwaddr addr, hwaddr initrd_size, const char *kernel_cmdline) { + MachineState *machine =3D MACHINE(qdev_get_machine()); uint32_t mem_reg_property[] =3D { 0, 0, cpu_to_be32(ramsize) }; char *filename; int fdt_size; @@ -209,7 +210,12 @@ static int sam460ex_load_device_tree(hwaddr addr, EBC_FREQ); =20 rom_add_blob_fixed(BINARY_DEVICE_TREE_FILE, fdt, fdt_size, addr); - g_free(fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D fdt; =20 return fdt_size; } --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660671847; cv=none; d=zohomail.com; s=zohoarc; b=GMW4+IRLBJKuklB6jX+jTVLgNxjjuGvOJ+tiJXTvi5H88PDuvDZLNSfk3WSmruNKFsVEzi7KS7A1BoidA7bPd9qZlQyRnYt1itZizoVaC4e6dp9WFAe+S9Ftp5dvXInIQj2osPA5sCxfEXxYUmjBOUrSgoWou5H2KfztHY6vy9E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660671847; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=p2jAW4es8iU3F2bEOcgcbET+++QHlirQwEQQaRm1MtY=; b=VQTe9kXQfzUiKpQleUc6iPCaNq1clR2QfEGmv2nve8P/Pmi3Kg8hOGmc34M9D9zNhtLyEyhPxpvtpUAkuXAFJ3/WRWu0nKryZv6M8M+EZY6xGSo+QAmDKG+AxPziWOb8WJFHqsm48CZSpJSbwjGefmnia2i2JnV8CE3xUaVw4zY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660671847994483.36034501028894; Tue, 16 Aug 2022 10:44:07 -0700 (PDT) Received: from localhost ([::1]:37930 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0bn-0006Dr-0a for importer@patchew.org; Tue, 16 Aug 2022 13:44:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36100) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0Su-00052G-Gt; Tue, 16 Aug 2022 13:34:56 -0400 Received: from mail-vk1-xa2b.google.com ([2607:f8b0:4864:20::a2b]:34730) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Ss-0002OQ-W9; Tue, 16 Aug 2022 13:34:56 -0400 Received: by mail-vk1-xa2b.google.com with SMTP id b81so5533331vkf.1; Tue, 16 Aug 2022 10:34:53 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=p2jAW4es8iU3F2bEOcgcbET+++QHlirQwEQQaRm1MtY=; b=JUQc1cLK8XOXBf6sy4bNGff7sb3qA2Se+FXZwm5FE9GloRBtY40vNLyHLoWM3RWwVm 28r4MG6KlTMZ3cDOlYcWs2S9zbl+U6g+JyS5N7uYEzLncTegdeQkambgdMk89FMHYZDk Caz2NW6Z/U72smJY6+kkpkOiWsVWerBnnt0geuxbzoq3LEQUJosqyJdgjqnDBPwq7bUx 2zwSB9au7rNyI5YqMZif7pE+WsDKH6Niqw2be6ZHTaYgU8gOIAzzjlK2Cdx0t/lRJUPm lhrxyduukLf73zog7XrIQ9SQHtN2teOBsJerT97Z9GgfvHbONAT7DJ/mqsf2vcLDZC9D j4XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=p2jAW4es8iU3F2bEOcgcbET+++QHlirQwEQQaRm1MtY=; b=jaK5jxOsifYpoF4xM30EQlx6DGD7kW5wsu2gy/0/JtbkMg86tO39eC5siq24OkbDqP prPtw4C8cgbW5TFLyBLCsVyf9LKKiQ6WmnDFmfHgNN0klWG69TfiaUxBTLQRi0/23xYR unJv/ePQ2/OdKjhpKsofilGBUJXxXMKmXjewho9kELIXMpElaky/PeeIW714hhu1YA+H ZNTkSc956FiHSyQUXeRpAHEsH3cqAcK7o4YRzR4gXXVwi6AJL4YkM16aVV4Mm23K+p5a qatrbb9sTQ13r3fEpkWzn2ma4kJ8RPwyIg3bAJ87VLd9nznU4W4a0ySjDWZwHZ1OOKDY SLqw== X-Gm-Message-State: ACgBeo0LcYO+XTQEyeHa0RFgNbilCnG8DIJPaQG53hO2lEfPpMhFlN0l zlGOOzraWbHiw6muLAIP+hJ09BedayJEbA== X-Google-Smtp-Source: AA6agR5Z+WIUQ5ng5VDwD7PSXf0AsUgk0NxvVnzfvR/74QwlsHfqx9hfF6t61L8buEedsxqZebwAZQ== X-Received: by 2002:a05:6122:179c:b0:37a:5584:25e1 with SMTP id o28-20020a056122179c00b0037a558425e1mr9161649vkf.39.1660671292534; Tue, 16 Aug 2022 10:34:52 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , "Edgar E . Iglesias" Subject: [PATCH for-7.2 v3 07/20] hw/ppc: set machine->fdt in xilinx_load_device_tree() Date: Tue, 16 Aug 2022 14:34:15 -0300 Message-Id: <20220816173428.157304-8-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::a2b; envelope-from=danielhb413@gmail.com; helo=mail-vk1-xa2b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660671849203100001 Content-Type: text/plain; charset="utf-8" This will enable support for 'dumpdtb' and 'info fdt' HMP commands for the virtex_ml507 machine. Cc: Edgar E. Iglesias Signed-off-by: Daniel Henrique Barboza --- hw/ppc/virtex_ml507.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index 53b126ff48..9f4c5d85a4 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -45,6 +45,8 @@ #include "hw/qdev-properties.h" #include "ppc405.h" =20 +#include + #define EPAPR_MAGIC (0x45504150) #define FLASH_SIZE (16 * MiB) =20 @@ -153,6 +155,7 @@ static int xilinx_load_device_tree(hwaddr addr, hwaddr initrd_size, const char *kernel_cmdline) { + MachineState *machine =3D MACHINE(qdev_get_machine()); char *path; int fdt_size; void *fdt =3D NULL; @@ -197,7 +200,13 @@ static int xilinx_load_device_tree(hwaddr addr, if (r < 0) fprintf(stderr, "couldn't set /chosen/bootargs\n"); cpu_physical_memory_write(addr, fdt, fdt_size); - g_free(fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D fdt; + return fdt_size; } =20 --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660671888; cv=none; d=zohomail.com; s=zohoarc; b=QOzssFq8mRQghup+IkOs8+sRL4INU/S/YL9USA089oac3ogtx1MHhfZp3hlHnxDV374UVWLI59OwrcjmuZ7aLd2cMpUe6S0JG6b/ewNdlZx8Jr9d7a/JIkaZ0/x6Y5mqbj/3k6gk8OozEV5PHzKZ+icYbrRkAlf569YfF1KoC0Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660671888; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Fq0fN3wHA48GNTZRD1sHCkuC5wNorM3KMo/gVJyzLng=; b=YkCgbEjcB4szlgi2jTLSKBlLZkkx2PHQ3wU3xQtU0noQcJp2lJLu2FpFy1twwrS/ebs1srXREJQM097ovFh7LAp1hXeekVwZ4guDf4fVf2bDh2yf3vTXUJncpACB1Cdg8WpJf7R1tNZfm45MO5LtV8STtAPYTwj8s8+96wgcV7U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660671888298743.5256893769472; Tue, 16 Aug 2022 10:44:48 -0700 (PDT) Received: from localhost ([::1]:53144 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0cR-000778-75 for importer@patchew.org; Tue, 16 Aug 2022 13:44:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36124) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0Sw-00056F-2S; Tue, 16 Aug 2022 13:34:58 -0400 Received: from mail-vs1-xe31.google.com ([2607:f8b0:4864:20::e31]:36397) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Su-0002OY-Hu; Tue, 16 Aug 2022 13:34:57 -0400 Received: by mail-vs1-xe31.google.com with SMTP id o123so10852336vsc.3; Tue, 16 Aug 2022 10:34:55 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=Fq0fN3wHA48GNTZRD1sHCkuC5wNorM3KMo/gVJyzLng=; b=UDV1TBvBLt9FAAPKPx581L4eQlxphxGZxwFBAO9foAOCV3rd61/UEXCE9yDqSxukIv BuXPWJAXxF7Ty9mfk4oQ7zOWQEBX3eYLcJK468kPE8e2/t+MWc43goCziC4nz5+Xu4HF 0N5B9vS8vMI63RxSTesU7lL7WO821/lAPVs9vjo9fMfVAJO8nxfRSOFsKef5jaVeHvj5 C0lIxDJ6GpiFm9XJ5b4VmyRZi0GnKgWJIIxvSJuFQmURwPXY9V0rnTBdKQT2RP7C/oE1 W7bBjdzHxShevteHSNw7qniUV6/5qYYVfytypJwFtAezTQyeJZbZ5YC+2dffStE6HDpj 3emg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=Fq0fN3wHA48GNTZRD1sHCkuC5wNorM3KMo/gVJyzLng=; b=7G3Zv/H7630S2Prv8nKz74+7TBqJOSLIyNE02lj2x8cfhmxKWzYHwD9A72HJPPO64w VpR9SbxgyRyC6iJbgkAvZeiFJ3aoLhppcg1CSnwFJIY59naF5gPJTsj5lVD43brN+6r2 9ffsv/4sqlV0gE4h4pKu1jwq+Rw2obvOiHNuiwzgEmizno16UG4HiyjtE910jzCX0r0F 5iOz4PmkKQFOSwF7mxq2kP+kZtColNWYyfDXalpG8SCmYt9iDWUZyVFY+S37zo2oIdtx OiJKu0MgOwpyeDpf1eGeAdXXLgs1Z5mdYP2RsGK2dYjsM1Kkk+6t1RtbtHSeZZwV+DyA TfXw== X-Gm-Message-State: ACgBeo3Q1/F7IXP9iXrTmrxlsdr8p4ASA6T4YXIWxAFkNvaj+HDZC07B hbmQ6DMcNeXMOb9UU7mhTl3+KKApAgP5yg== X-Google-Smtp-Source: AA6agR5rSDvVkWYAYaj9a7DzARxr9eNpXHhmPelN/EtQ1UzNwCe8uCAkpfKKiqT24uFUB49BvpPcOg== X-Received: by 2002:a67:e243:0:b0:387:3666:4e67 with SMTP id w3-20020a67e243000000b0038736664e67mr8558048vse.47.1660671295215; Tue, 16 Aug 2022 10:34:55 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , BALATON Zoltan Subject: [PATCH for-7.2 v3 08/20] hw/ppc: set machine->fdt in pegasos2_machine_reset() Date: Tue, 16 Aug 2022 14:34:16 -0300 Message-Id: <20220816173428.157304-9-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::e31; envelope-from=danielhb413@gmail.com; helo=mail-vs1-xe31.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660671889520100001 Content-Type: text/plain; charset="utf-8" We'll introduce QMP/HMP commands that requires machine->fdt to be set properly. Cc: BALATON Zoltan Cc: qemu-ppc@nongnu.org Signed-off-by: Daniel Henrique Barboza --- hw/ppc/pegasos2.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 61f4263953..624036d88b 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -331,6 +331,13 @@ static void pegasos2_machine_reset(MachineState *machi= ne) =20 vof_build_dt(fdt, pm->vof); vof_client_open_store(fdt, pm->vof, "/chosen", "stdout", "/failsafe"); + + /* + * Set the common machine->fdt pointer to enable support + * for 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D fdt; + pm->cpu->vhyp =3D PPC_VIRTUAL_HYPERVISOR(machine); } =20 --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672440; cv=none; d=zohomail.com; s=zohoarc; b=VO1K0MLMyofKJnKCPWA7g90buHWDjVem5ifXquxKFsnMqtXKEZfWvF102YmG8cGBGstsCXdfPpz6rKkO5rSfLf4KZQsQMta91UgQDmUTfmjU6917cnURQX863kzYzK6KwHt2E8+RRTZpl271roJlqUl3HXteSrFtaslo3tf102c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672440; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+tgSxhNIGYEobQmCYPQhC6Jsb/JEojThXZIWNcaw8QA=; b=DDG/MIfnr7oxQR0tRoF5PI9FqI2ibHMKdUiN14t0hpfhyPblZegFyC0QVPqTfeuCZrxRXD15dcuFUNGTa0aHJVdGpwQr9UO2xMTtcbtTOIavQAKKF1VJP5BZ6cGj/z6cvaZtohA8l1n69ER47YYQ3mEOAsiVe2OJyCw1gX+KCXM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16606724406921016.693601663117; Tue, 16 Aug 2022 10:54:00 -0700 (PDT) Received: from localhost ([::1]:54118 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0lL-0001tQ-Mv for importer@patchew.org; Tue, 16 Aug 2022 13:53:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36148) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0Sy-0005Ea-Oh; Tue, 16 Aug 2022 13:35:10 -0400 Received: from mail-vk1-xa31.google.com ([2607:f8b0:4864:20::a31]:44907) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Sx-0002O0-8W; Tue, 16 Aug 2022 13:35:00 -0400 Received: by mail-vk1-xa31.google.com with SMTP id j11so5516603vkk.11; Tue, 16 Aug 2022 10:34:58 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=+tgSxhNIGYEobQmCYPQhC6Jsb/JEojThXZIWNcaw8QA=; b=NMJlOMhGGsWal+5MCDocMbS+0R9gmmahaaMfSEOlJmY9sAEQR4x+ILglD5aZSR254c THJ91IhGdiXr8bC1y5bN1mRHdL00orLE/16bB3sd+d3TpBZpjJsMECPlmSkQ6L9OgNEi HZtQvcvRf6AZ41enalFgWUDeVR/mRK+lBf6MJPWQbG/URuEE6ZrKPpdzVM/fxIxUT6iB ElPi7U9Y9XAUHaIV6ADsDFUio96GtCJKGdZoOfOozRYpK0JG6fHvvoP9mQf2bAhJ4IGh HQfLikO8JOTaYWhwvjKhRL/g/7x3+HUJkVgASsblbIajCUTjvOEJ1AwdDmDwDuLUkAHT 3FTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=+tgSxhNIGYEobQmCYPQhC6Jsb/JEojThXZIWNcaw8QA=; b=OsanPnVcU/XC6qAViYSxgdHbVyIdlGuLUHsc1GSCpAkvmIxhoFCwZiElATQe0c1B56 X0ckwbbyJArQxri9cEjbTbhIFPG64jGpndf2BqUnL86i1BLXLR/c9xiWgYDP8+w/qQNE nFsbkpi7TIjBUVQLrUSdb9Agz2aXaH/8L5gtIVok7NhPteaNeZuad0w7twbSnyZKyzpT T3sRixMZ1CBUTHn0ETNSaOvwbLRX+OPKutYtz5YTLI9k6fWgyc80eoBMKB8J/5pzT9b4 GPzGPwI68qn3Dm/J+trS2/b70Agqo4v1YMA3ceKmGcq5jYtu8MgtHTHxz0LoSd8cH2Pw i3rg== X-Gm-Message-State: ACgBeo259wyM859hmxAan4CMIDPhoi/gistuMJUXHP95r9dJrO1z8qIJ Lp63Si102N2nVQGpzid2eM4rRSYLfs9P3A== X-Google-Smtp-Source: AA6agR762/0460CKqkAAO4gIlTTfmMLwSHNG77DySbm5vDpRrgn7e4BLm8P7i41WxWzcksv2klt8RQ== X-Received: by 2002:a1f:9013:0:b0:377:2b95:d7a5 with SMTP id s19-20020a1f9013000000b003772b95d7a5mr9570376vkd.24.1660671297938; Tue, 16 Aug 2022 10:34:57 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , Frederic Barrat Subject: [PATCH for-7.2 v3 09/20] hw/ppc: set machine->fdt in pnv_reset() Date: Tue, 16 Aug 2022 14:34:17 -0300 Message-Id: <20220816173428.157304-10-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::a31; envelope-from=danielhb413@gmail.com; helo=mail-vk1-xa31.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672441553100002 This will enable support for 'dumpdtb' and 'info fdt' HMP commands for all powernv machines. Cc: C=C3=A9dric Le Goater Cc: Frederic Barrat Signed-off-by: Daniel Henrique Barboza --- hw/ppc/pnv.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index d3f77c8367..296995a600 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -608,7 +608,13 @@ static void pnv_reset(MachineState *machine) qemu_fdt_dumpdtb(fdt, fdt_totalsize(fdt)); cpu_physical_memory_write(PNV_FDT_ADDR, fdt, fdt_totalsize(fdt)); =20 - g_free(fdt); + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' commands. Free the existing + * machine->fdt to avoid leaking it during a reset. + */ + g_free(machine->fdt); + machine->fdt =3D fdt; } =20 static ISABus *pnv_chip_power8_isa_create(PnvChip *chip, Error **errp) --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672247; cv=none; d=zohomail.com; s=zohoarc; b=QkuLlaoA0aDK5XekQOVpoFfTtq4GrK89JxlIBuQoYNeXav+jvZ7zuUhrs6kyGMWgtXHfN8ZVAu0IQpHyDaCj9y8WfMFMVjLoL90iiNR35j/bRhTXF8byFkU4rACjEPZzY2ba0v+C82cyNgdVpokMmZEAK1DE3hfaff8lvuMERD0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672247; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=i2cJpoN25K0b0XQelFh0866ucJSPtG9XYEjczJikJbc=; b=AQPSFumcT2aN/GglE0HLU/Rp0tiJ1N9SlhotJ2g3yUkU5ne3IgQRqxdgW3s68ho+nMcgopYNrV5t6JGFz51OZp/1TexUZ6Ni0PIsbyz2FYHzgHRzCtyB5Rti4cDh+P0+Jdio/5bB56mAKF9J7gpSf7b0WIkKzXDNZ3UJiHSeILg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672247414160.83809343212454; Tue, 16 Aug 2022 10:50:47 -0700 (PDT) Received: from localhost ([::1]:46874 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0iE-0004Zz-Bj for importer@patchew.org; Tue, 16 Aug 2022 13:50:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36164) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0T1-0005Er-NL; Tue, 16 Aug 2022 13:35:10 -0400 Received: from mail-vk1-xa36.google.com ([2607:f8b0:4864:20::a36]:39547) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0Sz-0002PA-RB; Tue, 16 Aug 2022 13:35:03 -0400 Received: by mail-vk1-xa36.google.com with SMTP id q191so5529650vkb.6; Tue, 16 Aug 2022 10:35:01 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.34.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:34:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=i2cJpoN25K0b0XQelFh0866ucJSPtG9XYEjczJikJbc=; b=OYA5Fzn8+UlUuEQRdq/LuNFUW7Pw9qm9GoyCMRffFCzCcEJKiVFLBAzMNxs31ycsky mFXgOV5MJSgMs8DiNFmo44hhhy/6a5RxXKZAAyDU3sOxgFBq4vjcbw1PUCDRR4six0wb Mq/X4cPxsZvgIU4FTH4hAcW5faSX6Ph1r50afG/TH3tl7eI9sN5n8sX3dON7pc1XXFyb vH3ho7erQ2x5xWJDbfjLcBTh+c/Qj2Kx0uAqCaKxf/aPnk8ei5xsCukLlUb96GLudS7P 1KCDpNP/oRGSI+WTIQcP4VKui+eOjM77t+fGbNA1xWjJXhhIXNoxnXrBqT4jAY/hh0vH FIaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=i2cJpoN25K0b0XQelFh0866ucJSPtG9XYEjczJikJbc=; b=7NnIvuioALEHtCOQlgBCuPcicsHAd1sujd5gu+MDslsJSQ6RnT5maw65npniBjaadW I/AOi5wYzbMcntGENa6GrTC5vMbM6QwsWWzphFtqdPR6G24KL7CXQV/S3c7IRDXFjuca W0s+Dovdkx3pU32bwxZ0z/agvIa97moSvCHCWIbUJmyXpjpHpQS8wH1wBmTZtBGXc5Af h/b0/tyc/1uJlBuYUvfEDLR+8kFmISfAVePotLYhFGEec1awKFmbgZJ+WtG+hn9UKhN0 ew1qs5LMcCAszWtrCN9ktSAKyLeeeAaZcDDpvTs0ju5rybXsvuhj/8vnJO5Y/uVfSvWi 5Ijg== X-Gm-Message-State: ACgBeo1qEALvebRapU/EYfjZJNhd1C6I3HQp/063gK971396eShzOoVQ jWdVnzu/U0/rAfCtwNhRIRqEYAtnRUg3vA== X-Google-Smtp-Source: AA6agR4p4TRchuNF113T/T8X90pWNf43Tr+eflg8MU04ayBrVCCfTXZ07i1ytwDCdtUSn0bxPGSDFA== X-Received: by 2002:a1f:2012:0:b0:377:1f9e:57c6 with SMTP id g18-20020a1f2012000000b003771f9e57c6mr9340907vkg.16.1660671300360; Tue, 16 Aug 2022 10:35:00 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza Subject: [PATCH for-7.2 v3 10/20] hw/ppc: set machine->fdt in spapr machine Date: Tue, 16 Aug 2022 14:34:18 -0300 Message-Id: <20220816173428.157304-11-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::a36; envelope-from=danielhb413@gmail.com; helo=mail-vk1-xa36.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672248670100002 The pSeries machine never bothered with the common machine->fdt attribute. We do all the FDT related work using spapr->fdt_blob. We're going to introduce HMP commands to read and save the FDT, which will rely on setting machine->fdt properly to work across all machine archs/types. Let's set machine->fdt in the two places where we manipulate the FDT: spapr_machine_reset() and CAS. spapr->fdt_blob is left untouched for now. To replace it with machine->fdt, since we're migrating spapr->fdt_blob, we would need to migrate machine->fdt as well. This is something that we would like to to do keep our code simpler but it's a work we'll do another day. Cc: C=C3=A9dric Le Goater Cc: qemu-ppc@nongnu.org Signed-off-by: Daniel Henrique Barboza --- hw/ppc/spapr.c | 6 ++++++ hw/ppc/spapr_hcall.c | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index bc9ba6e6dc..7031cf964a 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1713,6 +1713,12 @@ static void spapr_machine_reset(MachineState *machin= e) spapr->fdt_initial_size =3D spapr->fdt_size; spapr->fdt_blob =3D fdt; =20 + /* + * Set the common machine->fdt pointer to enable support + * for 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D fdt; + /* Set up the entry state */ first_ppc_cpu->env.gpr[5] =3D 0; =20 diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c index a8d4a6bcf0..a53bfd76f4 100644 --- a/hw/ppc/spapr_hcall.c +++ b/hw/ppc/spapr_hcall.c @@ -1256,6 +1256,14 @@ target_ulong do_client_architecture_support(PowerPCC= PU *cpu, spapr->fdt_initial_size =3D spapr->fdt_size; spapr->fdt_blob =3D fdt; =20 + /* + * Set the machine->fdt pointer again since we just freed + * it above (by freeing spapr->fdt_blob). We set this + * pointer to enable support for 'dumpdtb' and 'info fdt' + * QMP/HMP commands. + */ + MACHINE(spapr)->fdt =3D fdt; + return H_SUCCESS; } =20 --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672572; cv=none; d=zohomail.com; s=zohoarc; b=Z8IvSaJtCu4qtgI5z5eYVY5PgyWq/732RhcISvNp2pFTdpzkc1IHWV3EJ5W0a5YQrRRWxVBSV7wQtuQEDPAy1ixAskqLJssvGIeo4EKn4Tm11EL58h08Jt+WpyxRttshJ7+8Z+MnXoK+KDroW9Sn33OClxovT1b4boUprUgnVhk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672572; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=c4DO02fMggKj77kLQLbQjKWFx6/+KdtQ2bkm4VISnXU=; b=LJic78aB443bus5bIIXCLOfC0OWhIoQB1nYdTsOi0hyYcjEGJ2IP8UqpDfOrxfVwtf82Cn4tI7TDBSJB1HzVnc79hlKaqSjqUgE3X/DkII+ePcJ86G9VAn6v9ht3xF1iPBfqoWcqqLzXgUQjNVHHWXX1xsoTDIXdPSZJKlEdyWw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672572924626.9860438587646; Tue, 16 Aug 2022 10:56:12 -0700 (PDT) Received: from localhost ([::1]:49830 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0nT-0007Sr-TK for importer@patchew.org; Tue, 16 Aug 2022 13:56:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36184) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0T6-0005FQ-NL; Tue, 16 Aug 2022 13:35:13 -0400 Received: from mail-vs1-xe29.google.com ([2607:f8b0:4864:20::e29]:44835) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0T2-0002Zx-S6; Tue, 16 Aug 2022 13:35:06 -0400 Received: by mail-vs1-xe29.google.com with SMTP id s129so10821597vsb.11; Tue, 16 Aug 2022 10:35:04 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=c4DO02fMggKj77kLQLbQjKWFx6/+KdtQ2bkm4VISnXU=; b=FWj0QfX3a5RSyBxUd4rRa2SoDCrhhLYuYmLS37E4rG5twEvz5Zwu6ITldaZVqcA50b lJPoNBMUL1Sl73H8Iw1wHmOLv4C4uzq1qBq5zeMQ7RuJT8CoHfxSNz9yJJYkJ/shY21N l9206ciXH41hZBWFXtc/KoakNqq9JM0uAAEeHPoUPIUYdYKQgoYMvnW4QfiN1mPSkgVp q1/4mwbRYXY4C78eEW4Wsxcz/Ko2byCYJZZOOZAmibski3xR4Cpa/fnPaOG35HRX/Oqy LVXjn7hXJ5LiPwDc8A+nZx/grtY0ZaM4Z9+JgCuwWSJjttf9ehq4dYCZPtUjXijB0Vaz 5Xug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=c4DO02fMggKj77kLQLbQjKWFx6/+KdtQ2bkm4VISnXU=; b=J6q5pXk5brPePRPFea5cI/GNbdRQJN3yQS079XV3Gl1wOYtkRalBJZxHfm9iMrsdWi uAARxV/n7H1ivbvpdy+LlvMAGBvzfH39wkgd3msfiDUqT9CX30Gpovt0D26y3V4LspX3 Op/8nLwZVstQdLUQyqzjCrkYfzjmmWfnAoMC72ktwnFYT9uI8dfGq+U2W3LXR8VHvZJR 5Z3FIwrxMpcMwg2wVIjlfgWAjp6f1QUZAS2rxxx6RqEXKcjpAkxjZ++EnEWvxSTgnZh1 y11KcovLsuwOxMwexCZwm/pjde6uI9NKpg/IEPJtzFK7MdmkG3lK/vuaOuFn5CdDFe8i h0uQ== X-Gm-Message-State: ACgBeo3B55LTbMaOsC4qtqj37R6S6SoYzBpoNJVoEkr8gMgJaRVr/p5u i/+bbknQzujxiscwgt5xd8CYwxbc8cvumw== X-Google-Smtp-Source: AA6agR6a+Q0jTNAkaFTeGVky9JT+gQ0LsXghOTOL8eGC1O6p+aOsWTlt4CaBHLCBVhWz83NenyramA== X-Received: by 2002:a05:6102:3313:b0:388:505d:3860 with SMTP id v19-20020a056102331300b00388505d3860mr8787563vsc.24.1660671303386; Tue, 16 Aug 2022 10:35:03 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , Alistair Francis , Bin Meng , Palmer Dabbelt Subject: [PATCH for-7.2 v3 11/20] hw/riscv: set machine->fdt in sifive_u_machine_init() Date: Tue, 16 Aug 2022 14:34:19 -0300 Message-Id: <20220816173428.157304-12-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::e29; envelope-from=danielhb413@gmail.com; helo=mail-vs1-xe29.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672575141100001 Content-Type: text/plain; charset="utf-8" This will enable support for 'dumpdtb' and 'info fdt' HMP commands for the sifive_u machine. Cc: Alistair Francis Cc: Bin Meng Cc: Palmer Dabbelt Reviewed-by: Alistair Francis Signed-off-by: Daniel Henrique Barboza --- hw/riscv/sifive_u.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index e4c814a3ea..f14d8411df 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -634,6 +634,12 @@ static void sifive_u_machine_init(MachineState *machin= e) start_addr_hi32 =3D (uint64_t)start_addr >> 32; } =20 + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D s->fdt; + /* reset vector */ uint32_t reset_vec[12] =3D { s->msel, /* MSEL pin state */ --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672848; cv=none; d=zohomail.com; s=zohoarc; b=Qrpidmj/mPng6bjNw1+Acy4qXci+Cbx8xMOHo6lrgwgfU1MeRjrC0w1xI9v6tTuLv4H+QGBxwrTAd/N68lQiWtig78dI1F2Ur8OpnIaazKzRC19Z0M0fy7DoFr18sr8f3883RhTtS9+31Q45mwNF8RvNJzKb884Mrg7SI5hmYFA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672848; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=PLxCnDavL3XAQX8RlAlWZXySX+ubp7/4OOfpwRVaIdY=; b=DoNZiRkZqyt0Iz9CUO1UPT4CFraSTeR9kC0pHwSVNONTndauzeZf+9tjVy7MJjV0zQ7vYFuiqnHbiMWE1esa2n9Wye6E4ViPD9HV23xncGBwN5oBsQP3kohobQEVEuColyBwvXIvAhhTzYlwlxUFe/Pz/sOhUfXnceG9FE9oSJs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672848372511.37061170022037; Tue, 16 Aug 2022 11:00:48 -0700 (PDT) Received: from localhost ([::1]:60176 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0rv-0005Ee-1H for importer@patchew.org; Tue, 16 Aug 2022 14:00:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0T8-0005Fe-Ua; Tue, 16 Aug 2022 13:35:13 -0400 Received: from mail-vs1-xe2d.google.com ([2607:f8b0:4864:20::e2d]:35648) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0T5-0002a7-9B; Tue, 16 Aug 2022 13:35:09 -0400 Received: by mail-vs1-xe2d.google.com with SMTP id 67so10850221vsv.2; Tue, 16 Aug 2022 10:35:06 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=PLxCnDavL3XAQX8RlAlWZXySX+ubp7/4OOfpwRVaIdY=; b=VOD+RkIYfYtl2xZTUWxT4qiN0Lf3SVoH+8hIvS2w36ma5TZONck8xPWV6WRk0IRdns myObKBcpDD+8bG2UOM5CZ/Jom8/rQ3sfdmyp0DnSsNhObpH2UpziK0T+wfgLS9PyC1M2 XgdtCtCaOKWAHeJEFITg5Oegll3HZJUYb9pyzQn4ChxBWmiBzYTv/BmIRvA7DQuoprrM 1yF1noZUxSKOlD/41+32nLZMzHR9FcGiG4XPU5jXZkQvbEVmdhEIdNGl20eyWFVYW6V4 GsWHfQPfhGGRYVOyaSKUF2/xf6P/TyCIQx2GDWXV/yaX8MGvGIx8/YSlEynOQDou0Ur6 xNoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=PLxCnDavL3XAQX8RlAlWZXySX+ubp7/4OOfpwRVaIdY=; b=Wj1fY+b/c3p/bhPJAJt1MBHfh58Nsc51tChaskSVmG16+9x5ebeC3yNGBZ7Ll+m3fE IQH3fuzqL6ArwSSIclREfsCrSTSs3PQXs/GGnKSwJyfXc6DoxHtAI26LLy8+Rfhzsl5Y oCloCiPTRzCrTfE5ndIIcBO8DFFlYfPq8jOopoEM9Y0AciAZYPdABNbLrnyObXu+qJu2 bLWNt1y2vB7M+hNcCvBHbBvT8sr3xpFj/CHmgYm7mao60rku/+tU3icbKRjrG/c9YDHY oDFYFG0giJMmt9cIBiZR1ZtkO48NVYxaVYX7qzCcDiktBqboV7omT7meGa+9LhDe7ZSJ xjFw== X-Gm-Message-State: ACgBeo32jjQTuxAp54gsvRMXJyLzcG4Nbq293DVGOyYNHxFs3if00qhU iSR/X6Bh8gbh2b218vKWZF2x2jYxoAWQJQ== X-Google-Smtp-Source: AA6agR44x5qa8AWUO7iLukpyBFRR2UdDRCexSS3uCLEswC8s8xcDWByKdUwXpatFOYE71SDAW2o/wg== X-Received: by 2002:a67:a245:0:b0:357:2f52:f324 with SMTP id t5-20020a67a245000000b003572f52f324mr9162502vsh.50.1660671305946; Tue, 16 Aug 2022 10:35:05 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , Palmer Dabbelt , Bin Meng Subject: [PATCH for-7.2 v3 12/20] hw/riscv: set machine->fdt in spike_board_init() Date: Tue, 16 Aug 2022 14:34:20 -0300 Message-Id: <20220816173428.157304-13-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::e2d; envelope-from=danielhb413@gmail.com; helo=mail-vs1-xe2d.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672849465100001 Content-Type: text/plain; charset="utf-8" This will enable support for 'dumpdtb' and 'info fdt' HMP commands for the spike machine. Cc: Palmer Dabbelt Cc: Alistair Francis Cc: Bin Meng Reviewed-by: Alistair Francis Signed-off-by: Daniel Henrique Barboza --- hw/riscv/spike.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index e41b6aa9f0..17f517bfa6 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -40,6 +40,8 @@ #include "sysemu/device_tree.h" #include "sysemu/sysemu.h" =20 +#include + static const MemMapEntry spike_memmap[] =3D { [SPIKE_MROM] =3D { 0x1000, 0xf000 }, [SPIKE_HTIF] =3D { 0x1000000, 0x1000 }, @@ -304,6 +306,13 @@ static void spike_board_init(MachineState *machine) /* Compute the fdt load address in dram */ fdt_load_addr =3D riscv_load_fdt(memmap[SPIKE_DRAM].base, machine->ram_size, s->fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D s->fdt; + /* load the reset vector */ riscv_setup_rom_reset_vec(machine, &s->soc[0], memmap[SPIKE_DRAM].base, memmap[SPIKE_MROM].base, --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672586; cv=none; d=zohomail.com; s=zohoarc; b=l5d/DTJ9xwe829rVmCP6FAn0cA5VTqbYD/YqQV9+61jcoXIAqF7ubxxo0pKuTdWipQl+3Nh7btIMQmTkaf4jp7XHKe1ij+xWxKd0w37xXNOiWYsiWa4XfAl79XH+OyY2PZ3I8L4hyH4OAxDa8VWTb307CsvluNLXHgQwN4p8wmg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672586; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=VjEUJrauZWG7jLw/LnT3q5WD0y/yipGHIYjGqvGy4S4=; b=RfStGrQCR8YBwVfXuk/4OS93C6+HpLCqDMVpK61LtxjYJb0RnFqsHKzZfV1lfEBEoAMtgC+7un9xnQdFlYvehTs41ved1BgGOas0/2Z2WCAGT9PuvJBmPk/puOUkCL4wL9JpDW0Txfn8q2yoAA++l0SUp5CqqEYGcn3btQjASho= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672586259669.1648980239352; Tue, 16 Aug 2022 10:56:26 -0700 (PDT) Received: from localhost ([::1]:35098 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0nh-000809-AG for importer@patchew.org; Tue, 16 Aug 2022 13:56:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36238) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0TA-0005Fg-89; Tue, 16 Aug 2022 13:35:13 -0400 Received: from mail-ua1-x92d.google.com ([2607:f8b0:4864:20::92d]:44941) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0T7-0002aR-Mk; Tue, 16 Aug 2022 13:35:11 -0400 Received: by mail-ua1-x92d.google.com with SMTP id b4so4276314uaw.11; Tue, 16 Aug 2022 10:35:09 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=VjEUJrauZWG7jLw/LnT3q5WD0y/yipGHIYjGqvGy4S4=; b=mMCJYxf0ZCLpuTkk87jq68lMf4KWVSGnaBO376GZKm7iX7UvnFk4JZi0U8Vg6XuLEM V2fyzsm1QzPqd5isKtSiiYx1es9ejMlMWoVF9jG6bv3Qexql9pg5oslSiHd5/uonVy+P R8yFnl08IePo7cqOZiXemA32vmsFJi/KVdpjFs9QxdWVSkhmXV/mxnF+WaSRGZ867gGx GkRBwqkJDRv7GkNtxh6ikG9SKSE77CuNMfPEHA8mdXZl8OkFIRahG1BC8K8BJA8nCN65 tzZcngC9sBcYMcsC+srRq4C/rMkkGXuK5e0Q7cgwKN3XApV6odBdrMOUFHoT1xc2o7+F 40Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=VjEUJrauZWG7jLw/LnT3q5WD0y/yipGHIYjGqvGy4S4=; b=sNbESssK163EmsxqFO/yyhipzWtS73pegYLmFDIlJpOdeTMe7+E9qBewZfWgoQMZQf lMQlDhkoW6hlSblqXFOdq6IwyprFLpycG+k8cgIWGq4gmfUrVpoYoDS134+L46U6E2F1 FGV/V29KffcuIk6OdefV2UQljq43uxKfFC/ZYsla4vbk/XCasBG7NkfjRMKMsm78OI32 GzV6+hin1a+zQsfPOBoMIVUNvy5OGgCaQv1cA385OgcIQoR0FjSnNArk6eIT/nKFjsKb q87LJ3GrOy4wKLB5S7+n2NtkNDJgv2V2Je0smghZg9IRjUntXpF7u/Zwb+EZezpNiG7u wb3w== X-Gm-Message-State: ACgBeo3cNCoxFS2w9AUfNulJy3HOJJ7iWi/cjFXHy5JVTVSpurJfSxE3 hQ6vslhIqHVpVzneqvMBNrCapOce7MLz6A== X-Google-Smtp-Source: AA6agR6bPSA27VWPEIkHyDpSUtqa2fLYkfND1aFKVBCOtV0i1y+CzlR/U5kQRfOpvwTZ15AfcSjJKg== X-Received: by 2002:ab0:71d1:0:b0:392:c8bb:991b with SMTP id n17-20020ab071d1000000b00392c8bb991bmr1252491uao.71.1660671308285; Tue, 16 Aug 2022 10:35:08 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza Subject: [PATCH for-7.2 v3 13/20] hw/xtensa: set machine->fdt in xtfpga_init() Date: Tue, 16 Aug 2022 14:34:21 -0300 Message-Id: <20220816173428.157304-14-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::92d; envelope-from=danielhb413@gmail.com; helo=mail-ua1-x92d.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672588433100001 Content-Type: text/plain; charset="utf-8" This will enable support for 'dumpdtb' and 'info fdt' HMP commands for all xtensa machines that uses a FDT. Signed-off-by: Daniel Henrique Barboza --- hw/xtensa/meson.build | 2 +- hw/xtensa/xtfpga.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/hw/xtensa/meson.build b/hw/xtensa/meson.build index 1d5835df4b..ebba51cc74 100644 --- a/hw/xtensa/meson.build +++ b/hw/xtensa/meson.build @@ -6,6 +6,6 @@ xtensa_ss.add(files( )) xtensa_ss.add(when: 'CONFIG_XTENSA_SIM', if_true: files('sim.c')) xtensa_ss.add(when: 'CONFIG_XTENSA_VIRT', if_true: files('virt.c')) -xtensa_ss.add(when: 'CONFIG_XTENSA_XTFPGA', if_true: files('xtfpga.c')) +xtensa_ss.add(when: 'CONFIG_XTENSA_XTFPGA', if_true: [files('xtfpga.c'), f= dt]) =20 hw_arch +=3D {'xtensa': xtensa_ss} diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c index 2a5556a35f..9e2f911caa 100644 --- a/hw/xtensa/xtfpga.c +++ b/hw/xtensa/xtfpga.c @@ -50,6 +50,8 @@ #include "hw/xtensa/mx_pic.h" #include "migration/vmstate.h" =20 +#include + typedef struct XtfpgaFlashDesc { hwaddr base; size_t size; @@ -377,7 +379,12 @@ static void xtfpga_init(const XtfpgaBoardDesc *board, = MachineState *machine) cur_tagptr =3D put_tag(cur_tagptr, BP_TAG_FDT, sizeof(dtb_addr), &dtb_addr); cur_lowmem =3D QEMU_ALIGN_UP(cur_lowmem + fdt_size, 4 * KiB); - g_free(fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb' and 'info fdt' QMP/HMP commands. + */ + machine->fdt =3D fdt; } #else if (dtb_filename) { --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672273; cv=none; d=zohomail.com; s=zohoarc; b=js5icAZgzUOGci7CEynBc3vcXYmBOJvMPh/pRenw9IafyNbAZToFGBpFz1abEDMFrHv24PJITMr4b4fH4moGBMH5fvWP2Cmo+K98Wr1N/eTXTYkXnEg2IEv94EOHmhhvYZAtjXUpdrl0WUp7uHkivIZs8KfZSV3Kyw7Xw7CdNyQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672273; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=LX2fvzosDT8x2CkZedC1X75+9u5zvFnz0DG+T0RB/KA=; b=f/TopZ8sd/BZ7+dxAexrGVLUPCjoF2ZNA1V2lc90jj3JkeRNdIB9Xgp+iJYN2uyx2DIrLPgf9AstV/YV5egTFVChD1NErLZLV8mnwoZyWr0wXVlVaFECdOFhKZlU7LqQsER+v3sAKTnTw306+m7c6+gwHvv3qW6LhM70YhHyjsU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672273332384.76542723336104; Tue, 16 Aug 2022 10:51:13 -0700 (PDT) Received: from localhost ([::1]:43176 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0ie-00050m-CK for importer@patchew.org; Tue, 16 Aug 2022 13:51:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36252) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0TC-0005H5-1f; Tue, 16 Aug 2022 13:35:14 -0400 Received: from mail-ua1-x935.google.com ([2607:f8b0:4864:20::935]:33369) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0TA-0002am-7V; Tue, 16 Aug 2022 13:35:13 -0400 Received: by mail-ua1-x935.google.com with SMTP id b22so3269753uap.0; Tue, 16 Aug 2022 10:35:11 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=LX2fvzosDT8x2CkZedC1X75+9u5zvFnz0DG+T0RB/KA=; b=MOt6T8G39DqSstKP7t+NcebZ/ViME+iOozHWyjFrUgaoo0TnHvMfrRYdoLiA2CQyDC zEBKGuSyrifUb4+sakQFUbvbo/jVYOgaUbvM897ileBNznfxhaGDRWbsemDnylFiDzSs 1vsihxTDUSy9AhIHdNy8f9UmFtR8jsECyZbo0YBlw5IKdrGJiPqe1ycca3MJqDBKt38Z NEBPOv19xWFeL51sH8qxCAT9B4/JffGm6dInCPuD/bg4AEOeteGF4TvFlNsQ089YuNMh dJ5uiGCUsRtj5tJRtfzJECpXI1LLT+npsz/mDMDnP8Scsk4EQU/yyB46Of9Ok7eSgJ0U IoPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=LX2fvzosDT8x2CkZedC1X75+9u5zvFnz0DG+T0RB/KA=; b=q6Cbm7Nn+UAYi5eYdvY2G6SmQ9gZHx2mE7hm+043tZPSuCa/cBtdED5zpA/gEGA6Qs p4j8Te9ywqRQKbMgu4w+6mo4n75W3dntaCws/oVVGeRyEnkb9c2jxQEEfOrxUbDs9NEe rb7HQinUktXW3bDX+8ne3OYhU2NvhHHaPWD+YkZSxu3HftniRPTX3YH447pejS49ssyU mG1GNKnzeb/3L3fMGMIuQVi45h0HS1XDMIMuf6OYRteY56cfgxWRgifDa1ZkEqc0pPIt xrfC7MJd27beZb+63nkuTFNeiKre9TB53Vx9CmCszrhlOmB64avsAoGODGCnBX8L816P PvwQ== X-Gm-Message-State: ACgBeo2yzdNF7Ovg8VMIC4RT1AjV1AtU5fiyynEpoYtBlpZez/Vbrdo6 KQ4ZFcPl1LXy1f1bwyX2G8VN3X3raXY3zA== X-Google-Smtp-Source: AA6agR7tYIV1Fwi5KEqeiXVYO8eClZWGWG4nhr+yS0R31S5lBYhu4eNswWcQOJ9xrEjCfa2T8rvsCQ== X-Received: by 2002:a05:6130:291:b0:383:3b9:7024 with SMTP id q17-20020a056130029100b0038303b97024mr9378699uac.43.1660671310759; Tue, 16 Aug 2022 10:35:10 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , "Dr . David Alan Gilbert" Subject: [PATCH for-7.2 v3 14/20] qmp/hmp, device_tree.c: introduce dumpdtb Date: Tue, 16 Aug 2022 14:34:22 -0300 Message-Id: <20220816173428.157304-15-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::935; envelope-from=danielhb413@gmail.com; helo=mail-ua1-x935.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672274749100001 Content-Type: text/plain; charset="utf-8" To save the FDT blob we have the '-machine dumpdtb=3D' property. With this property set, the machine saves the FDT in and exit. The created file can then be converted to plain text dts format using 'dtc'. There's nothing particularly sophisticated into saving the FDT that can't be done with the machine at any state, as long as the machine has a valid FDT to be saved. The 'dumpdtb' command receives a 'filename' paramenter and, if a valid FDT is available, it'll save it in a file 'filename'. In short, this is a '-machine dumpdtb' that can be fired on demand via QMP/HMP. A valid FDT consists of a FDT that was created using libfdt being retrieved via 'current_machine->fdt' in device_tree.c. This condition is met by most FDT users in QEMU. This command will always be executed in-band (i.e. holding BQL), avoiding potential race conditions with machines that might change the FDT during runtime (e.g. PowerPC 'pseries' machine). Cc: Dr. David Alan Gilbert Reviewed-by: Alistair Francis Signed-off-by: Daniel Henrique Barboza --- hmp-commands.hx | 13 +++++++++++++ include/monitor/hmp.h | 1 + include/sysemu/device_tree.h | 1 + monitor/hmp-cmds.c | 12 ++++++++++++ monitor/qmp-cmds.c | 13 +++++++++++++ qapi/machine.json | 17 +++++++++++++++++ softmmu/device_tree.c | 18 ++++++++++++++++++ 7 files changed, 75 insertions(+) diff --git a/hmp-commands.hx b/hmp-commands.hx index 182e639d14..d2554e9701 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -1800,3 +1800,16 @@ ERST "\n\t\t\t\t\t limit on a specified virtual cpu", .cmd =3D hmp_cancel_vcpu_dirty_limit, }, + +SRST +``dumpdtb`` *filename* + Save the FDT in the 'filename' file to be decoded using dtc. + Requires 'libfdt' support. +ERST + { + .name =3D "dumpdtb", + .args_type =3D "filename:s", + .params =3D "[filename] file to save the FDT", + .help =3D "save the FDT in the 'filename' file to be decoded= using dtc", + .cmd =3D hmp_dumpdtb, + }, diff --git a/include/monitor/hmp.h b/include/monitor/hmp.h index a618eb1e4e..d7f324da59 100644 --- a/include/monitor/hmp.h +++ b/include/monitor/hmp.h @@ -134,6 +134,7 @@ void hmp_calc_dirty_rate(Monitor *mon, const QDict *qdi= ct); void hmp_set_vcpu_dirty_limit(Monitor *mon, const QDict *qdict); void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict); void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict); +void hmp_dumpdtb(Monitor *mon, const QDict *qdict); void hmp_human_readable_text_helper(Monitor *mon, HumanReadableText *(*qmp_handler)(Erro= r **)); void hmp_info_stats(Monitor *mon, const QDict *qdict); diff --git a/include/sysemu/device_tree.h b/include/sysemu/device_tree.h index ef060a9759..bf7684e4ed 100644 --- a/include/sysemu/device_tree.h +++ b/include/sysemu/device_tree.h @@ -136,6 +136,7 @@ int qemu_fdt_add_path(void *fdt, const char *path); } while (0) =20 void qemu_fdt_dumpdtb(void *fdt, int size); +void qemu_fdt_qmp_dumpdtb(const char *filename, Error **errp); =20 /** * qemu_fdt_setprop_sized_cells_from_array: diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index c6cd6f91dd..d23ec85f9d 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -2472,3 +2472,15 @@ exit: exit_no_print: error_free(err); } + +void hmp_dumpdtb(Monitor *mon, const QDict *qdict) +{ + const char *filename =3D qdict_get_str(qdict, "filename"); + Error *local_err =3D NULL; + + qmp_dumpdtb(filename, &local_err); + + if (local_err) { + error_report_err(local_err); + } +} diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c index 7314cd813d..8415aca08c 100644 --- a/monitor/qmp-cmds.c +++ b/monitor/qmp-cmds.c @@ -45,6 +45,7 @@ #include "hw/intc/intc.h" #include "hw/rdma/rdma.h" #include "monitor/stats.h" +#include "sysemu/device_tree.h" =20 NameInfo *qmp_query_name(Error **errp) { @@ -596,3 +597,15 @@ bool apply_str_list_filter(const char *string, strList= *list) } return false; } + +#ifdef CONFIG_FDT +void qmp_dumpdtb(const char *filename, Error **errp) +{ + return qemu_fdt_qmp_dumpdtb(filename, errp); +} +#else +void qmp_dumpdtb(const char *filename, Error **errp) +{ + error_setg(errp, "dumpdtb requires libfdt"); +} +#endif diff --git a/qapi/machine.json b/qapi/machine.json index 6afd1936b0..aeb013f3dd 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -1664,3 +1664,20 @@ '*size': 'size', '*max-size': 'size', '*slots': 'uint64' } } + +## +# @dumpdtb: +# +# Save the FDT in dtb format. Requires 'libfdt' support. +# +# @filename: name of the FDT file to be created +# +# Since: 7.2 +# +# Example: +# {"execute": "dumpdtb"} +# "arguments": { "filename": "/tmp/fdt.dtb" } } +# +## +{ 'command': 'dumpdtb', + 'data': { 'filename': 'str' } } diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c index 6ca3fad285..cd487ddd4d 100644 --- a/softmmu/device_tree.c +++ b/softmmu/device_tree.c @@ -643,3 +643,21 @@ out: g_free(propcells); return ret; } + +void qemu_fdt_qmp_dumpdtb(const char *filename, Error **errp) +{ + int size; + + if (!current_machine->fdt) { + error_setg(errp, "Unable to find the machine FDT"); + return; + } + + size =3D fdt_totalsize(current_machine->fdt); + + if (g_file_set_contents(filename, current_machine->fdt, size, NULL)) { + return; + } + + error_setg(errp, "Error when saving machine FDT to file %s", filename); +} --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672172; cv=none; d=zohomail.com; s=zohoarc; b=iYmj3CzgfYfr4S2wKDYJnvBWXUHC/Im+wEtao3plF1lgkyNy1ABOZyNnN33AzZVnsNZlrp3OqF4ksBj9NNpALEJ3CXzFBTuqXHEuaHeCq099xyHIPHoeCRx0DiVYB+soa40bRO/dkWc60vO0nMBFAnWgJp3EAmdI7gzdh3R9M9c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672172; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uU1CRQa9jDFJdCOQTtbovlFtXsejUldJ9OAQTD9CwIA=; b=meVXRzWEZOO/XXX8uOAGcXdMfyDgvS2f3NVUmU29cZl3c2xLd7aqHPTYWi+JTFedDVp50xR2hF+K2QK+5X78LC4TR2VEawV66gdhpjtmLFXG57hLXwGkEaWDnvo5/ixIoCIBRBuWgxNYDnpn3ZnJQAPiAE64EEWNTKsp8KQnHKU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672172764818.4539391805021; Tue, 16 Aug 2022 10:49:32 -0700 (PDT) Received: from localhost ([::1]:36876 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0gy-00034Z-CP for importer@patchew.org; Tue, 16 Aug 2022 13:49:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36266) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0TF-0005IK-0R; Tue, 16 Aug 2022 13:35:17 -0400 Received: from mail-vs1-xe29.google.com ([2607:f8b0:4864:20::e29]:46745) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0TD-0002bD-3K; Tue, 16 Aug 2022 13:35:16 -0400 Received: by mail-vs1-xe29.google.com with SMTP id d126so10824823vsd.13; Tue, 16 Aug 2022 10:35:14 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=uU1CRQa9jDFJdCOQTtbovlFtXsejUldJ9OAQTD9CwIA=; b=PJfyFlHF2joFMQoDjoSBGhjtRhM1dONJ/jRKkIuF6bbgWKqeCavgKk+rBjj6BE6caD Bd+sgye3X0edPhVz+yywQIz/H6NNgNvsCDPEzUkcJmAHb5l24kno7Uy/g0r/PU+0f2Wd uzTlO21bXClARwFwZXmpkArj6MIA8DTmzY05ZKxOjpL4JzVxnNXXoAx7jzLAfoqFmQm/ 7hxzS1BzAwNWM5qupvStUiKHpUlQR4mhCpXfVls/1DwUurmRtFvoItYo2Uk44VQjf9X4 FroGHD2WtMNyeEOD8RGTUSD+nKKklElYk2Xdw/LA9VkfXgWbwbBkeAhhV8Ftj0NL2XUZ Q+sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=uU1CRQa9jDFJdCOQTtbovlFtXsejUldJ9OAQTD9CwIA=; b=c0e3LYVcfSVOA8OjJgU1baiFU7mqcvsq3uoqNCPWSrx5wCmbMK8MDtnmjqJM+bA5OO BzEjb9+3q1oSONiucdK25ftxL1RxDYmnyI0X7RTzdyfodRcQ/q0HmnUgrUNzD6eOQlUZ 5GavShWifAuchVTJjaNzPGjPOTmjgy72+yd1Cy7Y10Wy9vDtYueyEnARm3JN6TStzwm+ S4ESje9/PwP3qgTvfizBEnKz7SoE4bAqwSLF6YOk45+92NvO4xP3Xaft4Awy+Wxyf+87 8CbDH/f2QKxp9KcBy6ryi2zMtySbK/6TF19r5oVxCFWhecUQFxLsYeZRO+avHaE6x0Sw uu7Q== X-Gm-Message-State: ACgBeo3AyeiCWfow0bdjQcwNxFOkYHbnsMe4KOmYcThujA2nOw3rhayS fRO4ve22Q9xHxeEQtfFcxU6RdH8Ftp+5vQ== X-Google-Smtp-Source: AA6agR648rj0wXRPW5Uspa75jxj8bep1uH4ZyU7GERIKYzky28QBreafg/9zxcZAEwrnf4m4r8fWTA== X-Received: by 2002:a67:ca98:0:b0:386:2789:bf91 with SMTP id a24-20020a67ca98000000b003862789bf91mr9453004vsl.46.1660671313632; Tue, 16 Aug 2022 10:35:13 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , "Dr . David Alan Gilbert" Subject: [PATCH for-7.2 v3 15/20] qmp/hmp, device_tree.c: introduce 'info fdt' command Date: Tue, 16 Aug 2022 14:34:23 -0300 Message-Id: <20220816173428.157304-16-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::e29; envelope-from=danielhb413@gmail.com; helo=mail-vs1-xe29.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672173492100001 Content-Type: text/plain; charset="utf-8" Reading the FDT requires that the user saves the fdt_blob and then use 'dtc' to read the contents. Saving the file and using 'dtc' is a strong use case when we need to compare two FDTs, but it's a lot of steps if you want to do quick check on a certain node or property. 'info fdt' retrieves FDT nodes (and properties, later on) and print it to the user. This can be used to check the FDT on running machines without having to save the blob and use 'dtc'. The implementation is based on the premise that the machine thas a FDT created using libfdt and pointed by 'machine->fdt'. As long as this pre-requisite is met the machine should be able to support it. For now we're going to add the required QMP/HMP boilerplate and the capability of printing the name of the properties of a given node. Next patches will extend 'info fdt' to be able to print nodes recursively, and then individual properties. This command will always be executed in-band (i.e. holding BQL), avoiding potential race conditions with machines that might change the FDT during runtime (e.g. PowerPC 'pseries' machine). 'info fdt' is not something that we expect to be used aside from debugging, so we're implementing it in QMP as 'x-query-fdt'. This is an example of 'info fdt' fetching the '/chosen' node of the pSeries machine: (qemu) info fdt /chosen chosen { ibm,architecture-vec-5; rng-seed; ibm,arch-vec-5-platform-support; linux,pci-probe-only; stdout-path; linux,stdout-path; qemu,graphic-depth; qemu,graphic-height; qemu,graphic-width; } And the same node for the aarch64 'virt' machine: (qemu) info fdt /chosen chosen { stdout-path; rng-seed; kaslr-seed; } Cc: Dr. David Alan Gilbert Signed-off-by: Daniel Henrique Barboza Acked-by: Dr. David Alan Gilbert --- hmp-commands-info.hx | 13 ++++++++++ include/monitor/hmp.h | 1 + include/sysemu/device_tree.h | 4 +++ monitor/hmp-cmds.c | 13 ++++++++++ monitor/qmp-cmds.c | 12 +++++++++ qapi/machine.json | 19 +++++++++++++++ softmmu/device_tree.c | 47 ++++++++++++++++++++++++++++++++++++ 7 files changed, 109 insertions(+) diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index 188d9ece3b..743b48865d 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -921,3 +921,16 @@ SRST ``stats`` Show runtime-collected statistics ERST + + { + .name =3D "fdt", + .args_type =3D "nodepath:s", + .params =3D "nodepath", + .help =3D "show firmware device tree node given its path", + .cmd =3D hmp_info_fdt, + }, + +SRST + ``info fdt`` + Show a firmware device tree node given its path. Requires libfdt. +ERST diff --git a/include/monitor/hmp.h b/include/monitor/hmp.h index d7f324da59..c0883dd1e3 100644 --- a/include/monitor/hmp.h +++ b/include/monitor/hmp.h @@ -135,6 +135,7 @@ void hmp_set_vcpu_dirty_limit(Monitor *mon, const QDict= *qdict); void hmp_cancel_vcpu_dirty_limit(Monitor *mon, const QDict *qdict); void hmp_info_vcpu_dirty_limit(Monitor *mon, const QDict *qdict); void hmp_dumpdtb(Monitor *mon, const QDict *qdict); +void hmp_info_fdt(Monitor *mon, const QDict *qdict); void hmp_human_readable_text_helper(Monitor *mon, HumanReadableText *(*qmp_handler)(Erro= r **)); void hmp_info_stats(Monitor *mon, const QDict *qdict); diff --git a/include/sysemu/device_tree.h b/include/sysemu/device_tree.h index bf7684e4ed..057d13e397 100644 --- a/include/sysemu/device_tree.h +++ b/include/sysemu/device_tree.h @@ -14,6 +14,8 @@ #ifndef DEVICE_TREE_H #define DEVICE_TREE_H =20 +#include "qapi/qapi-types-common.h" + void *create_device_tree(int *sizep); void *load_device_tree(const char *filename_path, int *sizep); #ifdef CONFIG_LINUX @@ -137,6 +139,8 @@ int qemu_fdt_add_path(void *fdt, const char *path); =20 void qemu_fdt_dumpdtb(void *fdt, int size); void qemu_fdt_qmp_dumpdtb(const char *filename, Error **errp); +HumanReadableText *qemu_fdt_qmp_query_fdt(const char *nodepath, + Error **errp); =20 /** * qemu_fdt_setprop_sized_cells_from_array: diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index d23ec85f9d..accde90380 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -2484,3 +2484,16 @@ void hmp_dumpdtb(Monitor *mon, const QDict *qdict) error_report_err(local_err); } } + +void hmp_info_fdt(Monitor *mon, const QDict *qdict) +{ + const char *nodepath =3D qdict_get_str(qdict, "nodepath"); + Error *err =3D NULL; + g_autoptr(HumanReadableText) info =3D qmp_x_query_fdt(nodepath, &err); + + if (hmp_handle_error(mon, err)) { + return; + } + + monitor_printf(mon, "%s", info->human_readable_text); +} diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c index 8415aca08c..db2c6aa7da 100644 --- a/monitor/qmp-cmds.c +++ b/monitor/qmp-cmds.c @@ -603,9 +603,21 @@ void qmp_dumpdtb(const char *filename, Error **errp) { return qemu_fdt_qmp_dumpdtb(filename, errp); } + +HumanReadableText *qmp_x_query_fdt(const char *nodepath, Error **errp) +{ + return qemu_fdt_qmp_query_fdt(nodepath, errp); +} #else void qmp_dumpdtb(const char *filename, Error **errp) { error_setg(errp, "dumpdtb requires libfdt"); } + +HumanReadableText *qmp_x_query_fdt(const char *nodepath, Error **errp) +{ + error_setg(errp, "this command requires libfdt"); + + return NULL; +} #endif diff --git a/qapi/machine.json b/qapi/machine.json index aeb013f3dd..96cff541ca 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -1681,3 +1681,22 @@ ## { 'command': 'dumpdtb', 'data': { 'filename': 'str' } } + +## +# @x-query-fdt: +# +# Query for FDT element (node or property). Requires 'libfdt'. +# +# @nodepath: the path of the FDT node to be retrieved +# +# Features: +# @unstable: This command is meant for debugging. +# +# Returns: FDT node +# +# Since: 7.2 +## +{ 'command': 'x-query-fdt', + 'data': { 'nodepath': 'str' }, + 'returns': 'HumanReadableText', + 'features': [ 'unstable' ] } diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c index cd487ddd4d..3fb07b537f 100644 --- a/softmmu/device_tree.c +++ b/softmmu/device_tree.c @@ -18,6 +18,7 @@ #endif =20 #include "qapi/error.h" +#include "qapi/type-helpers.h" #include "qemu/error-report.h" #include "qemu/option.h" #include "qemu/bswap.h" @@ -661,3 +662,49 @@ void qemu_fdt_qmp_dumpdtb(const char *filename, Error = **errp) =20 error_setg(errp, "Error when saving machine FDT to file %s", filename); } + +static void fdt_format_node(GString *buf, int node, int depth) +{ + const struct fdt_property *prop =3D NULL; + const char *propname =3D NULL; + void *fdt =3D current_machine->fdt; + int padding =3D depth * 4; + int property =3D 0; + int prop_size; + + g_string_append_printf(buf, "%*s%s {\n", padding, "", + fdt_get_name(fdt, node, NULL)); + + padding +=3D 4; + + fdt_for_each_property_offset(property, fdt, node) { + prop =3D fdt_get_property_by_offset(fdt, property, &prop_size); + propname =3D fdt_string(fdt, fdt32_to_cpu(prop->nameoff)); + + g_string_append_printf(buf, "%*s%s;\n", padding, "", propname); + } + + padding -=3D 4; + g_string_append_printf(buf, "%*s}\n", padding, ""); +} + +HumanReadableText *qemu_fdt_qmp_query_fdt(const char *nodepath, Error **er= rp) +{ + g_autoptr(GString) buf =3D g_string_new(""); + int node; + + if (!current_machine->fdt) { + error_setg(errp, "Unable to find the machine FDT"); + return NULL; + } + + node =3D fdt_path_offset(current_machine->fdt, nodepath); + if (node < 0) { + error_setg(errp, "node '%s' not found in FDT", nodepath); + return NULL; + } + + fdt_format_node(buf, node, 0); + + return human_readable_text_from_str(buf); +} --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672429; cv=none; d=zohomail.com; s=zohoarc; b=ZuVW+qvISkW1XatRvMbdn9gTUGq6bu0zfBAZ1l6MAqUUhj95QuYnP7nvA59A49aKc+Z7NUcS3By/r3XqEy9/N+KkUnM3MEa6KwwGoDdyUvJRT36tsSXQw2jKVkVSAA3DRkJrMmZQh8+ulUiDVO/wXrchikxxgmt490pj98IFQ1s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672429; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2G0KC9s5eloc9sWqEhAiUUFPFdVwB90hf4HNjl5dH4A=; b=K0eIf8GZTziEXrHVPNJfgDCCouZ6vnu8bHTWLv+ELrGlooszKtVKyzVPfGtwXHCkXZ11BtLKOpImKNzEUwsW3EKcrhJyHEUX2/ZVff/TtHtKzzZzfa9/OH3h0danDWk9V+u1DYpZmG8nECZ+dAGKbqYL59MZV/T6we4UmFcwE2k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672428994275.89310634276467; Tue, 16 Aug 2022 10:53:48 -0700 (PDT) Received: from localhost ([::1]:50696 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0lA-0001FD-0g for importer@patchew.org; Tue, 16 Aug 2022 13:53:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36282) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0TH-0005OJ-85; Tue, 16 Aug 2022 13:35:19 -0400 Received: from mail-vs1-xe2d.google.com ([2607:f8b0:4864:20::e2d]:35648) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0TF-0002a7-Ek; Tue, 16 Aug 2022 13:35:18 -0400 Received: by mail-vs1-xe2d.google.com with SMTP id 67so10850685vsv.2; Tue, 16 Aug 2022 10:35:16 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=2G0KC9s5eloc9sWqEhAiUUFPFdVwB90hf4HNjl5dH4A=; b=LvZkyCqzqGouay6AhTVFv/CDYdXilvQtwCaGyTe2Ljz2UWmn4fJBEh3CZwbVo3kxXT aq+vpTPJ0PJlCU7L4R3/CGrkUx89BTq0IdPSkoo+AyI4llUHQDwke/cDAMkzaVyBfykS /TtFBt1ZvtiqHOaPIogWJMA2XY4EnhRULWhOyPE9SWVuSiqM2M71KEpEOk3GjlFGa7bc 59ATC7b1qNk31QEQ4JWjMqF2799B5VGqKNZwzJwHYbkxIAnJr9RnAUifyD2DUWCnr+Tk gC8gTTO661ayhLs4oU3h0WtFFQJwlCQxAtMlDnQcOak+ig/IXbzlRTgz67cH2mGv9/tO YNdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=2G0KC9s5eloc9sWqEhAiUUFPFdVwB90hf4HNjl5dH4A=; b=SCoG3tkKNYfwPAEZemvPGINXs/ub2TG7lw8+IPSEOS8eCQG5nOyicyPAWn0IDJnwy8 AiYRX+lPH8oZugLg3p2LmoLP3giX1z48PB/lj3+bhxYhuvdH7YEBu4An0A2SMplu6856 ZSXGVZFVSwVjSlLTQ/Pa6hkyYXtgcpaPHLtsFMRAaHH9h49qrdWGSuQdLkAEA2LXsMyF EKq6tYOuwpzH/QnzPv63czkgGE8QUkjhLKeRIRYoKl69rzihlw8ebrOfpgH8OplXcN/P ePp2kUg62biv2CA+7EM0nFEAulYip4wDwJ337pr3Loc4T8ReobPws5JXjo2FS5wEt1fN DPzQ== X-Gm-Message-State: ACgBeo2J8bWtpXJl8eyrq/JWOUEVcl3z0F+FytQPPXc13JvLN4ABfrn3 aLu84UbeGBV1Ou1asmY+3M/3GdLJRO8ZTg== X-Google-Smtp-Source: AA6agR4SIy28hGEzXBroNag6q8FKGusnVN9ctZyEcOe+d5IibZ7rXXUVI0LBjx1uIN/SPOVdxxF/jw== X-Received: by 2002:a67:c30d:0:b0:370:25e1:7c with SMTP id r13-20020a67c30d000000b0037025e1007cmr9081126vsj.70.1660671316135; Tue, 16 Aug 2022 10:35:16 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza Subject: [PATCH for-7.2 v3 16/20] device_tree.c: support string array prop in fdt_format_node() Date: Tue, 16 Aug 2022 14:34:24 -0300 Message-Id: <20220816173428.157304-17-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::e2d; envelope-from=danielhb413@gmail.com; helo=mail-vs1-xe2d.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672429491100001 Content-Type: text/plain; charset="utf-8" To support printing string properties in 'info fdt' we need to determine whether a void data might contain a string array. We do that by casting the void data to a string array and: - check if the array finishes with a null character - check if there's no empty string in the middle of the array (i.e. consecutive \0\0 characters) - check if all characters of each substring are printable If all conditions are met, we'll consider it to be a string array data type and print it accordingly. After this change, 'info fdt' is now able to print string arrays. Here's an example of string arrays we're able to print in the /rtas node of the ppc64 pSeries machine: (qemu) info fdt /rtas rtas { (...) qemu,hypertas-functions =3D "hcall-memop1"; ibm,hypertas-functions =3D "hcall-pft","hcall-term","hcall-dabr", "hcall-interrupt","hcall-tce","hcall-vio","hcall-splpar","hcall-join", "hcall-bulk","hcall-set-mode","hcall-sprg0","hcall-copy","hcall-debug", "hcall-vphn","hcall-multi-tce","hcall-hpt-resize","hcall-watchdog"; } 'qemu,hypertas-functions' is a property with a single string while 'ibm,hypertas-functions' is a string array. Signed-off-by: Daniel Henrique Barboza --- softmmu/device_tree.c | 64 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c index 3fb07b537f..d32d6856da 100644 --- a/softmmu/device_tree.c +++ b/softmmu/device_tree.c @@ -663,6 +663,63 @@ void qemu_fdt_qmp_dumpdtb(const char *filename, Error = **errp) error_setg(errp, "Error when saving machine FDT to file %s", filename); } =20 +static bool fdt_prop_is_string_array(const void *data, int size) +{ + const char *str_arr, *str; + int i, str_len; + + str_arr =3D str =3D data; + + if (size <=3D 0 || str_arr[size - 1] !=3D '\0') { + return false; + } + + while (str < str_arr + size) { + str_len =3D strlen(str); + + /* + * Do not consider empty strings (consecutives \0\0) + * as valid. + */ + if (str_len =3D=3D 0) { + return false; + } + + for (i =3D 0; i < str_len; i++) { + if (!g_ascii_isprint(str[i])) { + return false; + } + } + + str +=3D str_len + 1; + } + + return true; +} + +static void fdt_prop_format_string_array(GString *buf, + const char *propname, + const char *data, + int prop_size, int padding) +{ + const char *str =3D data; + + g_string_append_printf(buf, "%*s%s =3D ", padding, "", propname); + + while (str < data + prop_size) { + /* appends up to the next '\0' */ + g_string_append_printf(buf, "\"%s\"", str); + + str +=3D strlen(str) + 1; + if (str < data + prop_size) { + /* add a comma separator for the next string */ + g_string_append_printf(buf, ","); + } + } + + g_string_append_printf(buf, ";\n"); +} + static void fdt_format_node(GString *buf, int node, int depth) { const struct fdt_property *prop =3D NULL; @@ -681,7 +738,12 @@ static void fdt_format_node(GString *buf, int node, in= t depth) prop =3D fdt_get_property_by_offset(fdt, property, &prop_size); propname =3D fdt_string(fdt, fdt32_to_cpu(prop->nameoff)); =20 - g_string_append_printf(buf, "%*s%s;\n", padding, "", propname); + if (fdt_prop_is_string_array(prop->data, prop_size)) { + fdt_prop_format_string_array(buf, propname, prop->data, + prop_size, padding); + } else { + g_string_append_printf(buf, "%*s%s;\n", padding, "", propname); + } } =20 padding -=3D 4; --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660673131; cv=none; d=zohomail.com; s=zohoarc; b=j6FW+2zA3IYB8vs8N6yIQ56w6D2Jnk09e9ja64Xr62laOCjJ0gPyjA660ubxLJKiAFROxJ2kd60nNpwlB9s870XdbXOkEpQEYz0b8/D+Jk1XV1SdateNzsIzLM+Zzabrdl1BXEP5ztPA6AJR0Wf3gpfBCNGUnLjAr1/Ub2TN4Wg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660673131; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/Vah1AuhQRScSFR5gj4+/AeA5/yJnR0p8a4S5U2NcVQ=; b=Jj4U+N0ImunrYgBkQp20qqB9QiSGSoqlg0IDdnLoIuTShwUJfFNx+YjgRXdWVbWIoInIU1BL307/ZhUAecrmay3jmyIC68lT4B0/Rjz83wPil/Z+ngjXMZXyEhnQ0JvMM0nu3DsL0wcOpakAFYN6u6SmJkh58XPOrSklbXecA3I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660673131544383.73599795492294; Tue, 16 Aug 2022 11:05:31 -0700 (PDT) Received: from localhost ([::1]:44186 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0wU-0001iv-Fx for importer@patchew.org; Tue, 16 Aug 2022 14:05:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36296) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0TJ-0005WH-LI; Tue, 16 Aug 2022 13:35:22 -0400 Received: from mail-vk1-xa36.google.com ([2607:f8b0:4864:20::a36]:40912) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0TI-0002bo-1M; Tue, 16 Aug 2022 13:35:21 -0400 Received: by mail-vk1-xa36.google.com with SMTP id c22so5516678vko.7; Tue, 16 Aug 2022 10:35:19 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=/Vah1AuhQRScSFR5gj4+/AeA5/yJnR0p8a4S5U2NcVQ=; b=HsJ11dYmxf56zpSZ96Wzrg3Ecrsz0eAIDJCkV6IboGuEKbo0XQvKQsw+o51JKhOiLx /bLLV+hK6mkE5Byf+8shNbnfCAr7OV0p5h6h7PoSZPEaQg6a38ZbSTxq9m10YZwUTMVk 1pvOlAuXHVTTXquKPIPDx6xwlcgwqNNXAVpJsMCo7tFaf1pqjb/yF8kKEWZ8t/kUfoE3 q7eaXlt8VA+dxcCzNP6SLl2QixXLYarNChsR/h/ZCTvps/GuN4/ZQ6KpFy0xJbQW/0tQ lK0WqbjKi+tAPotxp0oGRVHcSws7nFDKp2cCKqq6osouctuv5sRZiwYuSFcp/d7PM0Yi Xxng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=/Vah1AuhQRScSFR5gj4+/AeA5/yJnR0p8a4S5U2NcVQ=; b=2pFWkidKdOfQQ/LXq1kpuVffvBVwpKqhgjYEL902BpcJE9wA7oeMTmmTNWAMxxTE7C WY57PWn48jmZ1wWV3S1SJcpqHjyeKT7RBZgutrxTkr1NUdJQg4Au32Z6vhFoGds9yIxN +6Fa1yMQnJJ5Mr5VFozyazEgXkB3DLQa55nFH0lhRXAanmx9gwZGPszB9M1NvpPAcG6w PTcOgKRrQGn1+TJ6J2QPTHeZM1ty6uFd1aFs6d9iMY/cInORRw+379ql0uFVeLQaH3/h ciMW6Gmx9DgheNuh02JXvNWyXWiFUltSrrd29zdsvuv4xxlPOZDPG6JtfUsFy8yQpnkl 1pQw== X-Gm-Message-State: ACgBeo1rRlt8jtRjucjSk8kpbjQe8UruKO9vWGkqvf/t+GlJ+ok45Mv0 ItXW/k4vh/G7yQV8YWtiguMl+3qOyhKHQA== X-Google-Smtp-Source: AA6agR7Hn8wkHrKxYxKtmdZpq6X/IfDH+dZqdLpeSNkp76HYPXTVRvmf0In/djEYZE/m7DaV/I4Xew== X-Received: by 2002:a05:6122:d86:b0:37d:3fe:df43 with SMTP id bc6-20020a0561220d8600b0037d03fedf43mr9587894vkb.15.1660671318713; Tue, 16 Aug 2022 10:35:18 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza Subject: [PATCH for-7.2 v3 17/20] device_tree.c: support remaining FDT prop types Date: Tue, 16 Aug 2022 14:34:25 -0300 Message-Id: <20220816173428.157304-18-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::a36; envelope-from=danielhb413@gmail.com; helo=mail-vk1-xa36.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660673132306100001 Content-Type: text/plain; charset="utf-8" When printing a blob with 'dtc' using the '-O dts' option there are 3 distinct data types being printed: strings, arrays of uint32s and regular byte arrays. Previous patch added support to print strings. Let's add the remaining formats. We want to resemble the format that 'dtc -O dts' uses, so every uint32 array uses angle brackets (<>), and regular byte array uses square brackets ([]). For properties that has no values we keep printing just its name. The /chosen FDT node from the pSeris machine gives an example of all property types 'info fdt' is now able to display: (qemu) info fdt /chosen chosen { ibm,architecture-vec-5 =3D [00 00]; rng-seed =3D <0x9cf5071b 0xf8804213 0xbe797764 0xad3d955 0xe0c9637 0x1f= 99c61e 0xe9243741 0xe800f17d>; ibm,arch-vec-5-platform-support =3D <0x178018c0 0x19001a40>; linux,pci-probe-only =3D <0x0>; stdout-path =3D "/vdevice/vty@71000000"; linux,stdout-path =3D "/vdevice/vty@71000000"; qemu,graphic-depth =3D <0x20>; qemu,graphic-height =3D <0x258>; qemu,graphic-width =3D <0x320>; } Signed-off-by: Daniel Henrique Barboza --- softmmu/device_tree.c | 57 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c index d32d6856da..43f96e371b 100644 --- a/softmmu/device_tree.c +++ b/softmmu/device_tree.c @@ -720,6 +720,52 @@ static void fdt_prop_format_string_array(GString *buf, g_string_append_printf(buf, ";\n"); } =20 +static bool fdt_prop_is_uint32_array(int size) +{ + return size % 4 =3D=3D 0; +} + +static void fdt_prop_format_uint32_array(GString *buf, + const char *propname, + const void *data, + int prop_size, int padding) +{ + const fdt32_t *array =3D data; + int array_len =3D prop_size / 4; + int i; + + g_string_append_printf(buf, "%*s%s =3D <", padding, "", propname); + + for (i =3D 0; i < array_len; i++) { + g_string_append_printf(buf, "0x%" PRIx32, fdt32_to_cpu(array[i])); + + if (i < array_len - 1) { + g_string_append_printf(buf, " "); + } + } + + g_string_append_printf(buf, ">;\n"); +} + +static void fdt_prop_format_val(GString *buf, const char *propname, + const void *data, int prop_size, + int padding) +{ + const char *val =3D data; + int i; + + g_string_append_printf(buf, "%*s%s =3D [", padding, "", propname); + + for (i =3D 0; i < prop_size; i++) { + g_string_append_printf(buf, "%02x", val[i]); + if (i < prop_size - 1) { + g_string_append_printf(buf, " "); + } + } + + g_string_append_printf(buf, "];\n"); +} + static void fdt_format_node(GString *buf, int node, int depth) { const struct fdt_property *prop =3D NULL; @@ -738,11 +784,20 @@ static void fdt_format_node(GString *buf, int node, i= nt depth) prop =3D fdt_get_property_by_offset(fdt, property, &prop_size); propname =3D fdt_string(fdt, fdt32_to_cpu(prop->nameoff)); =20 + if (prop_size =3D=3D 0) { + g_string_append_printf(buf, "%*s%s;\n", padding, "", propname); + continue; + } + if (fdt_prop_is_string_array(prop->data, prop_size)) { fdt_prop_format_string_array(buf, propname, prop->data, prop_size, padding); + } else if (fdt_prop_is_uint32_array(prop_size)) { + fdt_prop_format_uint32_array(buf, propname, prop->data, prop_s= ize, + padding); } else { - g_string_append_printf(buf, "%*s%s;\n", padding, "", propname); + fdt_prop_format_val(buf, propname, prop->data, + prop_size, padding); } } =20 --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660673455; cv=none; d=zohomail.com; s=zohoarc; b=G6ARFFj/c5raR5elSZ09j+vpoJxuHlQTwgXM7J6xDNVCeGft51dWGF/2C4Nf5Ta1hAVVL61ox/iEnHZCeLFZDJzdXg8Ipu1C/CQT7pE2p3lJXI6LIAsCtxOsFcyCwqMoAaOgiSPgYa9S096534yoL3xUnT6caSnO7K9PsDb9inU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660673455; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4AhWXgQdV5UWDVBCcSs+Nih3/2pGxsNfFI9o/brjnD8=; b=d3YkeFCgB5p6/yY87rDDVsIhcwsx2IwbVTxX3e2AXLFgcjlJMQpBiRDwdofhZJ+3QiCHcJ4l0t1P2q22wuS5a7yVwuMw3/lB1pt8QDiVvzFy/oL+tYhDS5ElFvE6mvTWrpb2EFz6kui6L9hh0NOe8cLYCuC3C+TnZkCn84vy7CU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660673455547606.3644286952992; Tue, 16 Aug 2022 11:10:55 -0700 (PDT) Received: from localhost ([::1]:41204 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO11i-00008l-9f for importer@patchew.org; Tue, 16 Aug 2022 14:10:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36314) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0TL-0005aq-SO; Tue, 16 Aug 2022 13:35:42 -0400 Received: from mail-vs1-xe29.google.com ([2607:f8b0:4864:20::e29]:37686) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0TK-0002c2-B6; Tue, 16 Aug 2022 13:35:23 -0400 Received: by mail-vs1-xe29.google.com with SMTP id z185so1298660vsb.4; Tue, 16 Aug 2022 10:35:21 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=4AhWXgQdV5UWDVBCcSs+Nih3/2pGxsNfFI9o/brjnD8=; b=j7K41OYUQCM+uTFrfvan+mXV7+xyNw3hywcg/Df9ypjLdi/z+5WTqcTckPguSuvS3r YJLuNq5e24/Sc1Xipd/emafXvseA33R01pCvJt5Ry4pzW26h5W8qB0E0+TpSLSQ/MqqL 1VS/LsWfXjK1+xfG1TSq9oLUhR0kwE/Bxu8LhnEPUKACo3xdkrkc4NCmBJWf2i/usfyO 8JIoSFcNwa7QzB/G2yT3qElU7hDSAvtrWkmp1QCkgOlOXKGj4oJpXkoR/RrLlGbS4A9N KTTH11nN8uUzL0OK32mAD3C6OITnA2Z0pVoY5UfWc/Ge1UEg40kX30qUZqLAgQuxGJsK q+Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=4AhWXgQdV5UWDVBCcSs+Nih3/2pGxsNfFI9o/brjnD8=; b=c7TzARfZLhqqqiZVBHtGw/flAooItc4mwnF++Jb/hdiGAJLDTh6NyDu1FHabJGnEog 535W+Z+JlId56RqZjy6H2PH+mQETYxWxVeduCJaLliiH5CPCNhNt+SqqU6GOPzlzinm+ nihCy88YXQsCDfrX2smCVcRUy3alh7cj3PdoiB69rrKXN9rHPFUrjsD2SjSm6kk+1ALI UIFV8EXAuCnVPBbv2fYpvTQj96ulw1J4/adoUzlPLcBkVNH8oXx4KYhORRbK31pSu8Cf +IoPYy66qMSh8Xbub0TxBx0H5G9y+bfzGQx1n5Y5tpN5neiemH3QyhARpqlak2ZvdDk8 r+mw== X-Gm-Message-State: ACgBeo2tHjLRUHSKWA5bE/3xmEXWaXC2Bepf4gumJm1xXGT2v3BilJwa 0gwd9tbGMkAkWlR521xI9JJLhIXnNdxRZw== X-Google-Smtp-Source: AA6agR5jATQcARJlPDeEb4gEsap3HNuu8HeXPHMv+7xGsRblTPlJb1PfpXG4peqw9GNgCgl8JuSmYQ== X-Received: by 2002:a05:6102:822:b0:385:48e2:a16f with SMTP id k2-20020a056102082200b0038548e2a16fmr8193755vsb.45.1660671321028; Tue, 16 Aug 2022 10:35:21 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza Subject: [PATCH for-7.2 v3 18/20] device_node.c: enable 'info fdt' to print subnodes Date: Tue, 16 Aug 2022 14:34:26 -0300 Message-Id: <20220816173428.157304-19-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::e29; envelope-from=danielhb413@gmail.com; helo=mail-vs1-xe29.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660673456251100001 Content-Type: text/plain; charset="utf-8" Printing subnodes of a given node will allow us to show a whole subtree, which the additional perk of 'info fdt /' being able to print the whole FDT. Since we're now printing more than one subnode, change 'fdt_info' to print the full path of the first node. This small tweak helps identifying which node or subnode are being displayed. To demostrate this capability without printing the whole FDT, the '/cpus/cpu-map' node from the ARM 'virt' machine has a lot of subnodes: (qemu) info fdt /cpus/cpu-map /cpus/cpu-map { socket0 { cluster0 { core0 { cpu =3D <0x8001> } } } } Signed-off-by: Daniel Henrique Barboza --- softmmu/device_tree.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c index 43f96e371b..a6bfbc0617 100644 --- a/softmmu/device_tree.c +++ b/softmmu/device_tree.c @@ -766,17 +766,26 @@ static void fdt_prop_format_val(GString *buf, const c= har *propname, g_string_append_printf(buf, "];\n"); } =20 -static void fdt_format_node(GString *buf, int node, int depth) + +static void fdt_format_node(GString *buf, int node, int depth, + const char *fullpath) { const struct fdt_property *prop =3D NULL; + const char *nodename =3D NULL; const char *propname =3D NULL; void *fdt =3D current_machine->fdt; int padding =3D depth * 4; int property =3D 0; + int parent =3D node; int prop_size; =20 - g_string_append_printf(buf, "%*s%s {\n", padding, "", - fdt_get_name(fdt, node, NULL)); + if (fullpath !=3D NULL) { + nodename =3D fullpath; + } else { + nodename =3D fdt_get_name(fdt, node, NULL); + } + + g_string_append_printf(buf, "%*s%s {\n", padding, "", nodename); =20 padding +=3D 4; =20 @@ -801,6 +810,10 @@ static void fdt_format_node(GString *buf, int node, in= t depth) } } =20 + fdt_for_each_subnode(node, fdt, parent) { + fdt_format_node(buf, node, depth + 1, NULL); + } + padding -=3D 4; g_string_append_printf(buf, "%*s}\n", padding, ""); } @@ -821,7 +834,7 @@ HumanReadableText *qemu_fdt_qmp_query_fdt(const char *n= odepath, Error **errp) return NULL; } =20 - fdt_format_node(buf, node, 0); + fdt_format_node(buf, node, 0, nodepath); =20 return human_readable_text_from_str(buf); } --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660672508; cv=none; d=zohomail.com; s=zohoarc; b=TR7AminyqoDHuXEkiJXdlZtSFZpICwKF5Lb4ZArylietF8nRm0wn1BlFloFok4y47IQVBEKlgi/a0G7E3Q9UH92nIpgT3eMX4EOD1zqjnxDCVwAusJkeN4IyfLWHN+9ND/FtLL8gnCt1KlMLQN6XPOoUojD1D2xZv/o7oEA8anc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660672508; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7MSOrzKW9De/OsPUl8FUotcZQZzHLy31adv2QBBK3xM=; b=lBkyylWNf+RoRnYram8gtz9MAzvMx9nGtoQtpGqgOTnxixOw5U/ynBj9PMZrYKm8dyazdTgHWEU3XeesphkdBd1T+pWwa0vIBU5u26WoE3mFW+kKU+1J8bcsns6F9cURwwiIQIRbcnWs/TPbnLgPy/72yrwtNVxYGmJtli9fllA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660672508192963.9313587509661; Tue, 16 Aug 2022 10:55:08 -0700 (PDT) Received: from localhost ([::1]:57768 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0mQ-0005Si-Ve for importer@patchew.org; Tue, 16 Aug 2022 13:55:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36334) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0TO-0005ax-Ge; Tue, 16 Aug 2022 13:35:42 -0400 Received: from mail-vk1-xa34.google.com ([2607:f8b0:4864:20::a34]:41912) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0TM-0002cH-Up; Tue, 16 Aug 2022 13:35:26 -0400 Received: by mail-vk1-xa34.google.com with SMTP id bq26so5508368vkb.8; Tue, 16 Aug 2022 10:35:24 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=7MSOrzKW9De/OsPUl8FUotcZQZzHLy31adv2QBBK3xM=; b=ndkxuHF9BAU4wQb1kOc01x13HH87ql3pCtXfkWs7ieI78+UqNSTL1dhp74Jkfyw8hy +SZiP1ury5rWJMfS4ocgRa/aXSUCvrMmD5kkBfra1AwMotjhEjjbKmxOmG6YjlDicmbE 5m6yvmAP/8lGBveUReOTDR9376csZ3s8mK8fTAWO8G0VUOYIZqjgJZmRhB1n+vOkqGSr /kqgBoRAr5RcdI3afcbOdSJqQLs+qKL2NixR7ISKWw+3kfNoFh7BGJfh0pzsFQWI8W3m mheV+cYCmqWXlP5c1d/67P27Pf66FpD6Nkr8eEOF15j12BfBOV9w61Ik8GlCjRsOuVsJ NThw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=7MSOrzKW9De/OsPUl8FUotcZQZzHLy31adv2QBBK3xM=; b=KxNKKsVjI0eq0gtxvxw4DxstURq/bwCo5dZKOU5rCqJESOUcwHCSErZGP6MSIWGFaF INkP9NX0GpT/g9joya49jJsi+FgbMD4eKWx+WXVrIXFMNSpOY44NiKAFDur4rtTmd7Wg VjvdkbQbFoifO1wX/WJyHPCRfSJPsq5TNAln3JWNKUYH/UpA2qF8HFWBjEhqvlgkRDSH wL4fcAFqQFIe8r4CtshMGCywIWrCzac6uB0WXIV9ESa/RHrrvET+nL8kCnHJbkbQQcbR DNqrlKQEQhFXo661C6aGogDJ7YxvJU7DMQjAXYLcJlzvHiI35uEo0GoNFbZLqgc39Z4g g+QA== X-Gm-Message-State: ACgBeo2ge2eckqX3IQNDBRPYIdDcpdQrmkpVJ1cCN5pYgMVukhjkoT/J VUARq0Oz/+IHS4xijrRxdscpaZa2EbW9Fw== X-Google-Smtp-Source: AA6agR6rJAsu7eRr4U7L4uiVFX7iF58qpdV3S2YKiGjuTFEf07wjpSdF8r6VjbNq/HKQg9Hcp8kxhQ== X-Received: by 2002:a05:6122:11a4:b0:377:d5aa:6f4e with SMTP id y4-20020a05612211a400b00377d5aa6f4emr9532912vkn.33.1660671323291; Tue, 16 Aug 2022 10:35:23 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza Subject: [PATCH for-7.2 v3 19/20] device_tree.c: add fdt_format_property() helper Date: Tue, 16 Aug 2022 14:34:27 -0300 Message-Id: <20220816173428.157304-20-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::a34; envelope-from=danielhb413@gmail.com; helo=mail-vk1-xa34.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660672510065100001 Content-Type: text/plain; charset="utf-8" We want to be able to also print properties with 'info fdt'. Create a helper to format properties based on the already existing code from fdt_format_node(). Signed-off-by: Daniel Henrique Barboza --- softmmu/device_tree.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c index a6bfbc0617..9e681739bd 100644 --- a/softmmu/device_tree.c +++ b/softmmu/device_tree.c @@ -766,6 +766,25 @@ static void fdt_prop_format_val(GString *buf, const ch= ar *propname, g_string_append_printf(buf, "];\n"); } =20 +static void fdt_format_property(GString *buf, const char *propname, + const void *data, int prop_size, + int padding) +{ + if (prop_size =3D=3D 0) { + g_string_append_printf(buf, "%*s%s;\n", padding, "", propname); + return; + } + + if (fdt_prop_is_string_array(data, prop_size)) { + fdt_prop_format_string_array(buf, propname, data, prop_size, + padding); + } else if (fdt_prop_is_uint32_array(prop_size)) { + fdt_prop_format_uint32_array(buf, propname, data, prop_size, + padding); + } else { + fdt_prop_format_val(buf, propname, data, prop_size, padding); + } +} =20 static void fdt_format_node(GString *buf, int node, int depth, const char *fullpath) @@ -793,21 +812,7 @@ static void fdt_format_node(GString *buf, int node, in= t depth, prop =3D fdt_get_property_by_offset(fdt, property, &prop_size); propname =3D fdt_string(fdt, fdt32_to_cpu(prop->nameoff)); =20 - if (prop_size =3D=3D 0) { - g_string_append_printf(buf, "%*s%s;\n", padding, "", propname); - continue; - } - - if (fdt_prop_is_string_array(prop->data, prop_size)) { - fdt_prop_format_string_array(buf, propname, prop->data, - prop_size, padding); - } else if (fdt_prop_is_uint32_array(prop_size)) { - fdt_prop_format_uint32_array(buf, propname, prop->data, prop_s= ize, - padding); - } else { - fdt_prop_format_val(buf, propname, prop->data, - prop_size, padding); - } + fdt_format_property(buf, propname, prop->data, prop_size, padding); } =20 fdt_for_each_subnode(node, fdt, parent) { --=20 2.37.2 From nobody Mon Apr 29 15:53:16 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1660673299; cv=none; d=zohomail.com; s=zohoarc; b=Hm0wXQxJT1dS7EGGEQNDzy4EDMe9lr1x8LrfnI8091UNDssz8djzOO7MFTChuZRVs43Q4+5hYUa+pP0+2NwCkKCUzHYdJEfsL0d1W9fbySb6M9dVR4CoR+dy+NF6mrv3bg1pPvE0fkPAAAhbIQ+lN0WoV/eG+XNJg3fgI7ojYY0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660673299; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UM1w2DHKtrYxtYYq5uWUmNXReRFsb3rxAEPbAJKrJIA=; b=WHoeVYegJ0s/6ZxIl1vy9ptXIuGeP2+Yj8XhiZ5eIAFSpMXCBnxjElaFtkuqWfHKK0OGZ3HR/raDRX4Uj7+EouKjroatehz6BL1LB6EHR3EqKSLvH7ytXdlw8N5gAMiqGkv++gXUz/OgfokaHZm+t1BAF6LYO8zKs6Q/YyREBdE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16606732999892.983230956883176; Tue, 16 Aug 2022 11:08:19 -0700 (PDT) Received: from localhost ([::1]:54032 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oO0zC-0004fQ-VA for importer@patchew.org; Tue, 16 Aug 2022 14:08:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36372) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oO0TS-0005b7-19; Tue, 16 Aug 2022 13:35:42 -0400 Received: from mail-vs1-xe29.google.com ([2607:f8b0:4864:20::e29]:37686) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oO0TP-0002c2-RC; Tue, 16 Aug 2022 13:35:29 -0400 Received: by mail-vs1-xe29.google.com with SMTP id z185so1298920vsb.4; Tue, 16 Aug 2022 10:35:27 -0700 (PDT) Received: from balboa.COMFAST (201-43-216-47.dsl.telesp.net.br. [201.43.216.47]) by smtp.gmail.com with ESMTPSA id 16-20020a1f0210000000b00376b105115bsm8817539vkc.48.2022.08.16.10.35.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Aug 2022 10:35:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=UM1w2DHKtrYxtYYq5uWUmNXReRFsb3rxAEPbAJKrJIA=; b=P7HwE12Fnjk6+U2YMnFHBEn1o2pnvw0l8xWvD2V4mJhRMiVdW7orUWjopQiyg42G6R pq7NIgvFS+vr57Kcxb0zCch1L2AL9los0i7yneYmpER/XzXx1RwXsRYeRTObWlPT1m1x G1OOWiBxYTbp6E7AoblSCUplUrgJb3v/BilOdEPTqHJSWpybbLES9+yNbZkSZiYp7qw7 DqOlbkUa18X7Alz9fpNAZmv04oDuStE/dUbYs1ZiR3hWtWA/MOsbx3D4CKM2BqZyQRJ7 oGsf6fkaT/XVRsI0sZTt+BIm+l5ifIKtpqodz0BKgHb2Eud2IDadcORDNJQswOVEjaXF AFFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=UM1w2DHKtrYxtYYq5uWUmNXReRFsb3rxAEPbAJKrJIA=; b=wUgaUebh3lTqnAFFRgyHAofnqk2K6CG4sqrWulDhcYpcDVRk3rtkgBhLkUYFxvQab3 jBdDXLIhoU4370jpMKVTJAbC4lJN2FxQd6eScys7NArjs2Q6j7XmlGM28bWMzSaV03rj eOqUFw0vcn7eqg5kts1q119sCOtvdn5RnOe6TbO9/dbqcCg4nW3QFLXxXH5rsE4clTHv WVN7SPt2ElCCMXnol//rS5Z0FiJgpznC/873kRoGg+bMHEQ6gtDMU9VLO/gd4jr2A78E xaeCpSna84/YgwyMLR7JtyDcGk4IyYo97riOXmpt/63zfOzyFf0sHZbQ4xmja7oNvisI +pCQ== X-Gm-Message-State: ACgBeo39JwZZjCC5Dg7nbePHRcpZv5DHDxpRIS+PUI836EckUgmpN35S ZpdxtxyImwlvkg6evtpZvRHY5S4Uo+CSbw== X-Google-Smtp-Source: AA6agR57Hp+pmNnI62rp9mymmtuQReBVVjLJD+zuGqKiOrLVkmB+fsZlFXnCdgQEp5fDzPrUb8vjKw== X-Received: by 2002:a67:c807:0:b0:385:4678:a62b with SMTP id u7-20020a67c807000000b003854678a62bmr8934190vsk.11.1660671326660; Tue, 16 Aug 2022 10:35:26 -0700 (PDT) From: Daniel Henrique Barboza To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, clg@kaod.org, alistair.francis@wdc.com, david@gibson.dropbear.id.au, Daniel Henrique Barboza , "Dr . David Alan Gilbert" Subject: [PATCH for-7.2 v3 20/20] hmp, device_tree.c: add 'info fdt ' support Date: Tue, 16 Aug 2022 14:34:28 -0300 Message-Id: <20220816173428.157304-21-danielhb413@gmail.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220816173428.157304-1-danielhb413@gmail.com> References: <20220816173428.157304-1-danielhb413@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::e29; envelope-from=danielhb413@gmail.com; helo=mail-vs1-xe29.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1660673302994100001 Content-Type: text/plain; charset="utf-8" 'info fdt' is only able to print full nodes so far. It would be good to be able to also print single properties, since ometimes we just want to verify a single value from the FDT. libfdt does not have support to find a property given its full path, but it does have a way to return a fdt_property given a prop name and its subnode. Add a new optional 'propname' parameter to x-query-fdt to specify the property of a given node. If it's present, we'll proceed to find the node as usual but, instead of printing the node, we'll attempt to find the property and print it standalone. After this change, if an user wants to print just the value of 'cpu' inside /cpu/cpu-map(...) from an ARM FDT, we can do it: (qemu) info fdt /cpus/cpu-map/socket0/cluster0/core0 cpu /cpus/cpu-map/socket0/cluster0/core0/cpu =3D <0x8001> Or the 'ibm,my-dma-window' from the v-scsi device inside the pSeries FDT: (qemu) info fdt /vdevice/v-scsi@71000003 ibm,my-dma-window /vdevice/v-scsi@71000003/ibm,my-dma-window =3D <0x71000003 0x0 0x0 0x0 0x10= 000000> Cc: Dr. David Alan Gilbert Acked-by: Dr. David Alan Gilbert Signed-off-by: Daniel Henrique Barboza --- hmp-commands-info.hx | 9 +++++---- include/sysemu/device_tree.h | 2 ++ monitor/hmp-cmds.c | 5 ++++- monitor/qmp-cmds.c | 8 +++++--- qapi/machine.json | 4 +++- softmmu/device_tree.c | 29 ++++++++++++++++++++++++----- 6 files changed, 43 insertions(+), 14 deletions(-) diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx index 743b48865d..17d6ee4d30 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -924,13 +924,14 @@ ERST =20 { .name =3D "fdt", - .args_type =3D "nodepath:s", - .params =3D "nodepath", - .help =3D "show firmware device tree node given its path", + .args_type =3D "nodepath:s,propname:s?", + .params =3D "nodepath [propname]", + .help =3D "show firmware device tree node or property given = its path", .cmd =3D hmp_info_fdt, }, =20 SRST ``info fdt`` - Show a firmware device tree node given its path. Requires libfdt. + Show a firmware device tree node or property given its path. + Requires libfdt. ERST diff --git a/include/sysemu/device_tree.h b/include/sysemu/device_tree.h index 057d13e397..551a02dee2 100644 --- a/include/sysemu/device_tree.h +++ b/include/sysemu/device_tree.h @@ -140,6 +140,8 @@ int qemu_fdt_add_path(void *fdt, const char *path); void qemu_fdt_dumpdtb(void *fdt, int size); void qemu_fdt_qmp_dumpdtb(const char *filename, Error **errp); HumanReadableText *qemu_fdt_qmp_query_fdt(const char *nodepath, + bool has_propname, + const char *propname, Error **errp); =20 /** diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index accde90380..df8493adc5 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -2488,8 +2488,11 @@ void hmp_dumpdtb(Monitor *mon, const QDict *qdict) void hmp_info_fdt(Monitor *mon, const QDict *qdict) { const char *nodepath =3D qdict_get_str(qdict, "nodepath"); + const char *propname =3D qdict_get_try_str(qdict, "propname"); Error *err =3D NULL; - g_autoptr(HumanReadableText) info =3D qmp_x_query_fdt(nodepath, &err); + g_autoptr(HumanReadableText) info =3D NULL; + + info =3D qmp_x_query_fdt(nodepath, propname !=3D NULL, propname, &err); =20 if (hmp_handle_error(mon, err)) { return; diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c index db2c6aa7da..ca2a96cdf7 100644 --- a/monitor/qmp-cmds.c +++ b/monitor/qmp-cmds.c @@ -604,9 +604,10 @@ void qmp_dumpdtb(const char *filename, Error **errp) return qemu_fdt_qmp_dumpdtb(filename, errp); } =20 -HumanReadableText *qmp_x_query_fdt(const char *nodepath, Error **errp) +HumanReadableText *qmp_x_query_fdt(const char *nodepath, bool has_propname, + const char *propname, Error **errp) { - return qemu_fdt_qmp_query_fdt(nodepath, errp); + return qemu_fdt_qmp_query_fdt(nodepath, has_propname, propname, errp); } #else void qmp_dumpdtb(const char *filename, Error **errp) @@ -614,7 +615,8 @@ void qmp_dumpdtb(const char *filename, Error **errp) error_setg(errp, "dumpdtb requires libfdt"); } =20 -HumanReadableText *qmp_x_query_fdt(const char *nodepath, Error **errp) +HumanReadableText *qmp_x_query_fdt(const char *nodepath, bool has_propname, + const char *propname, Error **errp) { error_setg(errp, "this command requires libfdt"); =20 diff --git a/qapi/machine.json b/qapi/machine.json index 96cff541ca..c15ce60f46 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -1688,6 +1688,7 @@ # Query for FDT element (node or property). Requires 'libfdt'. # # @nodepath: the path of the FDT node to be retrieved +# @propname: name of the property inside the node # # Features: # @unstable: This command is meant for debugging. @@ -1697,6 +1698,7 @@ # Since: 7.2 ## { 'command': 'x-query-fdt', - 'data': { 'nodepath': 'str' }, + 'data': { 'nodepath': 'str', + '*propname': 'str' }, 'returns': 'HumanReadableText', 'features': [ 'unstable' ] } diff --git a/softmmu/device_tree.c b/softmmu/device_tree.c index 9e681739bd..523c9b8d4d 100644 --- a/softmmu/device_tree.c +++ b/softmmu/device_tree.c @@ -823,23 +823,42 @@ static void fdt_format_node(GString *buf, int node, i= nt depth, g_string_append_printf(buf, "%*s}\n", padding, ""); } =20 -HumanReadableText *qemu_fdt_qmp_query_fdt(const char *nodepath, Error **er= rp) +HumanReadableText *qemu_fdt_qmp_query_fdt(const char *nodepath, + bool has_propname, + const char *propname, + Error **errp) { g_autoptr(GString) buf =3D g_string_new(""); - int node; + const struct fdt_property *prop =3D NULL; + void *fdt =3D current_machine->fdt; + int node, prop_size; =20 - if (!current_machine->fdt) { + if (!fdt) { error_setg(errp, "Unable to find the machine FDT"); return NULL; } =20 - node =3D fdt_path_offset(current_machine->fdt, nodepath); + node =3D fdt_path_offset(fdt, nodepath); if (node < 0) { error_setg(errp, "node '%s' not found in FDT", nodepath); return NULL; } =20 - fdt_format_node(buf, node, 0, nodepath); + if (!has_propname) { + fdt_format_node(buf, node, 0, nodepath); + } else { + g_autofree char *proppath =3D g_strdup_printf("%s/%s", nodepath, + propname); + + prop =3D fdt_get_property(fdt, node, propname, &prop_size); + if (!prop) { + error_setg(errp, "property '%s' not found in node '%s' in FDT", + propname, nodepath); + return NULL; + } + + fdt_format_property(buf, proppath, prop->data, prop_size, 0); + } =20 return human_readable_text_from_str(buf); } --=20 2.37.2