From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:59556) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S0vER-0007MK-6B for qemu-devel@nongnu.org; Fri, 24 Feb 2012 08:30:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S0vEH-0001vX-5B for qemu-devel@nongnu.org; Fri, 24 Feb 2012 08:30:38 -0500 Received: from cantor2.suse.de ([195.135.220.15]:38110 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S0vEG-0001vC-If for qemu-devel@nongnu.org; Fri, 24 Feb 2012 08:30:33 -0500 Message-ID: <4F4790F6.3070301@suse.de> Date: Fri, 24 Feb 2012 14:30:30 +0100 From: =?ISO-8859-1?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1329347774-23262-1-git-send-email-imammedo@redhat.com> <1329347774-23262-2-git-send-email-imammedo@redhat.com> <4F3CE7A5.30600@siemens.com> <4F3CF9AE.5020701@codemonkey.ws> <4F3E8817.7050001@redhat.com> <4F478B2D.9050903@redhat.com> In-Reply-To: <4F478B2D.9050903@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 1/7] Introduce a new bus "ICC" to connect APIC List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: Jan Kiszka , "qemu-devel@nongnu.org" , Anthony Liguori , Paolo Bonzini Am 24.02.2012 14:05, schrieb Igor Mammedov: > On 02/17/2012 06:02 PM, Igor Mammedov wrote: >> So I'd rather drop ICC patch and try your approach with CPU links<>, I >> see no >> point in introducing new bus providing we have an alternative model >> and existing >> bus for the task. >=20 > I've looked at device_add command and qdev_device_add it uses for doing > actual work > and in current state it requires (based on Andreas' qom_cpu branch): >=20 > For approach where apic and cpu hot-plugged to sysbus. > 1. created object must be descendant of TYPE_DEVICE. So QOM TYPE_CPU > should be inherited > from TYPE_DEVICE at least or TYPE_SYS_BUS_DEVICE. > 2. hot-plug on the bus should be allowed. if we ditch icc bus then we > should allow > hot-plug on sysbus. Can we do this? (i.e. it seems that for P4 and > later cpus > sysbus should be hot-plugable). > 3. should DeviceClass.init be used for cpu initialization or should > .instance_init > do all the job and make DeviceClass.init nop? SysBus is supposed to go away in Anthony's upcoming 4th QOM series, so I'd rather not base a new series on that. The issue with TYPE_DEVICE is that we don't want to leak that into the user emulators (would break the build), and any infrastructure only available to qdev should gradually be made accessible to all objects (Paolo has done some work in that direction wrt properties). So the main remaining difference between Object and Device is the GPIO IRQ support. Anthony wanted to introduce Pin objects to replace qemu_irq. As for init, the idea was to have initialization code in an initfn, the resulting state is then supposed to be overridable by the user (e.g., set family, model, stepping differently on the CPU) and then do the construction work in a realize function that corresponds more closely to DeviceClass::init. This too, still needs to be generalized. Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg