From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NF4zu-00038r-7z for qemu-devel@nongnu.org; Mon, 30 Nov 2009 07:04:54 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NF4zp-00035p-3i for qemu-devel@nongnu.org; Mon, 30 Nov 2009 07:04:53 -0500 Received: from [199.232.76.173] (port=50653 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NF4zp-00035j-1O for qemu-devel@nongnu.org; Mon, 30 Nov 2009 07:04:49 -0500 Received: from mx1.redhat.com ([209.132.183.28]:16100) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NF4zo-0004gZ-JR for qemu-devel@nongnu.org; Mon, 30 Nov 2009 07:04:48 -0500 Date: Mon, 30 Nov 2009 14:04:44 +0200 From: Gleb Natapov Subject: Re: [Qemu-devel] [PATCH 5/7] tell kernel about all registers instead of just mp_state Message-ID: <20091130120444.GH30150@redhat.com> References: <1259256300-23937-1-git-send-email-glommer@redhat.com> <1259256300-23937-2-git-send-email-glommer@redhat.com> <1259256300-23937-3-git-send-email-glommer@redhat.com> <1259256300-23937-4-git-send-email-glommer@redhat.com> <1259256300-23937-5-git-send-email-glommer@redhat.com> <1259256300-23937-6-git-send-email-glommer@redhat.com> <4B129425.8090006@redhat.com> <5d6222a80911300345w3df34c9bvad12344df484d935@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <5d6222a80911300345w3df34c9bvad12344df484d935@mail.gmail.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Glauber Costa Cc: qemu-devel@nongnu.org, Glauber Costa , Avi Kivity , aliguori@us.ibm.com On Mon, Nov 30, 2009 at 09:45:56AM -0200, Glauber Costa wrote: > >> since > >> + =9A =9A * apic base was just updated > >> + =9A =9A */ > >> + =9A =9Akvm_arch_put_registers(s->cpu_env); > >> > >> > > > > Better to use cpu_synchronize_state() instead. > > > I might be misreading it, but : >=20 > void kvm_cpu_synchronize_state(CPUState *env) > { > if (!env->kvm_state->regs_modified) { > kvm_arch_get_registers(env); > env->kvm_state->regs_modified =3D 1; > } > } >=20 > Only does get. And we need put. >=20 Put is on the entry into the kernel in vcpu_run. -- Gleb.