From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39332) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WrV03-0004Qi-3i for qemu-devel@nongnu.org; Mon, 02 Jun 2014 12:22:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WrUzv-0007Bi-Jx for qemu-devel@nongnu.org; Mon, 02 Jun 2014 12:22:15 -0400 Received: from static.88-198-71-155.clients.your-server.de ([88.198.71.155]:41872 helo=socrates.bennee.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WrUzv-0007BY-Df for qemu-devel@nongnu.org; Mon, 02 Jun 2014 12:22:07 -0400 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Mon, 2 Jun 2014 17:21:54 +0100 Message-Id: <1401726122-11132-1-git-send-email-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [RCF PATCH 0/8] aarch64 migration fixes and psr cleanup List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: edgar.iglesias@xilinx.com, peter.maydell@linaro.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , greg.bellows@linaro.org Hi, This started with a hack-patch Peter had written to get migration working for aarch64 system images. It was noted that cpu.h was starting to proliferate program state functions. This series attempts to fix that by: - creating a "universal" save/restore_to/from_spsr function - using that for migration purposes - removing existing use of cpsr/pstate_read/write functions - fixing some places to manipulate integer flags directly Hanging questions: - should xpsr_read/write get merged or left as it's own special snowflake? - should env->uncached_cpsr and env->pstate be totally hidden behind access functions so other flags can get split (i.e. env->el_mode?) I've tested this with ARMv7 and ARMv8 with aarch32 user-space system images. I've not given it a good linux-user test yet so I'm less sure about the sigcontext manipulation code. Comments? Cheers, -- Alex Bennée QEMU/KVM Hacker for Linaro Alex Bennée (8): target-arm/cpu.h: document various program state functions target-arm/cpu.h: implement common state save/restore target-arm: Support save/load for 64 bit CPUs target-arm: replace cpsr_read/pstate_read calls arm/nwfps: remove use of cpsr_write() and set flags directly linux-user/main.c: __kernel_cmpxchg set env->CF directly target-arm: remove last users of cpsr_write target-arm: remove final users of pstate_write linux-user/arm/nwfpe/fpa11.h | 5 +- linux-user/elfload.c | 4 +- linux-user/main.c | 16 ++-- linux-user/signal.c | 64 ++++++++-------- target-arm/cpu.h | 173 ++++++++++++++++++++++++++++++++++--------- target-arm/gdbstub.c | 10 ++- target-arm/gdbstub64.c | 6 +- target-arm/helper-a64.c | 11 +-- target-arm/helper.c | 76 +------------------ target-arm/kvm32.c | 4 +- target-arm/kvm64.c | 4 +- target-arm/machine.c | 27 ++++--- target-arm/op_helper.c | 55 +++++++++++--- target-arm/translate-a64.c | 2 +- target-arm/translate.c | 2 +- 15 files changed, 266 insertions(+), 193 deletions(-) -- 2.0.0