qemu_plugin_get_registers() may be called before cpu_exec(), and it requires current_cpu.
Signed-off-by: Ilya Leoshkevich <i...@linux.ibm.com> --- bsd-user/main.c | 1 + linux-user/main.c | 1 + linux-user/syscall.c | 1 + 3 files changed, 3 insertions(+) diff --git a/bsd-user/main.c b/bsd-user/main.c index b424a21f643..fb70aadbcee 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -617,6 +617,7 @@ int main(int argc, char **argv) gdbserver_start(gdbstub); gdb_handlesig(cpu, 0, NULL, NULL, 0); } + current_cpu = cpu; cpu_loop(env); /* never exits */ return 0; diff --git a/linux-user/main.c b/linux-user/main.c index 60091cf3053..4a794445d72 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -1022,6 +1022,7 @@ int main(int argc, char **argv, char **envp) qemu_semihosting_guestfd_init(); #endif + current_cpu = cpu; cpu_loop(env); /* never exits */ return 0; diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 344c2e65234..46a8ba7098c 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -6531,6 +6531,7 @@ static void *clone_func(void *arg) pthread_mutex_lock(&clone_lock); pthread_mutex_unlock(&clone_lock); bql_lock(); + current_cpu = cpu; cpu_loop(env); /* never exits */ return NULL; -- 2.46.0