From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55104) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XduNc-0005Rm-73 for qemu-devel@nongnu.org; Tue, 14 Oct 2014 01:10:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XduNW-0002KK-35 for qemu-devel@nongnu.org; Tue, 14 Oct 2014 01:10:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:26414) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XduNV-0002JG-OI for qemu-devel@nongnu.org; Tue, 14 Oct 2014 01:10:33 -0400 Message-ID: <543CB03E.3090902@redhat.com> Date: Tue, 14 Oct 2014 07:10:22 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1413254164-6320-1-git-send-email-zhuyijun@huawei.com> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] hw/arm/virt: Replace memory_region_init_ram with memory_region_allocate_system_memory List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell , zhuyijun Cc: hangaohuai@huawei.com, QEMU Developers , peter.huangpeng@huawei.com Il 14/10/2014 06:54, Peter Maydell ha scritto: > Why is this patch only changing this board? What's special > about virt that means we don't want to also make this > change for the other ARM boards? What about all the other > boards for the other architectures? -mem-path is not too useful without KVM (TCG is too slow to notice the difference. PPC and S390 have already been fixed. For other boards, I have patches but I had no time to submit them until now. > The commit message for 0b183fc871 suggests we decided to > just break -mem-path for all those boards, which seems an > odd thing to do... Paolo? The plan _was_ in fact to fix it up. :( > Incidentally I can't see anything that guards against > calling memory_region_allocate_system_memory() twice, > so I think you would end up with two blocks of RAM > both backed by the same file then. Or have I misread > the code? That would be a bug in the board, it is caught here: if (memory_region_is_mapped(seg)) { char *path = object_get_canonical_path_component(OBJECT(backend)); error_report("memory backend %s is used multiple times. Each " "-numa option must use a different memdev value.", path); exit(1); } The error message gives the common user error rather than the less common developer error, but still you catch it. Paolo