qemu-e2k/linux-user
Stafford Horne d89e71e873 target/openrisc: implement shadow registers
Shadow registers are part of the openrisc spec along with sr[cid], as
part of the fast context switching feature.  When exceptions occur,
instead of having to save registers to the stack if enabled the CID will
increment and a new set of registers will be available.

This patch only implements shadow registers which can be used as extra
scratch registers via the mfspr and mtspr if required.  This is
implemented in a way where it would be easy to add on the fast context
switching, currently cid is hardcoded to 0.

This is need for openrisc linux smp kernels to boot correctly.

Signed-off-by: Stafford Horne <shorne@gmail.com>
2017-05-04 09:39:01 +09:00
..
aarch64
alpha linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
arm
cris
host linux-user: Fix s390x safe-syscall for z900 2017-02-14 17:18:03 +01:00
hppa linux-user: define correct UTS machine name for hppa 2017-02-06 18:24:40 -08:00
i386
m68k linux-user: Update m68k syscall definitions to match Linux 4.6 2017-02-16 15:29:26 +01:00
microblaze
mips linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
mips64 linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
nios2 nios2: Add usermode binaries emulation 2017-01-24 13:10:35 -08:00
openrisc target/openrisc: implement shadow registers 2017-05-04 09:39:01 +09:00
ppc
s390x
sh4 linux-user: Update sh4 syscall definitions to match Linux 4.8 2017-02-16 15:29:16 +01:00
sparc
sparc64 linux-user: sparc64: Use correct target SHMLBA in shmat() 2016-10-21 15:19:40 +03:00
tilegx
unicore32
x86_64
elfload.c target/openrisc: implement shadow registers 2017-05-04 09:39:01 +09:00
errno_defs.h linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
flat.h
flatload.c
ioctls.h linux-user: Add FICLONE and FICLONERANGE ioctls 2017-02-16 15:29:30 +01:00
linux_loop.h
linuxload.c
m68k-sim.c
main.c target/openrisc: implement shadow registers 2017-05-04 09:39:01 +09:00
Makefile.objs
mmap.c linux-user: fix tcg/mmap test 2017-02-16 15:29:30 +01:00
qemu.h linux-user: Support stack-grows-up in elfload.c 2017-01-22 18:14:10 -08:00
safe-syscall.S
signal.c target/openrisc: implement shadow registers 2017-05-04 09:39:01 +09:00
socket.h linux-user: Add HPPA socket.h definitions 2017-01-23 09:52:39 -08:00
strace.c linux-user: remove ifdef __USER_MISC 2017-02-14 17:18:03 +01:00
strace.list linux-user: Add support for syncfs() syscall 2016-10-21 15:20:13 +03:00
syscall_defs.h linux-user: Add sockopts for IPv6 ping and IPv6 traceroute 2017-02-27 23:10:02 +01:00
syscall_types.h linux-user: Add FICLONE and FICLONERANGE ioctls 2017-02-16 15:29:30 +01:00
syscall.c syscall: fixed mincore(2) not failing with ENOMEM 2017-02-27 23:10:02 +01:00
target_flat.h
trace-events
uaccess.c
uname.c
uname.h
vm86.c