From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N7dIW-0008W5-3C for qemu-devel@nongnu.org; Mon, 09 Nov 2009 18:05:20 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N7dIR-0008Vc-GJ for qemu-devel@nongnu.org; Mon, 09 Nov 2009 18:05:19 -0500 Received: from [199.232.76.173] (port=35330 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N7dIR-0008VR-Cw for qemu-devel@nongnu.org; Mon, 09 Nov 2009 18:05:15 -0500 Received: from fmmailgate03.web.de ([217.72.192.234]:38669) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N7dIQ-0003kT-Le for qemu-devel@nongnu.org; Mon, 09 Nov 2009 18:05:15 -0500 Message-ID: <4AF89FB9.5080405@web.de> Date: Tue, 10 Nov 2009 00:03:21 +0100 From: Jan Kiszka MIME-Version: 1.0 References: <204026d59328febd9789.1257800737@localhost.localdomain> <4AF893BC.2040507@web.de> In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig7FA827DE8A7C05B04A7FB583" Sender: jan.kiszka@web.de Subject: [Qemu-devel] Re: [PATCH 1 of 2] kvm: Move KVM mp_state accessors to i386-specific code List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hollis Blanchard Cc: kvm-ppc , Anthony Liguori , qemu-devel , Hollis Blanchard This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig7FA827DE8A7C05B04A7FB583 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hollis Blanchard wrote: > This is the technique Anthony requested this morning, rather than > relocating mp_state. Then let's move it. There is not that much code to share anyway. > To be honest, I don't care which way it's fixed; > this is at least the 3rd patch to solve this seemingly trivial > problem. That's indeed unfortunate, but I think to remember that not all of these attempts were clean. Jan >=20 > /home/hollisb/source/qemu-fresh.hg/kvm-all.c: In function 'kvm_put_mp_s= tate': > /home/hollisb/source/qemu-fresh.hg/kvm-all.c:212: error: 'struct > CPUPPCState' has no member named 'mp_state' >=20 > -Hollis >=20 > On Mon, Nov 9, 2009 at 2:12 PM, Jan Kiszka wrote: >> Hollis Blanchard wrote: >>> Unbreaks PowerPC and S390 KVM builds. >> What breaks precisely? >> >> Note that KVM_GET/SET_MP_STATE are generic IOCTLs and supposed to be >> shared with ia64 - one day. We could still move things back then, but >> maybe we can handle the build issues already in place, specifically as= >> qemu-kvm is carrying this in generic code since ages. >> >> Jan >> >>> Signed-off-by: Hollis Blanchard >>> >>> diff --git a/kvm-all.c b/kvm-all.c >>> --- a/kvm-all.c >>> +++ b/kvm-all.c >>> @@ -207,26 +207,6 @@ err: >>> return ret; >>> } >>> >>> -int kvm_put_mp_state(CPUState *env) >>> -{ >>> - struct kvm_mp_state mp_state =3D { .mp_state =3D env->mp_state }= ; >>> - >>> - return kvm_vcpu_ioctl(env, KVM_SET_MP_STATE, &mp_state); >>> -} >>> - >>> -int kvm_get_mp_state(CPUState *env) >>> -{ >>> - struct kvm_mp_state mp_state; >>> - int ret; >>> - >>> - ret =3D kvm_vcpu_ioctl(env, KVM_GET_MP_STATE, &mp_state); >>> - if (ret < 0) { >>> - return ret; >>> - } >>> - env->mp_state =3D mp_state.mp_state; >>> - return 0; >>> -} >>> - >>> /* >>> * dirty pages logging control >>> */ >>> diff --git a/kvm.h b/kvm.h >>> --- a/kvm.h >>> +++ b/kvm.h >>> @@ -74,9 +74,6 @@ int kvm_vm_ioctl(KVMState *s, int type, >>> >>> int kvm_vcpu_ioctl(CPUState *env, int type, ...); >>> >>> -int kvm_get_mp_state(CPUState *env); >>> -int kvm_put_mp_state(CPUState *env); >>> - >>> /* Arch specific hooks */ >>> >>> int kvm_arch_post_run(CPUState *env, struct kvm_run *run); >>> diff --git a/target-i386/kvm.c b/target-i386/kvm.c >>> --- a/target-i386/kvm.c >>> +++ b/target-i386/kvm.c >>> @@ -659,6 +659,26 @@ static int kvm_get_msrs(CPUState *env) >>> return 0; >>> } >>> >>> +static int kvm_put_mp_state(CPUState *env) >>> +{ >>> + struct kvm_mp_state mp_state =3D { .mp_state =3D env->mp_state }= ; >>> + >>> + return kvm_vcpu_ioctl(env, KVM_SET_MP_STATE, &mp_state); >>> +} >>> + >>> +static int kvm_get_mp_state(CPUState *env) >>> +{ >>> + struct kvm_mp_state mp_state; >>> + int ret; >>> + >>> + ret =3D kvm_vcpu_ioctl(env, KVM_GET_MP_STATE, &mp_state); >>> + if (ret < 0) { >>> + return ret; >>> + } >>> + env->mp_state =3D mp_state.mp_state; >>> + return 0; >>> +} >>> + >>> int kvm_arch_put_registers(CPUState *env) >>> { >>> int ret; >> >> --------------enig7FA827DE8A7C05B04A7FB583 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iEYEARECAAYFAkr4n74ACgkQitSsb3rl5xS3sACgu4++NHUx/N/1SMNTNskXzfRR fmYAoMkF1vSWq39mPdBM/aZ2dQ/9/32y =X+Hg -----END PGP SIGNATURE----- --------------enig7FA827DE8A7C05B04A7FB583--