Re: [RFC] Splitting kernel headers and deprecating __KERNEL__

Matthew Wilcox
2004-11-26T23:06:59Z

On Thu, Nov 25, 2004 at 03:13:12PM +0000, David Howells wrote:
> (2) Take each file from the shadowed directory. If it has any userspace
> relevant stuff, then:
>
> (b) Make kernel file #include the user file. So:
>
> [include/asm-i386/unistd.h]
> ...
> #include <user-i386/unistd.h>
> ...

We may also want a user-asm symlink pointing to user-$ARCH.
If <linux/foo.h> wants a definition from <user-$ARCH/foo.h> then it has
to include <asm/foo.h> which includes <user-$ARCH/foo.h>. If asm/foo.h
is empty other than the include, then it'd be nice to delete it and have
<linux/foo.h> include <user-asm/foo.h> directly.

> (c) Where a user header file requires something from another header file
> (such as a type), that file should include a suitable user header file
> directly:
>
> [include/user-i386/termio.h]
> ...
> #include <user/types.h>
> ...

It's occasionally been on my mind that the transition from linux -> asm
should be one way and that asm files should not include linux files.
I'm not sure this is necessarily a worthy goal, but it seems worth
mentioning.

--
"Next the statesmen will invent cheap lies, putting the blame upon
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince
himself that the war is just, and will thank God for the better sleep
he enjoys after this process of grotesque self-deception." -- Mark Twain