From owner-cvs-user  Thu Dec 14 05:34:29 1995
Return-Path: owner-cvs-user
Received: (from root@localhost)
          by freefall.freebsd.org (8.7.3/8.7.3) id FAA01695
          for cvs-user-outgoing; Thu, 14 Dec 1995 05:34:29 -0800 (PST)
Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19])
          by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id FAA01688
          Thu, 14 Dec 1995 05:34:22 -0800 (PST)
Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id AAA15804; Fri, 15 Dec 1995 00:33:35 +1100
Date: Fri, 15 Dec 1995 00:33:35 +1100
From: Bruce Evans <bde@zeta.org.au>
Message-Id: <199512141333.AAA15804@godzilla.zeta.org.au>
To: p.richards@elsevier.co.uk, peter@jhome.DIALix.COM
Subject: Re: cvs commit: src/lkm/gnufpu Makefile
Cc: CVS-committers@freefall.freebsd.org, bde@zeta.org.au,
        cvs-user@freefall.freebsd.org, phk@freefall.freebsd.org
Sender: owner-cvs-user@FreeBSD.ORG
Precedence: bulk

>The math emulators are a special case. They have a _single_ entry point, 
>and I dont think (from memory) that they reference anything else in the 
>kernel.  We may be able to get away with a very simple a.out style loader 

math_emulate.o references about 10 things in the kernel and has implicit
dependencies on the layout of the pcb.  It is more critical than usual
for the emulator module to be consistent with the kernel.

>and relocator for this special purpose.  (ie: do vnode IO to read in the 
>a.out header, malloc some space, do vnode IO to bring in the code, 
>then relocate it, then set the trap handler to point to the first bit of 
>executable code.  Make it all do vnode IO to (say) /sbin/emulator.o and 
>leave an a.out format object file there.

You can't do output before the file system is mounted r/w.

Bruce