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 | | |
| 16 | | THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA |
| 17 | | The copyright notice above does not evidence any |
| 18 | | actual or intended publication of such source code. |
| 19 | |
| 20 | X_BSUN: |idnt 2,1 | Motorola 040 Floating Point Software Package |
| 21 | |
| 22 | |section 8 |
| 23 | |
| 24 | #include "fpsp.h" |
| 25 | |
| 26 | |xref real_bsun |
| 27 | |
| 28 | .global fpsp_bsun |
| 29 | fpsp_bsun: |
| 30 | | |
| 31 | link %a6,#-LOCAL_SIZE |
| 32 | fsave -(%a7) |
| 33 | moveml %d0-%d1/%a0-%a1,USER_DA(%a6) |
| 34 | fmovemx %fp0-%fp3,USER_FP0(%a6) |
| 35 | fmoveml %fpcr/%fpsr/%fpiar,USER_FPCR(%a6) |
| 36 | |
| 37 | | |
| 38 | movel EXC_PC(%a6),USER_FPIAR(%a6) |
| 39 | | |
| 40 | moveml USER_DA(%a6),%d0-%d1/%a0-%a1 |
| 41 | fmovemx USER_FP0(%a6),%fp0-%fp3 |
| 42 | fmoveml USER_FPCR(%a6),%fpcr/%fpsr/%fpiar |
| 43 | frestore (%a7)+ |
| 44 | unlk %a6 |
| 45 | bral real_bsun |
| 46 | | |
| 47 | |end |