exception.s (44327) | exception.s (45720) |
---|---|
1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 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 --- 16 unchanged lines hidden (view full) --- 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * | 1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 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 --- 16 unchanged lines hidden (view full) --- 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * |
33 * $Id: exception.s,v 1.56 1999/02/25 11:03:08 bde Exp $ | 33 * $Id: exception.s,v 1.57 1999/02/28 10:53:28 bde Exp $ |
34 */ 35 36#include "npx.h" 37#include "opt_vm86.h" 38 39#include <machine/asmacros.h> 40#include <machine/ipl.h> 41#include <machine/lock.h> --- 92 unchanged lines hidden (view full) --- 134 pushl $0; TRAP(T_MCHK) 135IDTVEC(rsvd) 136 pushl $0; TRAP(T_RESERVED) 137 138IDTVEC(fpu) 139#if NNPX > 0 140 /* 141 * Handle like an interrupt (except for accounting) so that we can | 34 */ 35 36#include "npx.h" 37#include "opt_vm86.h" 38 39#include <machine/asmacros.h> 40#include <machine/ipl.h> 41#include <machine/lock.h> --- 92 unchanged lines hidden (view full) --- 134 pushl $0; TRAP(T_MCHK) 135IDTVEC(rsvd) 136 pushl $0; TRAP(T_RESERVED) 137 138IDTVEC(fpu) 139#if NNPX > 0 140 /* 141 * Handle like an interrupt (except for accounting) so that we can |
142 * call npxintr to clear the error. It would be better to handle | 142 * call npx_intr to clear the error. It would be better to handle |
143 * npx interrupts as traps. This used to be difficult for nested 144 * interrupts, but now it is fairly easy - mask nested ones the 145 * same as SWI_AST's. 146 */ 147 pushl $0 /* dummy error code */ 148 pushl $0 /* dummy trap type */ 149 pushal 150 pushl %ds --- 24 unchanged lines hidden (view full) --- 175 movl _cpl,%eax 176 pushl %eax 177 pushl $0 /* dummy unit to finish intr frame */ 178 incl _cnt+V_TRAP 179 orl $SWI_AST_MASK,%eax 180 movl %eax,_cpl 181#endif /* SMP */ 182 | 143 * npx interrupts as traps. This used to be difficult for nested 144 * interrupts, but now it is fairly easy - mask nested ones the 145 * same as SWI_AST's. 146 */ 147 pushl $0 /* dummy error code */ 148 pushl $0 /* dummy trap type */ 149 pushal 150 pushl %ds --- 24 unchanged lines hidden (view full) --- 175 movl _cpl,%eax 176 pushl %eax 177 pushl $0 /* dummy unit to finish intr frame */ 178 incl _cnt+V_TRAP 179 orl $SWI_AST_MASK,%eax 180 movl %eax,_cpl 181#endif /* SMP */ 182 |
183 call _npxintr | 183 call _npx_intr |
184 185 incb _intr_nesting_level 186 MEXITCOUNT 187 jmp _doreti 188#else /* NNPX > 0 */ 189 pushl $0; TRAP(T_ARITHTRAP) 190#endif /* NNPX > 0 */ 191 --- 181 unchanged lines hidden --- | 184 185 incb _intr_nesting_level 186 MEXITCOUNT 187 jmp _doreti 188#else /* NNPX > 0 */ 189 pushl $0; TRAP(T_ARITHTRAP) 190#endif /* NNPX > 0 */ 191 --- 181 unchanged lines hidden --- |