xemu/linux-user
Peter Maydell d356312fdc target-arm: Clean up handling of AArch64 PSTATE
The env->pstate field is a little odd since it doesn't strictly
speaking represent an architectural register. However it's convenient
for QEMU to use it to hold the various PSTATE architectural bits
in the same format the architecture specifies for SPSR registers
(since this is the same format the kernel uses for signal handlers
and the KVM register). Add some structure to how we deal with it:
 * document what env->pstate is
 * add some #defines for various bits in it
 * add helpers for reading/writing it taking account of caching
   of NZCV, and use them where appropriate
 * reset it on startup

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1385645602-18662-3-git-send-email-peter.maydell@linaro.org
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-12-17 19:42:30 +00:00
..
aarch64 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
alpha linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
arm linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
cris linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
i386 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
m68k linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
microblaze linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
mips linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
mips64 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
openrisc linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
ppc linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
s390x linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
sh4 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
sparc linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
sparc64 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
unicore32 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
x86_64 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
cpu-uname.c linux-user: Don't treat AArch64 cpu names specially 2013-09-10 19:11:28 +01:00
cpu-uname.h linux-user: adapt uname machine to emulated CPU 2010-02-06 17:19:43 +01:00
elfload.c linux-user: Add AArch64 support 2013-09-10 19:11:29 +01:00
errno_defs.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
flat.h Support for 32 bit ABI on 64 bit targets (only enabled Sparc64) 2007-10-14 16:27:31 +00:00
flatload.c flatload: fix non-GOT relocations 2013-11-29 10:58:37 +02:00
ioctls.h linux-user: allow use of TIOCGSID 2013-09-24 10:47:07 +03:00
linux_loop.h Fix build failure with old kernel headers (loop.h is incompatible with 2008-05-23 16:06:43 +00:00
linuxload.c linux-user: add support of binfmt_misc 'O' flag 2013-09-24 10:47:07 +03:00
m68k-sim.c linux-user: Fix typo m86k -> m68k 2010-10-05 13:53:56 -05:00
main.c linux-user: Use qemu_getauxval for AT_EXECFD 2013-11-30 07:48:46 +13:00
Makefile.objs build: move *-user/ objects to nested Makefile.objs 2012-06-07 07:17:33 +02:00
mmap.c configure: Make NPTL non-optional 2013-07-22 21:54:52 +03:00
qemu.h linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
signal.c target-arm: Clean up handling of AArch64 PSTATE 2013-12-17 19:42:30 +00:00
socket.h linux-user: improve target_to_host_sock_type conversion 2013-07-05 15:45:40 +03:00
strace.c linux-user: Don't omit comma for strace of rt_sigaction() 2013-04-05 14:40:54 +02:00
strace.list [v2] linux-user: implement m68k atomic syscalls 2013-09-24 10:47:07 +03:00
syscall_defs.h linux-user: Add target struct defs needed for POSIX timer syscalls. 2013-11-29 10:58:10 +02:00
syscall_types.h linux-user: Fix SNDCTL_DSP_MAP{IN, OUT}BUF ioctl definitions 2012-08-13 12:45:46 +01:00
syscall.c linux-user: pass correct parameter to do_shmctl() 2013-11-29 11:42:14 +02:00
target_flat.h linux-user/FLAT: allow targets to override FLAT processing 2011-02-09 10:33:54 +02:00
uaccess.c Fix missing strnlen problems 2009-07-01 18:24:44 +00:00
vm86.c linux-user: fix abi_(u)long, target_ulong mismatch 2011-10-27 14:42:16 +03:00