Changes in kernel/arch/ppc32/src/fpu_context.S [9d58539:a595f5a] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ppc32/src/fpu_context.S
r9d58539 ra595f5a 28 28 29 29 #include <arch/asm/regname.h> 30 #include <arch/context_offset.h> 30 #include <arch/fpu_context_struct.h> 31 #include <arch/msr.h> 31 32 32 33 .text … … 39 40 40 41 .macro FPU_CONTEXT_STORE r 41 stfd fr14, OFFSET_FR14(\r) 42 stfd fr15, OFFSET_FR15(\r) 43 stfd fr16, OFFSET_FR16(\r) 44 stfd fr17, OFFSET_FR17(\r) 45 stfd fr18, OFFSET_FR18(\r) 46 stfd fr19, OFFSET_FR19(\r) 47 stfd fr20, OFFSET_FR20(\r) 48 stfd fr21, OFFSET_FR21(\r) 49 stfd fr22, OFFSET_FR22(\r) 50 stfd fr23, OFFSET_FR23(\r) 51 stfd fr24, OFFSET_FR24(\r) 52 stfd fr25, OFFSET_FR25(\r) 53 stfd fr26, OFFSET_FR26(\r) 54 stfd fr27, OFFSET_FR27(\r) 55 stfd fr28, OFFSET_FR28(\r) 56 stfd fr29, OFFSET_FR29(\r) 57 stfd fr30, OFFSET_FR30(\r) 58 stfd fr31, OFFSET_FR31(\r) 42 stfd fr0, FPU_CONTEXT_OFFSET_FR0(\r) 43 stfd fr1, FPU_CONTEXT_OFFSET_FR1(\r) 44 stfd fr2, FPU_CONTEXT_OFFSET_FR2(\r) 45 stfd fr3, FPU_CONTEXT_OFFSET_FR3(\r) 46 stfd fr4, FPU_CONTEXT_OFFSET_FR4(\r) 47 stfd fr5, FPU_CONTEXT_OFFSET_FR5(\r) 48 stfd fr6, FPU_CONTEXT_OFFSET_FR6(\r) 49 stfd fr7, FPU_CONTEXT_OFFSET_FR7(\r) 50 stfd fr8, FPU_CONTEXT_OFFSET_FR8(\r) 51 stfd fr9, FPU_CONTEXT_OFFSET_FR9(\r) 52 stfd fr10, FPU_CONTEXT_OFFSET_FR10(\r) 53 stfd fr11, FPU_CONTEXT_OFFSET_FR11(\r) 54 stfd fr12, FPU_CONTEXT_OFFSET_FR12(\r) 55 stfd fr13, FPU_CONTEXT_OFFSET_FR13(\r) 56 stfd fr14, FPU_CONTEXT_OFFSET_FR14(\r) 57 stfd fr15, FPU_CONTEXT_OFFSET_FR15(\r) 58 stfd fr16, FPU_CONTEXT_OFFSET_FR16(\r) 59 stfd fr17, FPU_CONTEXT_OFFSET_FR17(\r) 60 stfd fr18, FPU_CONTEXT_OFFSET_FR18(\r) 61 stfd fr19, FPU_CONTEXT_OFFSET_FR19(\r) 62 stfd fr20, FPU_CONTEXT_OFFSET_FR20(\r) 63 stfd fr21, FPU_CONTEXT_OFFSET_FR21(\r) 64 stfd fr22, FPU_CONTEXT_OFFSET_FR22(\r) 65 stfd fr23, FPU_CONTEXT_OFFSET_FR23(\r) 66 stfd fr24, FPU_CONTEXT_OFFSET_FR24(\r) 67 stfd fr25, FPU_CONTEXT_OFFSET_FR25(\r) 68 stfd fr26, FPU_CONTEXT_OFFSET_FR26(\r) 69 stfd fr27, FPU_CONTEXT_OFFSET_FR27(\r) 70 stfd fr28, FPU_CONTEXT_OFFSET_FR28(\r) 71 stfd fr29, FPU_CONTEXT_OFFSET_FR29(\r) 72 stfd fr30, FPU_CONTEXT_OFFSET_FR30(\r) 73 stfd fr31, FPU_CONTEXT_OFFSET_FR31(\r) 59 74 .endm 60 75 61 76 .macro FPU_CONTEXT_LOAD r 62 lfd fr14, OFFSET_FR14(\r) 63 lfd fr15, OFFSET_FR15(\r) 64 lfd fr16, OFFSET_FR16(\r) 65 lfd fr17, OFFSET_FR17(\r) 66 lfd fr18, OFFSET_FR18(\r) 67 lfd fr19, OFFSET_FR19(\r) 68 lfd fr20, OFFSET_FR20(\r) 69 lfd fr21, OFFSET_FR21(\r) 70 lfd fr22, OFFSET_FR22(\r) 71 lfd fr23, OFFSET_FR23(\r) 72 lfd fr24, OFFSET_FR24(\r) 73 lfd fr25, OFFSET_FR25(\r) 74 lfd fr26, OFFSET_FR26(\r) 75 lfd fr27, OFFSET_FR27(\r) 76 lfd fr28, OFFSET_FR28(\r) 77 lfd fr29, OFFSET_FR29(\r) 78 lfd fr30, OFFSET_FR30(\r) 79 lfd fr31, OFFSET_FR31(\r) 77 lfd fr0, FPU_CONTEXT_OFFSET_FR0(\r) 78 lfd fr1, FPU_CONTEXT_OFFSET_FR1(\r) 79 lfd fr2, FPU_CONTEXT_OFFSET_FR2(\r) 80 lfd fr3, FPU_CONTEXT_OFFSET_FR3(\r) 81 lfd fr4, FPU_CONTEXT_OFFSET_FR4(\r) 82 lfd fr5, FPU_CONTEXT_OFFSET_FR5(\r) 83 lfd fr6, FPU_CONTEXT_OFFSET_FR6(\r) 84 lfd fr7, FPU_CONTEXT_OFFSET_FR7(\r) 85 lfd fr8, FPU_CONTEXT_OFFSET_FR8(\r) 86 lfd fr9, FPU_CONTEXT_OFFSET_FR9(\r) 87 lfd fr10, FPU_CONTEXT_OFFSET_FR10(\r) 88 lfd fr11, FPU_CONTEXT_OFFSET_FR11(\r) 89 lfd fr12, FPU_CONTEXT_OFFSET_FR12(\r) 90 lfd fr13, FPU_CONTEXT_OFFSET_FR13(\r) 91 lfd fr14, FPU_CONTEXT_OFFSET_FR14(\r) 92 lfd fr15, FPU_CONTEXT_OFFSET_FR15(\r) 93 lfd fr16, FPU_CONTEXT_OFFSET_FR16(\r) 94 lfd fr17, FPU_CONTEXT_OFFSET_FR17(\r) 95 lfd fr18, FPU_CONTEXT_OFFSET_FR18(\r) 96 lfd fr19, FPU_CONTEXT_OFFSET_FR19(\r) 97 lfd fr20, FPU_CONTEXT_OFFSET_FR20(\r) 98 lfd fr21, FPU_CONTEXT_OFFSET_FR21(\r) 99 lfd fr22, FPU_CONTEXT_OFFSET_FR22(\r) 100 lfd fr23, FPU_CONTEXT_OFFSET_FR23(\r) 101 lfd fr24, FPU_CONTEXT_OFFSET_FR24(\r) 102 lfd fr25, FPU_CONTEXT_OFFSET_FR25(\r) 103 lfd fr26, FPU_CONTEXT_OFFSET_FR26(\r) 104 lfd fr27, FPU_CONTEXT_OFFSET_FR27(\r) 105 lfd fr28, FPU_CONTEXT_OFFSET_FR28(\r) 106 lfd fr29, FPU_CONTEXT_OFFSET_FR29(\r) 107 lfd fr30, FPU_CONTEXT_OFFSET_FR30(\r) 108 lfd fr31, FPU_CONTEXT_OFFSET_FR31(\r) 80 109 .endm 81 110 82 111 fpu_context_save: 83 //FPU_CONTEXT_STORE r384 //85 //mffs fr086 // stfd fr0,OFFSET_FPSCR(r3)112 FPU_CONTEXT_STORE r3 113 114 mffs fr0 115 stfd fr0, FPU_CONTEXT_OFFSET_FPSCR(r3) 87 116 88 117 blr 89 118 90 119 fpu_context_restore: 91 // FPU_CONTEXT_LOAD r3 92 // 93 // lfd fr0, OFFSET_FPSCR(r3) 94 // mtfsf 7, fr0 120 lfd fr0, FPU_CONTEXT_OFFSET_FPSCR(r3) 121 mtfsf 7, fr0 122 123 FPU_CONTEXT_LOAD r3 95 124 96 125 blr 97 126 98 127 fpu_init: 128 mfmsr r0 129 ori r0, r0, MSR_FP 130 131 # Disable FPU exceptions 132 li r3, MSR_FE0 | MSR_FE1 133 andc r0, r0, r3 134 135 mtmsr r0 99 136 blr 100 137 101 138 fpu_enable: 139 mfmsr r0 140 ori r0, r0, MSR_FP 141 mtmsr r0 102 142 blr 103 143 104 144 fpu_disable: 145 mfmsr r0 146 li r3, MSR_FP 147 andc r0, r0, r3 148 mtmsr r0 105 149 blr 150
Note:
See TracChangeset
for help on using the changeset viewer.