xref: /openbmc/qemu/linux-user/xtensa/target_cpu.h (revision 429d3ae2)
1 /*
2  * Xtensa-specific CPU ABI and functions for linux-user
3  */
4 #ifndef XTENSA_TARGET_CPU_H
5 #define XTENSA_TARGET_CPU_H
6 
7 static inline void cpu_clone_regs(CPUXtensaState *env, target_ulong newsp)
8 {
9     if (newsp) {
10         env->regs[1] = newsp;
11         env->sregs[WINDOW_BASE] = 0;
12         env->sregs[WINDOW_START] = 0x1;
13     }
14     env->regs[2] = 0;
15 }
16 
17 static inline void cpu_set_tls(CPUXtensaState *env, target_ulong newtls)
18 {
19     env->uregs[THREADPTR] = newtls;
20 }
21 
22 static inline abi_ulong get_sp_from_cpustate(CPUXtensaState *state)
23 {
24     return state->regs[1];
25 }
26 #endif
27