From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:46285) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Twhk3-0006Vg-F4 for qemu-devel@nongnu.org; Sat, 19 Jan 2013 18:22:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Twhk1-0004jm-Ez for qemu-devel@nongnu.org; Sat, 19 Jan 2013 18:22:27 -0500 Received: from cantor2.suse.de ([195.135.220.15]:36730 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Twhk1-0004jR-4H for qemu-devel@nongnu.org; Sat, 19 Jan 2013 18:22:25 -0500 Message-ID: <50FB2AAB.2060805@suse.de> Date: Sun, 20 Jan 2013 00:22:19 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1358590008-1681-1-git-send-email-pbonzini@redhat.com> <50FAE1E3.6010309@suse.de> <50FB18D8.7010805@redhat.com> In-Reply-To: <50FB18D8.7010805@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH for 1.4 0/4] Simplify Makefile.objs some more List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: blauwirbel@gmail.com, qemu-devel@nongnu.org, Anthony Liguori , Eduardo Habkost Am 19.01.2013 23:06, schrieb Paolo Bonzini: > Il 19/01/2013 19:11, Andreas F=E4rber ha scritto: >>>> The patches are mostly mechanical substitutions, and there is no >>>> user-visible change---neither in total build time, nor in the files = that >>>> are linked into the executables. >> Without having tested this yet I want to remind that it is necessary f= or >> qom/cpu.c to be built twice >=20 > Hmm, it's not anymore actually (since libuser was removed). It hasn't > been built twice for a month and apparently nothing broke. I surely didn't ack that. Have you actually tested linux-user to verify it works? It might lead to unexpected CPUState field accesses. >> , to not run into similar issues like >> util/oslib-posix.c. >=20 > The only dependency is >=20 > #if !defined(CONFIG_USER_ONLY) > int kvm_fd; > bool kvm_vcpu_dirty; > #endif > struct KVMState *kvm_state; > struct kvm_run *kvm_run; >=20 > Plenty of other fields are meaningless for !CONFIG_USER_ONLY but are > unconditionally present in struct CPUState. Given this inconsistency, > why is it still useful to build it twice? You are judging based on master. I have some more code movements queued (qom-cpu-8) and I believe it was Anthony who insisted on suppressing those unneeded user-only fields even if they were unconditional in CPU_COMMON before. qom/cpu.c is not intended to remain so small forever - any cpu_* code that does not depend on CPUArchState can find a new home there. cpu_interrupt() is being moved to qom/cpu.h and cpu_reset_interrupt() to qom/cpu.c for instance. And I'm working on refactoring CPU VMState, that either requires #ifdef'ery or lots of new stubs beyond what Eduardo added= . 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