From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43128) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UykZs-00012u-9Q for qemu-devel@nongnu.org; Mon, 15 Jul 2013 11:20:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UykZp-0007sa-Jw for qemu-devel@nongnu.org; Mon, 15 Jul 2013 11:20:40 -0400 Message-ID: <51E41341.4090103@suse.de> Date: Mon, 15 Jul 2013 17:20:33 +0200 From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= MIME-Version: 1.0 References: <1371398269-6213-1-git-send-email-afaerber@suse.de> <1371398269-6213-20-git-send-email-afaerber@suse.de> <51E40D93.40806@redhat.com> In-Reply-To: <51E40D93.40806@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH qom-cpu v2 19/29] cpu: Replace cpu_single_env with CPUState cpu_single_cpu List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Peter Maydell , Anthony Liguori , qemu-devel@nongnu.org, Alexander Graf , Blue Swirl , =?UTF-8?B?SGVydsOpIFBvdXNzaW5lYXU=?= , Paul Brook , Scott Wood , qemu-ppc , Aurelien Jarno , Richard Henderson Am 15.07.2013 16:56, schrieb Paolo Bonzini: > Il 16/06/2013 17:57, Andreas F=C3=A4rber ha scritto: >> Move it to qom/cpu.h. >=20 > Hmm, why move it to qom/cpu.h? Isn't it an implementation detail that > there is a current CPU? We have some ugly include chains - yes, it shouldn't be here forever. Just like the qemu/log.h situation is pretty unsatisfactory (I wouldve liked to place log_cpu_state() into qom/cpu.h but it depends in qemu-common.h and even ignoring that didn't build for all targets depending on include order inside cpu.h and of cpu.h). What we need is (a) header(s) that allows use of CPUState type and that doesn't use CPUArchState or other target-specifics. I believe the benefits of getting rid of CPUArchState outweigh the choice of qom/cpu.h here, which has been serving as a dumpbin for some now CPUState-dependent functions living in exec.c or cpus.c, too, simply because CPUState is guaranteed to be available there and to separate it from anything that still needs to be seen through similar to cpu-qom.h vs. cpu.h. If you have a spontaneous suggestion I'd be all ears. Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=C3=B6rffer; HRB 16746 AG N=C3=BC= rnberg