From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:54054) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7u0c-0007Qh-Dd for qemu-devel@nongnu.org; Wed, 14 Mar 2012 15:37:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S7u0a-00024W-MZ for qemu-devel@nongnu.org; Wed, 14 Mar 2012 15:37:17 -0400 Received: from mail-bk0-f67.google.com ([209.85.214.67]:47958) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7u0a-00024E-DY for qemu-devel@nongnu.org; Wed, 14 Mar 2012 15:37:16 -0400 Received: by bkcjg15 with SMTP id jg15so230236bkc.10 for ; Wed, 14 Mar 2012 12:37:13 -0700 (PDT) Message-ID: <4F61017F.5020301@gmail.com> Date: Wed, 14 Mar 2012 23:37:19 +0300 From: Igor Mitsyanko MIME-Version: 1.0 References: <1330893156-26569-1-git-send-email-afaerber@suse.de> <1331346496-10736-1-git-send-email-afaerber@suse.de> <1331346496-10736-45-git-send-email-afaerber@suse.de> <4F5DC41F.10903@redhat.com> <4F5F39DD.5040308@suse.de> In-Reply-To: <4F5F39DD.5040308@suse.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH RFC v4 44/44] qom: Introduce CPU class Reply-To: i.mitsyanko@samsung.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= Cc: Igor Mammedov , d.solodkiy@samsung.com, qemu-devel@nongnu.org, Anthony Liguori , Paolo Bonzini On 13.03.2012 3:13 PM, Andreas Färber wrote: > In SysBusDeviceClass etc. we use the specific object type, too. > Obviously my CPU is the first "new" QOM type, so we can go different > ways if we want to. As long as it's a CPU-specific mechanism, using the > specific type avoids some casts. > >> It will be easier to generalize later qdev code and not make special >> case when >> adding cpus. > > I never heard anyone wanting to generalize reset so far. I don't think > it belongs into Object at least. Maybe DeviceState. Anthony? Paolo? > We can have a special object for this, let's call it ResetLine for example, with methods ResetLine::connect, ResetLine::assert or something like that. Different ResetLine objects could trigger reset of different sets of subdevices, just like real hardware can have several reset types (for example, STM32 has 3 different reset types).