From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH kvm-unit-tests 2/4] Introduce a C++ wrapper for the kvm APIs Date: Wed, 24 Nov 2010 19:16:46 +0200 Message-ID: <20101124171646.GH20014@redhat.com> References: <1290595933-13122-1-git-send-email-avi@redhat.com> <1290595933-13122-3-git-send-email-avi@redhat.com> <50DD1E97-0ECD-41E6-B6F8-1D78AA4A4876@suse.de> <4CED2416.1040102@codemonkey.ws> <20101124154006.GE15111@redhat.com> <4CED344B.3030000@codemonkey.ws> <4CED3FE6.50900@redhat.com> <4CED41A0.8060003@redhat.com> <20101124165502.GE20014@redhat.com> <4CED44CC.6080604@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jes Sorensen , Anthony Liguori , Alexander Graf , Marcelo Tosatti , kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from mx1.redhat.com ([209.132.183.28]:1027 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755951Ab0KXRQv (ORCPT ); Wed, 24 Nov 2010 12:16:51 -0500 Content-Disposition: inline In-Reply-To: <4CED44CC.6080604@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Wed, Nov 24, 2010 at 07:01:00PM +0200, Avi Kivity wrote: > On 11/24/2010 06:55 PM, Gleb Natapov wrote: > >> > > >> >What you did above is making the exact same mistake as is done with the > >> >current i440fx.c code. > >> > >> If a real life 440fx has an i8042, then an emulated 440fx should > >> have an emulated i8042. It's not complicated. > >> > >Correct. But it can be achieved by making 440fx a class that includes > >other classes or by building it from different classes linked through > >common interfaces. > > Both are fine, and not in conflict with the example that started this. > > If the i8042 is completely stock, we write > > class i440fx { > private: > i8042 kbc; > } > > (or the C equivalent) > > If it's not completely stock, we substitute some subclass that takes > care of the differences. > And if you want to connect ISA sound blaster to that you make subclass with SB device? No. You make ISA bus functionality available from i440fx and connect SB there. So now you have bunch of devices that are part of i440fx class and others that are connected via ISA bus functionality and all that because you read to deeply into PIIX3 spec? -- Gleb.