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

M. Warner Losh imp at bsdimp.com
Wed Jun 9 14:21:43 UTC 2010


In message: <201006090803.21947.jhb at freebsd.org>
            John Baldwin <jhb at freebsd.org> writes:
: On Tuesday 08 June 2010 6:39:30 pm M. Warner Losh wrote:
: > 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.
: 
: I was asking how the actual <machine/mca.h> contents would work since it
: would #include <x86/mca.h> which only works if you have some sort of x86
: symlink. :)

Yes.  You've surmised how this is going to work.

: > : 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?
: 
: Yes, I can wait for quite a while.

cool.

Warner


More information about the svn-src-all mailing list