From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:40272) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QMjVO-0004YV-7H for qemu-devel@nongnu.org; Wed, 18 May 2011 12:21:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QMjVN-0007hh-9s for qemu-devel@nongnu.org; Wed, 18 May 2011 12:21:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:24439) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QMjVN-0007hX-1D for qemu-devel@nongnu.org; Wed, 18 May 2011 12:21:49 -0400 Message-ID: <4DD3F218.2040807@redhat.com> Date: Wed, 18 May 2011 19:21:44 +0300 From: Avi Kivity MIME-Version: 1.0 References: <4DD3C5B9.1080908@redhat.com> <4DD3D236.90708@siemens.com> <4DD3E271.2010903@codemonkey.ws> <4DD3E53F.202@redhat.com> In-Reply-To: <4DD3E53F.202@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC] Memory API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Jan Kiszka , qemu-devel On 05/18/2011 06:26 PM, Avi Kivity wrote: >> This is about registration. Right now you can only register IO >> intercepts in the chipset, not on a per-CPU basis. We could just as >> easily have: >> >> CPUState { >> MemoryRegion apic_region; >> }; >> >> per_cpu_register_memory(env, &env->apic_region); >> > > > Right. Or all memory per-cpu, with two sub-regions: > > - global memory > - overlaid apic memory > > for this, we need to have well defined semantics for overlap (perhaps > a priority argument to memory_region_add_subregion). Or even cpu_memory_region | +-- global memory map (prio 0) | | | +-- RAM (prio 0) | | | +-- PCI (prio 1) | +-- SMM memory (if active, prio 1) | +-- APIC memory (if active, prio 2) -- error compiling committee.c: too many arguments to function