splx()

Greg Wolodkin (greg@eecs.berkeley.edu)
Mon, 17 Jul 1995 12:44:18 -0700


Hiya. I'm working on a linux port of a BSD-based MIDI driver, and
I'm looking for a function splx() so that I can block interrupts and
then later restore them to whatever the state was before I blocked.

int splx (int new_level) {
register int old_level, tmp;

save_flags(tmp);
old_level = (tmp & 0x200) ? 7 : 0;
if (new_level)
sti();
else
cli();
return old_level;
}

The file it was in was apparently splx.c.

At any rate I couldn't find this function in the new 1.2.x, 1.3.x kernels.
For now I've just added it to the driver module and it seems to work fine,
but I thought I'd ask to see why it had disappeared, and also to see if
there isn't a better/cleaner solution already existing in the 1.2.x kernel.

Thanks in advance,
Greg