Subject: Re: emul LKM hooks (was Re: Linux emulation for SPARC?)
To: Todd Vierling <tv@pobox.com>
From: Bill Studenmund <skippy@macro.stanford.edu>
List: current-users
Date: 11/05/1997 14:16:40
On Tue, 4 Nov 1997, Todd Vierling wrote:

> [pulled from port-sparc]
> 
> On Tue, 4 Nov 1997, Jim Wise wrote:
> 
> Well, we can't quite make emulation LKM's, yet, but that can be fixed.  I'd
> like a concensus opinion for something.  The big problem with LKM'ifying
> emulations is that emulations often require a little bit of code in locore,
> which can't quite be brought in by LKM.

That should be easy to deal w/.

> So, what about emulation hooks that are linked in from libcompat.a when an
> emulation is not compiled in by default?  These hooks can be intercepted by
> an emulation LKM, and would be no-ops or error-ops if the LKM is not loaded. 
> The LKM could also be unloaded if the refcnt for that emulation is 0, and
> the hooks would then be released.   The hooks could be completely eliminated
> (or actually, the locore code would be eliminated, removing references to
> the code in libcompat) if an option were not specified in kernel config,
> say, "EMUL_SVR4_HOOKS".  The locore code could be included whether the hooks
> or full-blown emulation were compiled in.

Why mess w/ libcompat?

Why not just add generalized lkm hooks in the exec code. If an exec was
not recognized by a compiled-in emulation, each loaded lkm gets called in
turn to have a crack at the program.

Then you don't have an svr4 emulation lkm, you just have an emulation lkm
which does svr4.

Take care,

Bill