Subject: Re: IPL_* and IST_* constants
To: Charles M. Hannum <firstname.lastname@example.org>
From: Chris G Demetriou <Chris_G_Demetriou@UX2.SP.CS.CMU.EDU>
Date: 03/19/1996 08:31:28
> > Based on current practice, it seems that including either of
> > <machine/psl.h> or <machine/cpu.h> should do it. Whether or not
> > including both should be allowed is outside the scope of my message.
> > I find it bad form to gratuitously #include extra files, so I'd
> > recommend not making psl.h idempotent unless there is a pressing need
> > to.
> So, is the answer to include them via <machine/cpu.h>?
> And, if so, is it still mandatory to put them in <machine/psl.h>?
> I already answered both questions in the text you quoted.
Yes, and you also declared your definition to be in "bad form", since
you either have to:
(1) define the IPL_* and IST_ constants twice, or
(2) #include psl.h in cpu.h
If people want their drivers to be portable to the Alpha, they will
access these constants by getting them via <machine/cpu.h>.
The alpha actually _does_ have a processor status word, the contents
of which are defined by <machine/psl.h>. It doesn't need to be
included by <machine/cpu.h>, and so I don't. I'm not going to
arbitrarily clutter up both headers, to fit a definition of an
interface that's described by its creator as "bogus." 8-)