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

John Baldwin jhb at freebsd.org
Wed Jun 9 12:44:45 UTC 2010


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. :)

> : 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.

-- 
John Baldwin


More information about the svn-src-all mailing list