summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Filippov2020-08-29 12:47:58 +0200
committerLaurent Vivier2020-10-26 12:07:19 +0100
commitab97f0505bec6280c5455009b7678daf5c9278bc (patch)
treec803338253b1cfba0ab39cc99c447dfe736d3080
parentlinux-user: correct errno returned from accept4() syscall (diff)
downloadqemu-ab97f0505bec6280c5455009b7678daf5c9278bc.tar.gz
qemu-ab97f0505bec6280c5455009b7678daf5c9278bc.tar.xz
qemu-ab97f0505bec6280c5455009b7678daf5c9278bc.zip
target/xtensa: enable all coprocessors for linux-user
Linux userspace always sees coprocessors as enabled. CPENABLE register and coprocessor exceptions are used internally by the kernel to manage lazy coprocessor context switch. None of it is needed for linux-user. Always enable all coprocessors for user emulation. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20200829104758.22337-1-jcmvbkbc@gmail.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
-rw-r--r--target/xtensa/cpu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/target/xtensa/cpu.c b/target/xtensa/cpu.c
index 6a033e778c..88a32268a1 100644
--- a/target/xtensa/cpu.c
+++ b/target/xtensa/cpu.c
@@ -93,6 +93,7 @@ static void xtensa_cpu_reset(DeviceState *dev)
!xtensa_abi_call0()) {
env->sregs[PS] |= PS_WOE;
}
+ env->sregs[CPENABLE] = 0xff;
#endif
env->sregs[VECBASE] = env->config->vecbase;
env->sregs[IBREAKENABLE] = 0;