Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[linux-2.6] / arch / m68k / fpsp040 / x_bsun.S
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 |       For details on the license for this file, please see the
17 |       file, README, in this same directory.
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