master
c 29 lines 612 Bytes
Raw
1 /*
2 * arm cpu related code
3 *
4 * Copyright (c) 2013 Stacey D. Son
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8 #include "qemu/osdep.h"
9 #include "target_arch.h"
10
11 void target_cpu_set_tls(CPUARMState *env, target_ulong newtls)
12 {
13 if (access_secure_reg(env)) {
14 env->cp15.tpidrurw_s = newtls;
15 env->cp15.tpidruro_s = newtls;
16 return;
17 }
18
19 env->cp15.tpidr_el[0] = newtls;
20 env->cp15.tpidrro_el[0] = newtls;
21 }
22
23 target_ulong target_cpu_get_tls(CPUARMState *env)
24 {
25 if (access_secure_reg(env)) {
26 return env->cp15.tpidruro_s;
27 }
28 return env->cp15.tpidrro_el[0];
29 }