svn commit: r208921 - in head/sys: amd64/amd64 conf i386/i386 x86/x86

M. Warner Losh imp at bsdimp.com
Tue Jun 8 22:41:44 UTC 2010


In message: <201006081725.24684.jhb at freebsd.org>
            John Baldwin <jhb at FreeBSD.org> writes:
: On Tuesday 08 June 2010 3:22:10 pm M. Warner Losh wrote:
: > In message: <201006081446.09423.jhb at freebsd.org>
: >             John Baldwin <jhb at freebsd.org> writes:
: > : On Tuesday 08 June 2010 2:04:07 pm John Baldwin wrote:
: > : > Author: jhb
: > : > Date: Tue Jun  8 18:04:07 2010
: > : > New Revision: 208921
: > : > URL: http://svn.freebsd.org/changeset/base/208921
: > : > 
: > : > Log:
: > : >   Move the machine check support code to the x86 tree since it is 
: identical
: > : >   on i386 and amd64.
: > : >   
: > : >   Requested by:	alc
: > : 
: > : It would be nice to consolidate <machine/mca.h> as that is identical on 
: both 
: > : platforms, but that moving to x86/include is trickier as the header needs 
: to 
: > : be available in userland, probably as <machine/mca.h> still.  <x86/mca.h> 
: > : would work ok (i.e. in /usr/include/x86/mca.h), but that makes things 
: trickier 
: > : in the kernel as the file should really live in sys/x86/include, not 
: sys/x86 
: > : directly.
: > : 
: > : I'm open to suggestions on if this is feasible and if so how to do it.
: > 
: > I believe we had a long talk about this before.
: > 
: > copy the current {i386,amd64}/mca.h to x86/mca.h
: > new {i386,amd64}/mca.h == #include <x86/mca.h> (no copyright notice, etc)
: > 
: > just like we do for the pc98 stuff.  The mca.h file would live in
: > sys/x86/include.
: 
: How does this work for the kernel?  <x86/mca.h> doesn't map to 
: sys/x86/include/mca.h.

You still include macine/mca.h inside the kernel, except for mca.c
itself.  You shouldn't short-circuit things because you know an
implementation detail.

: For machine we make a symlink that points to 
: sys/<machine>/include.  Are you proposing an x86 symlink in the kernel build 
: directory that for i386, pc98, and amd64 that points to sys/x86/include?

Yes.

: Ah, looks like you are.  This is handled by _ILINKS in kern.post.mk currently.
: If you will fix all the glue magic so #include <x86/foo.h> works in kernel and 
: userland I have several headers I can move (apicreg.h, mca.h, etc.).

I believe this is correct...

But a lot of it is dependent on the merge of tbemd branch, which is
still at least a week away.  Can you wait that long?

Warner


More information about the svn-src-all mailing list