Lines Matching refs:regno
75 static inline long get_reg(struct task_struct *task, int regno)
79 if (regno == PT_USP)
81 else if (regno < ARRAY_SIZE(regoff))
82 addr = (unsigned long *)(task->thread.esp0 + regoff[regno]);
86 if (regno == PT_SR || regno == PT_PC) {
90 if (regno == PT_SR)
99 static inline int put_reg(struct task_struct *task, int regno,
104 if (regno == PT_USP)
106 else if (regno < ARRAY_SIZE(regoff))
107 addr = (unsigned long *)(task->thread.esp0 + regoff[regno]);
111 if (regno == PT_SR || regno == PT_PC) {
115 if (regno == PT_SR) {
167 int regno = addr >> 2; /* temporary hack. */
176 if (regno >= 0 && regno < 19) {
177 tmp = get_reg(child, regno);
178 } else if (regno >= 21 && regno < 49) {
179 tmp = child->thread.fp[regno - 21];
183 if (FPU_IS_EMU && (regno < 45) && !(regno % 3))
187 } else if (regno == 49) {
189 } else if (regno == 50) {
191 } else if (regno == 51) {
204 if (regno == PT_SR) {
208 if (regno >= 0 && regno < 19) {
209 if (put_reg(child, regno, data))
211 } else if (regno >= 21 && regno < 48) {
215 if (FPU_IS_EMU && (regno < 45) && !(regno % 3)) {
220 child->thread.fp[regno - 21] = data;