qemu-patch-raspberry4/linux-user
Paul Brook d8fd295499 Userspace ARM BE8 support
Add support for ARM BE8 userspace binaries.
i.e. big-endian data and little-endian code.
In principle LE8 mode is also possible, but AFAIK has never actually
been implemented/used.

System emulation doesn't have any useable big-endian board models,
but should in principle work once you fix that.
Dynamic endianness switching requires messing with data accesses,
preferably with TCG cooperation, and is orthogonal to BE8 support.

Signed-off-by: Paul Brook <paul@codesourcery.com>
[PMM: various changes, mostly as per my suggestions in code review:
 * rebase
 * use EF_ defines rather than hardcoded constants
 * make bswap_code a bool for future VMSTATE macro compatibility
 * update comment in cpu.h about TB flags bit field usage
 * factor out load-code-and-swap into arm_ld*_code functions and
   get_user_code* macros
 * fix stray trailing space at end of line
 * added braces in disas.c to satisfy checkpatch
]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2012-04-06 19:25:57 +03:00
..
alpha linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
arm linux-user/arm/syscall_nr.h: Add syscall number for ppoll 2012-04-06 18:49:58 +03:00
cris linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
i386 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
m68k linux-user: Don't overuse CPUState 2012-03-14 22:20:24 +01:00
microblaze linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
mips linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
mips64 linux-user: Define TARGET_QEMU_ESIGRETURN for mips64 2012-02-02 17:51:21 +02:00
mipsn32 linux-user: Define TARGET_QEMU_ESIGRETURN for mipsn32 2012-02-02 17:51:20 +02:00
ppc linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
s390x linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
sh4 linux-user: correct syscall 123 on sh4 2011-07-13 17:11:37 +03:00
sparc sparc-linux-user: Add some missing syscall numbers 2011-10-27 14:43:10 +03:00
sparc64 linux-user: Add syscall numbers from kernel 2.6.39.2 2011-07-11 16:12:51 +03:00
unicore32 unicore32: add necessry headers in linux-user/unicore32 for unicore32 support 2011-04-12 18:48:43 +00:00
x86_64 Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
cpu-uname.c linux-user/cpu-uname.c: Convert to UTF-8 2011-12-06 10:04:36 +00:00
cpu-uname.h linux-user: adapt uname machine to emulated CPU 2010-02-06 17:19:43 +01:00
elfload.c Userspace ARM BE8 support 2012-04-06 19:25:57 +03: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 fix spelling in linux-user sub directory 2011-12-02 10:50:56 +00:00
ioctls.h linux-user: Add ioctl for BLKBSZGET 2012-04-06 18:49:58 +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/elfload.c: Don't memset(NULL..) if malloc() failed 2011-11-11 12:49:53 -06:00
m68k-sim.c linux-user: Fix typo m86k -> m68k 2010-10-05 13:53:56 -05:00
main.c Userspace ARM BE8 support 2012-04-06 19:25:57 +03:00
mmap.c linux-user: resolve reserved_va vma downwards 2012-04-06 18:49:58 +03:00
qemu-types.h linux-user: fix abi_(u)long, target_ulong mismatch 2011-10-27 14:42:16 +03:00
qemu.h Userspace ARM BE8 support 2012-04-06 19:25:57 +03:00
signal.c Bad zero comparison for sas_ss_flags on powerpc 2012-03-15 13:12:10 +01:00
socket.h Various linux-user structures and definitions fixes for PowerPC targets. 2007-12-10 08:24:59 +00:00
strace.c linux-user/strace.c: Correct errno printing for mmap etc 2012-02-02 17:51:20 +02:00
strace.list linux-user: improve traces 2011-04-26 10:15:40 +03:00
syscall.c linux-user: Add support for prctl PR_GET_NAME and PR_SET_NAME 2012-04-06 18:49:58 +03:00
syscall_defs.h linux-user: fix BLK ioctl arguments 2012-04-06 18:49:58 +03:00
syscall_types.h linux-user: add struct old_dev_t compat 2012-04-06 18:49:58 +03: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