[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RCF PATCH 0/8] aarch64 migration fixes and psr cleanup
From: |
Alex Bennée |
Subject: |
[Qemu-devel] [RCF PATCH 0/8] aarch64 migration fixes and psr cleanup |
Date: |
Mon, 2 Jun 2014 17:21:54 +0100 |
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
- [Qemu-devel] [RCF PATCH 0/8] aarch64 migration fixes and psr cleanup,
Alex Bennée <=
- [Qemu-devel] [RCF PATCH 1/8] target-arm/cpu.h: document various program state functions, Alex Bennée, 2014/06/02
- [Qemu-devel] [RCF PATCH 2/8] target-arm/cpu.h: implement common state save/restore, Alex Bennée, 2014/06/02
- [Qemu-devel] [RCF PATCH 3/8] target-arm: Support save/load for 64 bit CPUs, Alex Bennée, 2014/06/02
- [Qemu-devel] [RCF PATCH 4/8] target-arm: replace cpsr_read/pstate_read calls, Alex Bennée, 2014/06/02
- [Qemu-devel] [RCF PATCH 5/8] arm/nwfps: remove use of cpsr_write() and set flags directly, Alex Bennée, 2014/06/02
- [Qemu-devel] [RCF PATCH 6/8] linux-user/main.c: __kernel_cmpxchg set env->CF directly, Alex Bennée, 2014/06/02