Subject: Re: device driver docs / interrupts
To: None <banshee@gabriella.resort.com>
From: Charles M. Hannum <mycroft@ai.mit.edu>
List: current-users
Date: 02/22/1995 15:23:45
First of all, disable_intr() and enable_intr() are highly PC-specific.
Given that NetBSD runs of a few other architectures that can also use
ISA cards, we want to avoid adding more i386 dependencies where
possible.

Secondly, the spl*() functions are fairly cheap on an iAPX86, so there
is very little reason to avoid using them.

   how atomic are assignments?  can "a = 0" be interrupted?  how about
   cp = p -> foo?

The question is too vague.  There are many cases where the compiler is
allowed to reorder operations.  In addition, on some CPUs, if you
write across a page boundary, part of the write can be completed
before you process a page fault for the latter part.