Date: Tue, 18 Mar 1997 09:09:01 +0100 From: j@uriah.heep.sax.de (J Wunsch) To: chuckr@Glue.umd.edu (Chuck Robey) Cc: FreeBSD-Hackers@FreeBSD.org (FreeBSD-Hackers) Subject: Re: Intel inteerrupts? Message-ID: <19970318090901.IU02180@uriah.heep.sax.de> In-Reply-To: <Pine.OSF.3.95q.970317221349.3587A-100000@packet.eng.umd.edu>; from Chuck Robey on Mar 17, 1997 22:17:40 -0500 References: <Pine.OSF.3.95q.970317221349.3587A-100000@packet.eng.umd.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
As Chuck Robey wrote: > Does anyone know (for certain) what the action is regarding the interrupt > enable flag, when a software INT is invoked for the Intel architecture? > Are interrupts disabled, enabled, or what? External (hardware) interrupts on the INT pin are disabled. External interrupts on the NMI pins are still not masked, nor are any kind of traps. The INT instruction is poorly named, and should better have called TRAP in order to avoid the confusion. It does by no way `interrupt' something, it's just a special kind of a CALL instruction with a short (and rather `symbolic') target address. CPUs used to have such a mechanism all the time, see the RST (restart) instructions in the i8080/Z80. All other kinds of traps also remain enabled. You can get a SIGSEGV even if the kernel has external interrupts totally disabled. ;-) > If you have an answer, and IF you know somewhere I can read to verify it, > I'd really appreciate your posting it. I've had several folks give me > their (conflicting) opinions, and now I'm looking for confirmation. Sorry, my only written reference to this is a German programmer's ref for the 80286. You can for sure simply prove this. Just single-step through the disable_intr() part of a sio interrupt service in FreeBSD using DDB. This clearly shows that traps (breakpoint traps in this case) are still working. -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970318090901.IU02180>