fpreg.c (e534a583cc438ec2e9a7dc534c9d80d14b440718) fpreg.c (c64c67c0748be5afb769a4eedbeb3ce6de36958f)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * arch/alpha/lib/fpreg.c
4 *
5 * (C) Copyright 1998 Linus Torvalds
6 */
7
8#include <linux/compiler.h>

--- 9 unchanged lines hidden (view full) ---

18
19unsigned long
20alpha_read_fp_reg (unsigned long reg)
21{
22 unsigned long val;
23
24 if (unlikely(reg >= 32))
25 return 0;
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * arch/alpha/lib/fpreg.c
4 *
5 * (C) Copyright 1998 Linus Torvalds
6 */
7
8#include <linux/compiler.h>

--- 9 unchanged lines hidden (view full) ---

18
19unsigned long
20alpha_read_fp_reg (unsigned long reg)
21{
22 unsigned long val;
23
24 if (unlikely(reg >= 32))
25 return 0;
26 preempt_enable();
26 preempt_disable();
27 if (current_thread_info()->status & TS_SAVED_FP)
28 val = current_thread_info()->fp[reg];
29 else switch (reg) {
30 case 0: STT( 0, val); break;
31 case 1: STT( 1, val); break;
32 case 2: STT( 2, val); break;
33 case 3: STT( 3, val); break;
34 case 4: STT( 4, val); break;

--- 93 unchanged lines hidden (view full) ---

128unsigned long
129alpha_read_fp_reg_s (unsigned long reg)
130{
131 unsigned long val;
132
133 if (unlikely(reg >= 32))
134 return 0;
135
27 if (current_thread_info()->status & TS_SAVED_FP)
28 val = current_thread_info()->fp[reg];
29 else switch (reg) {
30 case 0: STT( 0, val); break;
31 case 1: STT( 1, val); break;
32 case 2: STT( 2, val); break;
33 case 3: STT( 3, val); break;
34 case 4: STT( 4, val); break;

--- 93 unchanged lines hidden (view full) ---

128unsigned long
129alpha_read_fp_reg_s (unsigned long reg)
130{
131 unsigned long val;
132
133 if (unlikely(reg >= 32))
134 return 0;
135
136 preempt_enable();
136 preempt_disable();
137 if (current_thread_info()->status & TS_SAVED_FP) {
138 LDT(0, current_thread_info()->fp[reg]);
139 STS(0, val);
140 } else switch (reg) {
141 case 0: STS( 0, val); break;
142 case 1: STS( 1, val); break;
143 case 2: STS( 2, val); break;
144 case 3: STS( 3, val); break;

--- 88 unchanged lines hidden ---
137 if (current_thread_info()->status & TS_SAVED_FP) {
138 LDT(0, current_thread_info()->fp[reg]);
139 STS(0, val);
140 } else switch (reg) {
141 case 0: STS( 0, val); break;
142 case 1: STS( 1, val); break;
143 case 2: STS( 2, val); break;
144 case 3: STS( 3, val); break;

--- 88 unchanged lines hidden ---