aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2020-08-29 03:47:58 -0700
committerLaurent Vivier <laurent@vivier.eu>2020-10-26 12:07:19 +0100
commitab97f0505bec6280c5455009b7678daf5c9278bc (patch)
treec803338253b1cfba0ab39cc99c447dfe736d3080
parente554eb4bb56395b1e3b7042dc6974dc87de3f4d1 (diff)
downloadqemu-ab97f0505bec6280c5455009b7678daf5c9278bc.zip
qemu-ab97f0505bec6280c5455009b7678daf5c9278bc.tar.gz
qemu-ab97f0505bec6280c5455009b7678daf5c9278bc.tar.bz2
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 6a033e7..88a3226 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;