From patchwork Fri Mar 3 16:30:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 735184 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3vZZWZ1Wjbz9ryQ for ; Sat, 4 Mar 2017 03:34:01 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="afltpWjE"; dkim-atps=neutral Received: from localhost ([::1]:58952 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cjq9X-00060o-7U for incoming@patchwork.ozlabs.org; Fri, 03 Mar 2017 11:33:59 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59427) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cjq6I-0003w5-Ta for qemu-devel@nongnu.org; Fri, 03 Mar 2017 11:30:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cjq6H-0002QR-P1 for qemu-devel@nongnu.org; Fri, 03 Mar 2017 11:30:38 -0500 Received: from mail-wm0-x244.google.com ([2a00:1450:400c:c09::244]:36683) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cjq6H-0002QE-FR for qemu-devel@nongnu.org; Fri, 03 Mar 2017 11:30:37 -0500 Received: by mail-wm0-x244.google.com with SMTP id v190so3934884wme.3 for ; Fri, 03 Mar 2017 08:30:37 -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:in-reply-to:references; bh=HNFw+SEvvliYIEANQU5drk1lYOvn0bBZ3sb9uv6z8tQ=; b=afltpWjEIZEOZ7XWz1xf/m7oxv08EEdKMRhYrLQrnS54jiiVewemtjaDviK/P81q/o gnXbs4R0G7cJT8LhX94pPJ8a4L4P3h67MMOiyg7GhwgrA/BdM9Du/huo57QxL2QRgq+2 fyM0wHmRKMneQA4rINDkWt//wSukOF1bprIIbr28nH7Bp5kMflD00EvmwtepnSSajJ1p Ayh/3HApL/4mgecaUdnWNLJhuUbtRthL7L85mjTvXBc9Q/2cSFBAQNkv+/7R5ZspoqMc IiehbxcFrmbik5NQngtrJvKGClEEaKyZCQqGS4ucp7V33tFHtR3169++L3EWgypWPA4e olmQ== 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 :in-reply-to:references; bh=HNFw+SEvvliYIEANQU5drk1lYOvn0bBZ3sb9uv6z8tQ=; b=CmoxI1/fR2o4TIXV+SYjnApnh7j30F/zScNMuzvB8MCK8zPnrip6Y6JM6Zh391lGuK 1N7WT8pGg3CorUDGT9hJQgMyi41IzDlA40iFgMUxCc6DMzkGbKKnp1fjVKlfm0IbgDrU u7bCR64YIFqMM7cjgKJES2YBHEHmvkKuE0qk0L0k1WDN/GLhwu3Pz4c8ksE0CNevXs5E 8yHR6dXteVLdTNkhIpqFnlw98mmAYGEUqetn4n7/je1E5O2qaV82iknIkU6XOJBZEQO6 k7nvTOqcQ8DoVl0BhVulXjqn3Ha6pPTUaEWDC0moRn2UdA42DtEhRIVtyaD/sU0QorUI Msxg== X-Gm-Message-State: AMke39n9KuF6/ApWho3rhYdR/iS7rFUHQ5v+tx0zYpbg/E33TNX0hG/P0acWZZYXMAJ+Uw== X-Received: by 10.28.227.213 with SMTP id a204mr3218709wmh.120.1488558636413; Fri, 03 Mar 2017 08:30:36 -0800 (PST) Received: from 640k.lan (94-36-245-171.adsl-ull.clienti.tiscali.it. [94.36.245.171]) by smtp.gmail.com with ESMTPSA id k195sm3667527wmd.7.2017.03.03.08.30.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 03 Mar 2017 08:30:35 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Fri, 3 Mar 2017 17:30:29 +0100 Message-Id: <1488558630-21522-4-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1488558630-21522-1-git-send-email-pbonzini@redhat.com> References: <1488558630-21522-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::244 Subject: [Qemu-devel] [PATCH 20/21] 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" "info mtree -f" output is currently hard to use for large RAM regions, because there is no hint as to what part of the region is being mapped. Add the offset 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 --- memory.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/memory.c b/memory.c index 573fa6e..284894b 100644 --- a/memory.c +++ b/memory.c @@ -2588,13 +2588,24 @@ static void mtree_print_flatview(fprintf_function p, void *f, while (n--) { mr = 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, + range->readonly ? "rom" : 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, + range->readonly ? "rom" : memory_region_type(mr), + memory_region_name(mr)); + } range++; }