Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | | |
| 2 | | x_bsun.sa 3.3 7/1/91 |
| 3 | | |
| 4 | | fpsp_bsun --- FPSP handler for branch/set on unordered exception |
| 5 | | |
| 6 | | Copy the PC to FPIAR to maintain 881/882 compatibility |
| 7 | | |
| 8 | | The real_bsun handler will need to perform further corrective |
| 9 | | measures as outlined in the 040 User's Manual on pages |
| 10 | | 9-41f, section 9.8.3. |
| 11 | | |
| 12 | |
| 13 | | Copyright (C) Motorola, Inc. 1990 |
| 14 | | All Rights Reserved |
| 15 | | |
Matt Waddel | e00d82d | 2006-02-11 17:55:48 -0800 | [diff] [blame] | 16 | | For details on the license for this file, please see the |
| 17 | | file, README, in this same directory. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 18 | |
| 19 | X_BSUN: |idnt 2,1 | Motorola 040 Floating Point Software Package |
| 20 | |
| 21 | |section 8 |
| 22 | |
| 23 | #include "fpsp.h" |
| 24 | |
| 25 | |xref real_bsun |
| 26 | |
| 27 | .global fpsp_bsun |
| 28 | fpsp_bsun: |
| 29 | | |
| 30 | link %a6,#-LOCAL_SIZE |
| 31 | fsave -(%a7) |
| 32 | moveml %d0-%d1/%a0-%a1,USER_DA(%a6) |
| 33 | fmovemx %fp0-%fp3,USER_FP0(%a6) |
| 34 | fmoveml %fpcr/%fpsr/%fpiar,USER_FPCR(%a6) |
| 35 | |
| 36 | | |
| 37 | movel EXC_PC(%a6),USER_FPIAR(%a6) |
| 38 | | |
| 39 | moveml USER_DA(%a6),%d0-%d1/%a0-%a1 |
| 40 | fmovemx USER_FP0(%a6),%fp0-%fp3 |
| 41 | fmoveml USER_FPCR(%a6),%fpcr/%fpsr/%fpiar |
| 42 | frestore (%a7)+ |
| 43 | unlk %a6 |
| 44 | bral real_bsun |
| 45 | | |
| 46 | |end |