__sparc_utrap_emul.c (95587) | __sparc_utrap_emul.c (96422) |
---|---|
1/*- 2 * Copyright (c) 2001 by Thomas Moestl <tmm@FreeBSD.org>. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 10 unchanged lines hidden (view full) --- 19 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 23 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2001 by Thomas Moestl <tmm@FreeBSD.org>. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 10 unchanged lines hidden (view full) --- 19 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 23 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#include <sys/cdefs.h> |
27__FBSDID("$FreeBSD: head/lib/libc/sparc64/sys/__sparc_utrap_emul.c 95587 2002-04-27 21:56:28Z jake $"); | 27__FBSDID("$FreeBSD: head/lib/libc/sparc64/sys/__sparc_utrap_emul.c 96422 2002-05-11 21:20:05Z jake $"); |
28 29#include <sys/types.h> 30#include <machine/cpufunc.h> 31#include <machine/frame.h> 32#include <machine/instr.h> 33 34#include <signal.h> 35 --- 29 unchanged lines hidden (view full) --- 65 default: 66 sig = SIGILL; 67 break; 68 } 69 break; 70 case IOP_LDST: 71 switch (IF_F3_OP3(insn)) { 72 case INS3_LDQF: | 28 29#include <sys/types.h> 30#include <machine/cpufunc.h> 31#include <machine/frame.h> 32#include <machine/instr.h> 33 34#include <signal.h> 35 --- 29 unchanged lines hidden (view full) --- 65 default: 66 sig = SIGILL; 67 break; 68 } 69 break; 70 case IOP_LDST: 71 switch (IF_F3_OP3(insn)) { 72 case INS3_LDQF: |
73 rd = IF_F3_RD(insn); 74 rd = (rd & ~3) | ((rd & 1) << 5); | 73 rd = INSFPdq_RN(IF_F3_RD(insn)); |
75 addr = (u_long *)__emul_f3_memop_addr(uf, insn); 76 __fpu_setreg64(rd, addr[0]); 77 __fpu_setreg64(rd + 2, addr[1]); 78 break; 79 case INS3_STQF: | 74 addr = (u_long *)__emul_f3_memop_addr(uf, insn); 75 __fpu_setreg64(rd, addr[0]); 76 __fpu_setreg64(rd + 2, addr[1]); 77 break; 78 case INS3_STQF: |
80 rd = IF_F3_RD(insn); 81 rd = (rd & ~3) | ((rd & 1) << 5); | 79 rd = INSFPdq_RN(IF_F3_RD(insn)); |
82 addr = (u_long *)__emul_f3_memop_addr(uf, insn); 83 addr[0] = __fpu_getreg64(rd); 84 addr[1] = __fpu_getreg64(rd + 2); 85 break; 86 default: 87 sig = SIGILL; 88 break; 89 } --- 68 unchanged lines hidden --- | 80 addr = (u_long *)__emul_f3_memop_addr(uf, insn); 81 addr[0] = __fpu_getreg64(rd); 82 addr[1] = __fpu_getreg64(rd + 2); 83 break; 84 default: 85 sig = SIGILL; 86 break; 87 } --- 68 unchanged lines hidden --- |