xref: /qemu/linux-user/openrisc/target_cpu.h (revision 55c5063c61e030c533b4bca8ef2a2ad26f1bc73a)
16291ad77SPeter Maydell /*
26291ad77SPeter Maydell  * OpenRISC specific CPU ABI and functions for linux-user
36291ad77SPeter Maydell  *
46291ad77SPeter Maydell  * Copyright (c) 2011-2012 Jia Liu <proljc@gmail.com>
56291ad77SPeter Maydell  *
66291ad77SPeter Maydell  * This library is free software; you can redistribute it and/or
76291ad77SPeter Maydell  * modify it under the terms of the GNU Lesser General Public
86291ad77SPeter Maydell  * License as published by the Free Software Foundation; either
96291ad77SPeter Maydell  * version 2 of the License, or (at your option) any later version.
106291ad77SPeter Maydell  *
116291ad77SPeter Maydell  * This library is distributed in the hope that it will be useful,
126291ad77SPeter Maydell  * but WITHOUT ANY WARRANTY; without even the implied warranty of
136291ad77SPeter Maydell  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
146291ad77SPeter Maydell  * Lesser General Public License for more details.
156291ad77SPeter Maydell  *
166291ad77SPeter Maydell  * You should have received a copy of the GNU Lesser General Public
176291ad77SPeter Maydell  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
186291ad77SPeter Maydell  */
196291ad77SPeter Maydell 
20*55c5063cSMarkus Armbruster #ifndef OPENRISC_TARGET_CPU_H
21*55c5063cSMarkus Armbruster #define OPENRISC_TARGET_CPU_H
226291ad77SPeter Maydell 
236291ad77SPeter Maydell static inline void cpu_clone_regs(CPUOpenRISCState *env, target_ulong newsp)
246291ad77SPeter Maydell {
256291ad77SPeter Maydell     if (newsp) {
266291ad77SPeter Maydell         env->gpr[1] = newsp;
276291ad77SPeter Maydell     }
28442a59c8SPeter Maydell     env->gpr[11] = 0;
296291ad77SPeter Maydell }
306291ad77SPeter Maydell 
31442a59c8SPeter Maydell static inline void cpu_set_tls(CPUOpenRISCState *env, target_ulong newtls)
32442a59c8SPeter Maydell {
33442a59c8SPeter Maydell     /* Linux kernel 3.10 does not pay any attention to CLONE_SETTLS
34442a59c8SPeter Maydell      * in copy_thread(), so QEMU need not do so either.
35442a59c8SPeter Maydell      */
36442a59c8SPeter Maydell }
376291ad77SPeter Maydell 
386291ad77SPeter Maydell #endif
39