From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jes Sorensen Subject: Re: [PATCH kvm-unit-tests 2/4] Introduce a C++ wrapper for the kvm APIs Date: Wed, 24 Nov 2010 17:51:02 +0100 Message-ID: <4CED4276.9090103@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> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Anthony Liguori , Gleb Natapov , Alexander Graf , Marcelo Tosatti , kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from mx1.redhat.com ([209.132.183.28]:23198 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755380Ab0KXQvJ (ORCPT ); Wed, 24 Nov 2010 11:51:09 -0500 In-Reply-To: <4CED41A0.8060003@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 11/24/10 17:47, Avi Kivity wrote: > On 11/24/2010 06:40 PM, Jes Sorensen wrote: >> Well the problem here is that the i8042 is in the i440fx.c file, it >> shouldn't be there in the first place. The gluing together things in >> silicon is really just a way to shorten the wires and make it easier, >> they are still separate devices and as long as the i8042 requires ISA >> access, and to be treated like an ISA device, we should glue it onto the >> virtual ISA bus within QEMU. >> >> 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. It's a question of how it is accessed, if it is treated like an ISA device by the silicon, we should treat it like an ISA device in QEMU, rather than pretend it is something that it isn't. >> >>> So whereas we have this very complicate machine create function that >> >>> attempts to create and composite all of these devices after the >> >>> fact, when written in C++, partially due to good design, but >> >>> partially due to the fact that the languages forces you to think a >> >>> certain way, you get a tremendous simplification. >> >> That is clearly dependent on the eyes of the person who looks at it. > > It's independent of language. It should be done in C as well. C++ just > makes it easier by reducing the boilerplate. Right we need good design for our C code, which we are lacking to a large extend. However that has nothing to do with the language, that has to do with the developers. Jes