To: Todd Vierling <tv@wasabisystems.com>
From: Matt Thomas <matt@3am-software.com>
List: tech-kern
Date: 07/15/2001 20:23:57
At 10:46 PM 7/15/2001 -0400, Todd Vierling wrote:
>On Sun, 15 Jul 2001, Matt Thomas wrote:
>
>: I'd like to change sys/uvm/uvm_extern.h to not include <machine/*.h>
>
>Presuming you literally meant *, so as to make gcc do wildcard expansion,
>this is flatly wrong. If you have particular headers in mind, it should be
>fine.
Give me some credit here.
>: by default if _KERNEL is not defined. This is because both arm and
>: powerpc have multiple pmap and vmparam headers which may be in use. So
>: there's is no one particular header which is appropriate to include.
>
>If there's parameters that affect userland, then you need to have it include
>what *is* appropriate. If the typical <machine/pmap.h> and
><machine/vmparam.h> aren't defining the rigbht things, fix them. Use
>ifdefs, and if that is not right, rethink the problem.
I've already done that. What's left are two 0 length files. Sure I can
install them but if *nothing* in user space needs the definitions from them,
why bother including them at all?
>For instance, sparc has a different pagesize on sun4 and sun4u versus sun4c
>and sun4m. The definition of NBPG on sparc, and its historically dependent
>PAGE_SIZE in <sys/shm.h>, were changed to use sysconf(3) to get the correct
>pagesize when in userspace.
>
>Why, dare I ask, is this suddenly broken? You aren't doing something
>braindead like pointing /usr/include/machine to the $MACHINE_ARCH (as
>opposed to $MACHINE) directory, right?
Suddenly broken? no. Broken for a long time? yes. For instance,
many things in the kernel includes should not be exported to user-space if
there is a method of obtaining from the kernel (like RAW_PART). The less
included, the less likely conflicts will arise.
--
Matt Thomas Internet: matt@3am-software.com
3am Software Foundry WWW URL: http://www.3am-software.com/bio/matt/
Cupertino, CA Disclaimer: I avow all knowledge of this message