Changeset 4f843ded in mainline
 Timestamp:
 20121125T18:46:58Z (11 years ago)
 Branches:
 lfn, master, serial, ticket/834toolchainupdate, topic/msimupgrade, topic/simplifydevexport
 Children:
 48a209a
 Parents:
 37bb3e1
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

kernel/arch/arm32/src/fpu_context.c
r37bb3e1 r4f843ded 86 86 asm volatile ( 87 87 "vmrs r1, fpexc\n" 88 "stmia %0!, {r1}\n" 89 "vmrs r1, fpscr\n" 90 "stmia %0!, {r1}\n" 88 "vmrs r2, fpscr\n" 89 "stmia %0!, {r1, r2}\n" 91 90 "vstmia %0!, {s0s31}\n" 92 ::"r" (ctx): "r1"," memory"91 ::"r" (ctx): "r1","r2","memory" 93 92 ); 94 93 } … … 101 100 { 102 101 asm volatile ( 103 "ldmia %0!, {r1 }\n"102 "ldmia %0!, {r1, r2}\n" 104 103 "vmsr fpexc, r1\n" 105 "ldmia %0!, {r1}\n" 106 "vmsr fpscr, r1\n" 104 "vmsr fpscr, r2\n" 107 105 "vldmia %0!, {s0s31}\n" 108 ::"r" (ctx): "r1" 106 ::"r" (ctx): "r1","r2" 109 107 ); 110 108 } … … 118 116 asm volatile ( 119 117 "vmrs r1, fpexc\n" 120 "stmia %0!, {r1}\n" 121 "vmrs r1, fpscr\n" 122 "stmia %0!, {r1}\n" 118 "vmrs r2, fpscr\n" 119 "stmia %0!, {r1, r2}\n" 123 120 "vstmia %0!, {d0d15}\n" 124 ::"r" (ctx): "r1"," memory"121 ::"r" (ctx): "r1","r2","memory" 125 122 ); 126 123 } … … 133 130 { 134 131 asm volatile ( 135 "ldmia %0!, {r1 }\n"132 "ldmia %0!, {r1, r2}\n" 136 133 "vmsr fpexc, r1\n" 137 "ldmia %0!, {r1}\n" 138 "vmsr fpscr, r1\n" 134 "vmsr fpscr, r2\n" 139 135 "vldmia %0!, {d0d15}\n" 140 ::"r" (ctx): "r1" 136 ::"r" (ctx): "r1","r2" 141 137 ); 142 138 } … … 259 255 void fpu_context_save(fpu_context_t *ctx) 260 256 { 257 const uint32_t fpexc = fpexc_read(); 258 259 if (fpexc & FPEXC_EX_FLAG) { 260 printf("EX FPU flag is on, things will fail\n"); 261 //TODO implement common subarch context saving 262 } 261 263 if (save_context) 262 264 save_context(ctx);
Note:
See TracChangeset
for help on using the changeset viewer.