xref: /qemu/linux-user/hppa/target_cpu.h (revision 925ccf32364026f17764c454d4c5ecec3c4310ba)
1*925ccf32SRichard Henderson /*
2*925ccf32SRichard Henderson  * HPPA specific CPU ABI and functions for linux-user
3*925ccf32SRichard Henderson  *
4*925ccf32SRichard Henderson  *  Copyright (c) 2016  Richard Henderson
5*925ccf32SRichard Henderson  *
6*925ccf32SRichard Henderson  * This library is free software; you can redistribute it and/or
7*925ccf32SRichard Henderson  * modify it under the terms of the GNU Lesser General Public
8*925ccf32SRichard Henderson  * License as published by the Free Software Foundation; either
9*925ccf32SRichard Henderson  * version 2 of the License, or (at your option) any later version.
10*925ccf32SRichard Henderson  *
11*925ccf32SRichard Henderson  * This library is distributed in the hope that it will be useful,
12*925ccf32SRichard Henderson  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13*925ccf32SRichard Henderson  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14*925ccf32SRichard Henderson  * Lesser General Public License for more details.
15*925ccf32SRichard Henderson  *
16*925ccf32SRichard Henderson  * You should have received a copy of the GNU Lesser General Public
17*925ccf32SRichard Henderson  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18*925ccf32SRichard Henderson  */
19*925ccf32SRichard Henderson #ifndef ALPHA_TARGET_CPU_H
20*925ccf32SRichard Henderson #define ALPHA_TARGET_CPU_H
21*925ccf32SRichard Henderson 
22*925ccf32SRichard Henderson static inline void cpu_clone_regs(CPUHPPAState *env, target_ulong newsp)
23*925ccf32SRichard Henderson {
24*925ccf32SRichard Henderson     if (newsp) {
25*925ccf32SRichard Henderson         env->gr[30] = newsp;
26*925ccf32SRichard Henderson     }
27*925ccf32SRichard Henderson     env->gr[28] = 0;
28*925ccf32SRichard Henderson }
29*925ccf32SRichard Henderson 
30*925ccf32SRichard Henderson static inline void cpu_set_tls(CPUHPPAState *env, target_ulong newtls)
31*925ccf32SRichard Henderson {
32*925ccf32SRichard Henderson     env->cr27 = newtls;
33*925ccf32SRichard Henderson }
34*925ccf32SRichard Henderson 
35*925ccf32SRichard Henderson #endif
36