1*ba7651fbSMax Filippov /* 2*ba7651fbSMax Filippov * Xtensa-specific CPU ABI and functions for linux-user 3*ba7651fbSMax Filippov */ 4*ba7651fbSMax Filippov #ifndef XTENSA_TARGET_CPU_H 5*ba7651fbSMax Filippov #define XTENSA_TARGET_CPU_H 6*ba7651fbSMax Filippov 7*ba7651fbSMax Filippov static inline void cpu_clone_regs(CPUXtensaState *env, target_ulong newsp) 8*ba7651fbSMax Filippov { 9*ba7651fbSMax Filippov if (newsp) { 10*ba7651fbSMax Filippov env->regs[1] = newsp; 11*ba7651fbSMax Filippov env->sregs[WINDOW_BASE] = 0; 12*ba7651fbSMax Filippov env->sregs[WINDOW_START] = 0x1; 13*ba7651fbSMax Filippov } 14*ba7651fbSMax Filippov env->regs[2] = 0; 15*ba7651fbSMax Filippov } 16*ba7651fbSMax Filippov 17*ba7651fbSMax Filippov static inline void cpu_set_tls(CPUXtensaState *env, target_ulong newtls) 18*ba7651fbSMax Filippov { 19*ba7651fbSMax Filippov env->uregs[THREADPTR] = newtls; 20*ba7651fbSMax Filippov } 21*ba7651fbSMax Filippov 22*ba7651fbSMax Filippov #endif 23