1*1da177e4SLinus Torvalds| 2*1da177e4SLinus Torvalds| x_bsun.sa 3.3 7/1/91 3*1da177e4SLinus Torvalds| 4*1da177e4SLinus Torvalds| fpsp_bsun --- FPSP handler for branch/set on unordered exception 5*1da177e4SLinus Torvalds| 6*1da177e4SLinus Torvalds| Copy the PC to FPIAR to maintain 881/882 compatibility 7*1da177e4SLinus Torvalds| 8*1da177e4SLinus Torvalds| The real_bsun handler will need to perform further corrective 9*1da177e4SLinus Torvalds| measures as outlined in the 040 User's Manual on pages 10*1da177e4SLinus Torvalds| 9-41f, section 9.8.3. 11*1da177e4SLinus Torvalds| 12*1da177e4SLinus Torvalds 13*1da177e4SLinus Torvalds| Copyright (C) Motorola, Inc. 1990 14*1da177e4SLinus Torvalds| All Rights Reserved 15*1da177e4SLinus Torvalds| 16*1da177e4SLinus Torvalds| THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA 17*1da177e4SLinus Torvalds| The copyright notice above does not evidence any 18*1da177e4SLinus Torvalds| actual or intended publication of such source code. 19*1da177e4SLinus Torvalds 20*1da177e4SLinus TorvaldsX_BSUN: |idnt 2,1 | Motorola 040 Floating Point Software Package 21*1da177e4SLinus Torvalds 22*1da177e4SLinus Torvalds |section 8 23*1da177e4SLinus Torvalds 24*1da177e4SLinus Torvalds#include "fpsp.h" 25*1da177e4SLinus Torvalds 26*1da177e4SLinus Torvalds |xref real_bsun 27*1da177e4SLinus Torvalds 28*1da177e4SLinus Torvalds .global fpsp_bsun 29*1da177e4SLinus Torvaldsfpsp_bsun: 30*1da177e4SLinus Torvalds| 31*1da177e4SLinus Torvalds link %a6,#-LOCAL_SIZE 32*1da177e4SLinus Torvalds fsave -(%a7) 33*1da177e4SLinus Torvalds moveml %d0-%d1/%a0-%a1,USER_DA(%a6) 34*1da177e4SLinus Torvalds fmovemx %fp0-%fp3,USER_FP0(%a6) 35*1da177e4SLinus Torvalds fmoveml %fpcr/%fpsr/%fpiar,USER_FPCR(%a6) 36*1da177e4SLinus Torvalds 37*1da177e4SLinus Torvalds| 38*1da177e4SLinus Torvalds movel EXC_PC(%a6),USER_FPIAR(%a6) 39*1da177e4SLinus Torvalds| 40*1da177e4SLinus Torvalds moveml USER_DA(%a6),%d0-%d1/%a0-%a1 41*1da177e4SLinus Torvalds fmovemx USER_FP0(%a6),%fp0-%fp3 42*1da177e4SLinus Torvalds fmoveml USER_FPCR(%a6),%fpcr/%fpsr/%fpiar 43*1da177e4SLinus Torvalds frestore (%a7)+ 44*1da177e4SLinus Torvalds unlk %a6 45*1da177e4SLinus Torvalds bral real_bsun 46*1da177e4SLinus Torvalds| 47*1da177e4SLinus Torvalds |end 48