Subject: Re: Linux emulation for SPARC?
To: None <jimw@numenor.turner.com>
From: Miguel de Icaza <miguel@nuclecu.unam.mx>
List: port-sparc
Date: 11/04/1997 15:17:36
> > This can be done as well with Linux.  Your point?
> 
> Maybe it could have been done, but it isn't.  

It is not because nobody has cared to do it.  It is a 10 minute
change, what is your point?

> Again, so it's clear: NetBSD keeps an identical execution
> environment between ports, and provides a more modular emulation
> implementation.  

You do not win anything.  And you get that same modular emulation with
Linux.  Still do not see what is your point.

This is how this sounds to me:

	"ugh, linux uses different numbers for sys_exec depending on 
	 the port, oh, that is so bad, because it break, uh, well,
	 ahem, well, it is ugly and stuff and well, it does not
	 kick ass, since it is not well, common and well, it is
	 like not the same api and stuff".

You have yet to come up with a show stopper for the Linux setup.

> Linux does not.  (It uses different structure layouts, syscall
> numbers, and errno values, and it depends on these different values
> in order to be able to implement emuation.)

If you are porting Linux and do not want to make the changes, it is up
to you, just take any ports' definitions and use that.  What is the
problem? 

> So it's not confusing to newcomers that when I move my kernel code from
> Linux to SparcLinux, I need to repad my structs and rearrange my syscall
> number usage?

Only the code that is provided as an interface to userland changes.

> No, but it certainly does make it more work, as that code has to be
> edited to make it work on each port.  By comparison, huge parts of
> NetBSD's kernel _and_driver_ code are platform independent, and are
> quite literally shared between all ports which use that device.  

This is not a limitation of the emulation setup.  This is more a
consequence of having the NetBSD people doing a nice split of the
device-specific and port specific parts of a device driver.

This is -again- in no way related (repeat after me: it is no way
related) to the emulation setup of Linux.  

This is an added benefit from doing a clean separation.  Repeat after
me: the NetBSD guys did a nice and clean job on this issue and it is
not related to how system calls are used nor errno values nor userland
exported kernel structures. 

> This also makes it possible to build all ports out of the same
> source tree, BTW.

You read this on another usenet post again, didn't you?  Didn't you?
I know you did.

Linux builds alpha, intel, sparc, sparc64, ppc, the m68ks's and the
mips ports from the same tree.  your point being?

Please, stop posting nonsense to the mailing lists.  Check your
information sources.

Miguel.