From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41262) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X731Y-0001Rz-AC for qemu-devel@nongnu.org; Tue, 15 Jul 2014 09:44:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X731X-0005bg-AN for qemu-devel@nongnu.org; Tue, 15 Jul 2014 09:44:04 -0400 Received: from [2001:4b98:dc0:45:216:3eff:fe3d:166f] (port=52322 helo=afflict.kos.to) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X731X-0005bP-2O for qemu-devel@nongnu.org; Tue, 15 Jul 2014 09:44:03 -0400 Date: Tue, 15 Jul 2014 16:44:02 +0300 From: Riku Voipio Message-ID: <20140715134402.GI607@afflict.kos.to> References: <1405007407-23549-1-git-send-email-alex.bennee@linaro.org> <1405007407-23549-9-git-send-email-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1405007407-23549-9-git-send-email-alex.bennee@linaro.org> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 08/10] target-arm: remove final users of pstate_write List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex =?utf-8?Q?Benn=C3=A9e?= Cc: Peter Maydell , Riku Voipio , qemu-devel@nongnu.org On Thu, Jul 10, 2014 at 04:50:05PM +0100, Alex Benn=C3=A9e wrote: > This converts all users of pstate_write to use the common state > save/restore functionality. Acked-by: Riku Voipio > Signed-off-by: Alex Benn=C3=A9e >=20 > diff --git a/linux-user/signal.c b/linux-user/signal.c > index b6f9ef4..b1958a5 100644 > --- a/linux-user/signal.c > +++ b/linux-user/signal.c > @@ -1274,7 +1274,7 @@ static int target_restore_sigframe(CPUARMState *e= nv, > __get_user(env->xregs[31], &sf->uc.tuc_mcontext.sp); > __get_user(env->pc, &sf->uc.tuc_mcontext.pc); > __get_user(pstate, &sf->uc.tuc_mcontext.pstate); > - pstate_write(env, pstate); > + restore_state_from_spsr(env, pstate); > =20 > __get_user(magic, &aux->fpsimd.head.magic); > __get_user(size, &aux->fpsimd.head.size); > diff --git a/target-arm/gdbstub64.c b/target-arm/gdbstub64.c > index 76d1b91..366335a 100644 > --- a/target-arm/gdbstub64.c > +++ b/target-arm/gdbstub64.c > @@ -63,7 +63,7 @@ int aarch64_cpu_gdb_write_register(CPUState *cs, uint= 8_t *mem_buf, int n) > return 8; > case 33: > /* SPSR */ > - pstate_write(env, tmp); > + restore_state_from_spsr(env, tmp); > return 4; > } > /* Unknown register. */ > diff --git a/target-arm/helper-a64.c b/target-arm/helper-a64.c > index 03cd64f..990b084 100644 > --- a/target-arm/helper-a64.c > +++ b/target-arm/helper-a64.c > @@ -507,9 +507,8 @@ void aarch64_cpu_do_interrupt(CPUState *cs) > env->condexec_bits =3D 0; > } > =20 > - // TODO: restore_state_from_spsr() > - env->aarch64 =3D 1; > - pstate_write(env, PSTATE_DAIF | PSTATE_MODE_EL1h); > + /* start IRQ with a clean program state */ > + restore_state_from_spsr(env, PSTATE_DAIF | PSTATE_MODE_EL1h); > =20 > env->pc =3D addr; > cs->interrupt_request |=3D CPU_INTERRUPT_EXITTB; > diff --git a/target-arm/kvm64.c b/target-arm/kvm64.c > index eaf6ff8..7a022a6 100644 > --- a/target-arm/kvm64.c > +++ b/target-arm/kvm64.c > @@ -230,7 +230,7 @@ int kvm_arch_get_registers(CPUState *cs) > if (ret) { > return ret; > } > - pstate_write(env, val); > + restore_state_from_spsr(env, val); > =20 > /* KVM puts SP_EL0 in regs.sp and SP_EL1 in regs.sp_el1. On the > * QEMU side we keep the current SP in xregs[31] as well. > --=20 > 2.0.1 >=20