From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36084) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZvjkD-0001Un-TY for qemu-devel@nongnu.org; Mon, 09 Nov 2015 05:32:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZvjkC-0003b7-Vv for qemu-devel@nongnu.org; Mon, 09 Nov 2015 05:32:13 -0500 References: <1446747358-18214-1-git-send-email-peter.maydell@linaro.org> <1446747358-18214-3-git-send-email-peter.maydell@linaro.org> <20151106132115.GB13308@toto> From: Paolo Bonzini Message-ID: <56407622.6020208@redhat.com> Date: Mon, 9 Nov 2015 11:32:02 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 02/16] exec.c: Allow target CPUs to define multiple AddressSpaces List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell , "Edgar E. Iglesias" Cc: qemu-arm@nongnu.org, =?UTF-8?Q?Alex_Benn=c3=a9e?= , QEMU Developers , =?UTF-8?Q?Andreas_F=c3=a4rber?= , Patch Tracking On 06/11/2015 14:34, Peter Maydell wrote: >> > IIUC, g_renew may move the entire cpu_ases area. The internals of >> > memory_listener_register (called below) seem to put away the pointers to listeners >> > so a renew+move would leave invalid pointers to listeners in memory.c wouldn't it? >> > >> > There are various ways of solving this, (e.g dynamic allocation of the listener, >> > static allocation of the cpu_ases, invalidate all listeners and restore them after >> > each as init and more). I'm sure you'll figure something out. > Oops, yes, you're right. > > Maybe we should just have the target CPU say in advance what the > maximum number of AddressSpaces it will have is -- my expectation > is that this will be (a) small (b) known in advance anyway. I agree. Or even just allocate room statically, for the largest amount that all targets in QEMU use. My expectation is that this will be 2. :) Paolo