qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RCF PATCH 0/8] aarch64 migration fixes and psr cleanup
@ 2014-06-02 16:21 Alex Bennée
  2014-06-02 16:21 ` [Qemu-devel] [RCF PATCH 1/8] target-arm/cpu.h: document various program state functions Alex Bennée
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Alex Bennée @ 2014-06-02 16:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias, peter.maydell, Alex Bennée, greg.bellows

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-06-04 13:10 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-02 16:21 [Qemu-devel] [RCF PATCH 0/8] aarch64 migration fixes and psr cleanup Alex Bennée
2014-06-02 16:21 ` [Qemu-devel] [RCF PATCH 1/8] target-arm/cpu.h: document various program state functions Alex Bennée
2014-06-02 16:40   ` Greg Bellows
2014-06-02 16:21 ` [Qemu-devel] [RCF PATCH 2/8] target-arm/cpu.h: implement common state save/restore Alex Bennée
2014-06-02 16:21 ` [Qemu-devel] [RCF PATCH 3/8] target-arm: Support save/load for 64 bit CPUs Alex Bennée
2014-06-02 16:21 ` [Qemu-devel] [RCF PATCH 4/8] target-arm: replace cpsr_read/pstate_read calls Alex Bennée
2014-06-02 16:21 ` [Qemu-devel] [RCF PATCH 5/8] arm/nwfps: remove use of cpsr_write() and set flags directly Alex Bennée
2014-06-03 16:11   ` Peter Maydell
2014-06-04 11:11     ` Alex Bennée
2014-06-04 13:10       ` Peter Maydell
2014-06-02 16:22 ` [Qemu-devel] [RCF PATCH 6/8] linux-user/main.c: __kernel_cmpxchg set env->CF directly Alex Bennée
2014-06-02 16:22 ` [Qemu-devel] [RCF PATCH 7/8] target-arm: remove last users of cpsr_write Alex Bennée
2014-06-02 16:22 ` [Qemu-devel] [RCF PATCH 8/8] target-arm: remove final users of pstate_write Alex Bennée
2014-06-03 10:19   ` Alex Bennée

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).