From owner-freebsd-hackers Tue Mar 18 00:21:14 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id AAA13200 for hackers-outgoing; Tue, 18 Mar 1997 00:21:14 -0800 (PST) Received: from sax.sax.de (sax.sax.de [193.175.26.33]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id AAA13193 for ; Tue, 18 Mar 1997 00:21:11 -0800 (PST) Received: (from uucp@localhost) by sax.sax.de (8.6.12/8.6.12-s1) with UUCP id JAA29931; Tue, 18 Mar 1997 09:21:07 +0100 Received: (from j@localhost) by uriah.heep.sax.de (8.8.5/8.8.5) id JAA03522; Tue, 18 Mar 1997 09:09:01 +0100 (MET) Message-ID: <19970318090901.IU02180@uriah.heep.sax.de> 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? References: X-Mailer: Mutt 0.60_p2-3,5,8-9 Mime-Version: 1.0 X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) In-Reply-To: ; from Chuck Robey on Mar 17, 1997 22:17:40 -0500 Sender: owner-hackers@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk 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. ;-)