From nobody Thu May 2 18:29:25 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1488491825807499.31295050626215; Thu, 2 Mar 2017 13:57:05 -0800 (PST) Received: from localhost ([::1]:54886 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cjYie-0007Jw-FD for importer@patchew.org; Thu, 02 Mar 2017 16:57:04 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38366) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cjYhq-0007Cb-CH for qemu-devel@nongnu.org; Thu, 02 Mar 2017 16:56:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cjYhl-0008I8-Fx for qemu-devel@nongnu.org; Thu, 02 Mar 2017 16:56:14 -0500 Received: from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]:35369) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cjYhl-0008HJ-A0 for qemu-devel@nongnu.org; Thu, 02 Mar 2017 16:56:09 -0500 Received: by mail-wm0-x241.google.com with SMTP id u63so438532wmu.2 for ; Thu, 02 Mar 2017 13:56:07 -0800 (PST) Received: from donizetti.lan (94-36-245-171.adsl-ull.clienti.tiscali.it. [94.36.245.171]) by smtp.gmail.com with ESMTPSA id b51sm12469336wrd.39.2017.03.02.13.56.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Mar 2017 13:56:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id; bh=30QpCoQ1uFzYKD49vGq97OgDKJEmZ8ia30ABr8Wv/x4=; b=mx0ld8T5+7kRD87xdu2GYuYIWAfjZRFk6Y+0CSdy32m89j87x7aIAZCoFgbiNrDi2z AW+kPbipAlVFUi2x5bXSzcmXHw3x03EB3Y5FXY/GDEnVp3SgpGpHV449yX4TdyvMpCST EVrrRW0g/ufiWtgiQzMTpN/btOXo1NX+jHrEREzIQM1kbx2997hJq1B7Rg/l4Elg+1bt gM+pYA7B1VVyn54JBSLO71tPl+XEPPIV5a1SVN1GS4yqatGkxIFpfuXHlV1DwesDLp0Q XFBxgOTbfMTdCc07tS+HB8GfIxzdJ0r4US3QgCmD06Gifd3OTvPYkUHiBMB5MV2PWyAS DNRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=30QpCoQ1uFzYKD49vGq97OgDKJEmZ8ia30ABr8Wv/x4=; b=NjHK4jo20gr7sOmFDgv7D/EBaJqMPcS6/BxUb9cb4qFk4JpYrrN2cM1tSNrZJSfCF4 jwvrfv49u8B4m2e0czn80m2kQEiTesQpBBsQ3yqChM4i8qICHGUO2fPZoHxXQ5lGb3on ewKLhS8rlmuzVVornQC/mRIFX0qmYHK+arsyARQkJE6F41MTlPLUTM4zNWdvSx4sX0nJ QH4ReVJ0x9XlJjdIFba8x3sSN2d/ENaAr9gw4fmzH3wo+EsNbyZheWC1GQzWgwiMc3fx dF3L/1Ejmb8FJ3Swjve9Glv9vBg4R8aW57vjXTkPjfTyyjiS0xUZaU8avExlAbvQ6wYx eomQ== X-Gm-Message-State: AMke39ns/mOrtLdeUR4VZVWNmwN6+h+x4adtsLlB3PLF3Jbb1LuRpaQ8AKPWlatlk5wMEA== X-Received: by 10.28.212.198 with SMTP id l189mr317356wmg.39.1488491766567; Thu, 02 Mar 2017 13:56:06 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Thu, 2 Mar 2017 22:56:03 +0100 Message-Id: <20170302215603.27630-1-pbonzini@redhat.com> X-Mailer: git-send-email 2.9.3 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::241 Subject: [Qemu-devel] [PATCH] memory: show region offset and ROM/RAM type in "info mtree -f" X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: William Tambe , Peter Xu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" "info mtree -f" output is currently hard to use for large RAM regions, beca= use there is no hint as to what part of the region is being mapped. Add the of= fset if it is nonzero. Secondly, FlatView has a readonly field, that can override the MemoryRegion in the presence of aliases. Take it into account. Together, with this patch this: address-space (flat view): KVM-SMRAM 0000000000000000-00000000000bffff (prio 0, ram): pc.ram 00000000000c0000-00000000000c9fff (prio 0, ram): pc.ram 00000000000ca000-00000000000ccfff (prio 0, ram): pc.ram 00000000000cd000-00000000000ebfff (prio 0, ram): pc.ram 00000000000ec000-00000000000effff (prio 0, ram): pc.ram 00000000000f0000-00000000000fffff (prio 0, ram): pc.ram 0000000000100000-00000000bfffffff (prio 0, ram): pc.ram 00000000fd000000-00000000fdffffff (prio 1, ram): vga.vram 00000000febc0000-00000000febdffff (prio 1, i/o): e1000-mmio 00000000febf0400-00000000febf041f (prio 0, i/o): vga ioports remapped 00000000febf0500-00000000febf0515 (prio 0, i/o): bochs dispi interface 00000000febf0600-00000000febf0607 (prio 0, i/o): qemu extended regs 00000000fec00000-00000000fec00fff (prio 0, i/o): kvm-ioapic 00000000fed00000-00000000fed003ff (prio 0, i/o): hpet 00000000fee00000-00000000feefffff (prio 4096, i/o): kvm-apic-msi 00000000fffc0000-00000000ffffffff (prio 0, rom): pc.bios 0000000100000000-000000013fffffff (prio 0, ram): pc.ram becomes this: address-space (flat view): KVM-SMRAM 0000000000000000-00000000000bffff (prio 0, ram): pc.ram 00000000000c0000-00000000000c9fff (prio 0, rom): pc.ram @00000000000c0000 00000000000ca000-00000000000ccfff (prio 0, ram): pc.ram @00000000000ca000 00000000000cd000-00000000000ebfff (prio 0, rom): pc.ram @00000000000cd000 00000000000ec000-00000000000effff (prio 0, ram): pc.ram @00000000000ec000 00000000000f0000-00000000000fffff (prio 0, rom): pc.ram @00000000000f0000 0000000000100000-00000000bfffffff (prio 0, ram): pc.ram @0000000000100000 00000000fd000000-00000000fdffffff (prio 1, ram): vga.vram 00000000febc0000-00000000febdffff (prio 1, i/o): e1000-mmio 00000000febf0400-00000000febf041f (prio 0, i/o): vga ioports remapped 00000000febf0500-00000000febf0515 (prio 0, i/o): bochs dispi interface 00000000febf0600-00000000febf0607 (prio 0, i/o): qemu extended regs 00000000fec00000-00000000fec00fff (prio 0, i/o): kvm-ioapic 00000000fed00000-00000000fed003ff (prio 0, i/o): hpet 00000000fee00000-00000000feefffff (prio 4096, i/o): kvm-apic-msi 00000000fffc0000-00000000ffffffff (prio 0, rom): pc.bios 0000000100000000-000000013fffffff (prio 0, ram): pc.ram @00000000c0000000 This should make it easier to understand what's going on. Cc: Peter Xu Cc: "William Tambe" Signed-off-by: Paolo Bonzini Reviewed-by: Peter Xu Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- memory.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/memory.c b/memory.c index d61caee..44700c3 100644 --- a/memory.c +++ b/memory.c @@ -2588,13 +2588,24 @@ static void mtree_print_flatview(fprintf_function p= , void *f, =20 while (n--) { mr =3D range->mr; - p(f, MTREE_INDENT TARGET_FMT_plx "-" - TARGET_FMT_plx " (prio %d, %s): %s\n", - int128_get64(range->addr.start), - int128_get64(range->addr.start) + MR_SIZE(range->addr.size), - mr->priority, - memory_region_type(mr), - memory_region_name(mr)); + if (range->offset_in_region) { + p(f, MTREE_INDENT TARGET_FMT_plx "-" + TARGET_FMT_plx " (prio %d, %s): %s @" TARGET_FMT_plx "\n", + int128_get64(range->addr.start), + int128_get64(range->addr.start) + MR_SIZE(range->addr.size), + mr->priority, + memory_region_type(mr), + memory_region_name(mr), + range->offset_in_region); + } else { + p(f, MTREE_INDENT TARGET_FMT_plx "-" + TARGET_FMT_plx " (prio %d, %s): %s\n", + int128_get64(range->addr.start), + int128_get64(range->addr.start) + MR_SIZE(range->addr.size), + mr->priority, + memory_region_type(mr), + memory_region_name(mr)); + } range++; } =20 --=20 2.9.3