Subject: Re:
To: Matt Thomas <>
From: Jason R Thorpe <>
List: tech-kern
Date: 07/22/2000 14:07:58
On Sat, Jul 22, 2000 at 12:44:40PM -0700, Matt Thomas wrote:

 > I'd like to propose that the definition and use of
 > <machine/foo.h> be changed/modified.  Currently
 > machine points to the port specific include directory
 > and then there's a <$arch$/foo.h> which points to the
 > machine archtecture files.

The problem, of course, is kernel source files that do, e.g.:

#include <machine/bus.h>

Those are port-specific, not arch-specific.

I think what we really want is:

#include <arch/foo.h>


#include <machine/foo.h>

Userland sources should be changed to use <arch/foo.h>, kernel sources
must still be able to do <machine/foo.h>.

The <machine/...> API should not be accessible from userland, i.e. the
symlink in /usr/include should go away, in favor of the <arch/...> link.

Another problem is that header files used by both the kernel and userland
reference <machine/...> ... in those cases, it generally does mean "arch",
but not always.

Anyway, I think this is actually a complicated problem, and is going to
require a lot of thought to fix.

        -- Jason R. Thorpe <>