From tor@tss.no Thu Jun 24 11:08:27 1993
Return-Path: <tor@tss.no>
Received: from gossip.pyramid.com by dutecai.et.tudelft.nl (4.1/1.34JP)
          id AA10874; Thu, 24 Jun 93 11:08:23 +0200
Received: from sword.eng.pyramid.com 
	by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway)
	id AA22482; Thu, 24 Jun 93 02:08:13 -0700
Received: from goss.pyramid.com
	by sword.eng.pyramid.com (5.61/Pyramid_Internal_Configuration)
	id AA07349; Thu, 24 Jun 93 02:08:07 -0700
Received: from benoni.Uit.No 
	by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway)
	id AA22424; Thu, 24 Jun 93 02:08:03 -0700
Received: from benoni by ppenoni.uit.no with SMTP (PP) 
          id <21503-0@ppenoni.uit.no>; Thu, 24 Jun 1993 11:07:55 +0000
Received: from unas.tss.no 
          by benoni.uit.no (5.65+IDA/Babel-1.15/ABaa-1.2/Ultrix) 
          id AAbenoni21499; Thu, 24 Jun 1993 11:07:51 +0200
Received: by unas.tss.no (4.0/ABaa-1.3mini) id AA09427;
          Thu, 24 Jun 93 11:02:22 +0200
Message-Id: <9306240902.AA09427@unas.tss.no>
From: tor@tss.no (Tor Arntsen)
Date: Thu, 24 Jun 1993 11:02:20 +0200
X-Mailer: Mail User's Shell (7.2.5 10/14/92)
To: riscy@pyramid.com
Subject: big/little endian
Status: RO
X-Status: 

>>>>>On Jun 23,  2:34pm, Neil Russell wrote:
[...]
>> > *  The R3000 is able to be a little endian or a big endian machine.
>> >    Most operating systems that I've seen use the big endian mode, but
>> >    since linux runs on the 386, little endian may be more appropriate.
>> 
>> I don't know if it will make that much difference, but I suppose
>> little-endian is easiest.  Big endian will probably make talking to
>> ISA IO boards quite tricky.
>
>I don't like the idea of hardware swapping the bits, so this favours
>little endian, however, RISCos is big endian and has a few ISA bus
>slots; so the software must swap the bytes itself; Mmmm, this is the
>RISC way, after all...

I would prefer big endian, but I have no strong objections (that means, I will
buy the board anyway) if it ends up the other way (the DEC/Intel way vs. 
the rest of the world.. :-) :-)

Tor


 
From jeremy@sw.oz.au Thu Jun 24 13:16:31 1993
Return-Path: <jeremy@sw.oz.au>
Received: from gossip.pyramid.com by dutecai.et.tudelft.nl (4.1/1.34JP)
          id AA11140; Thu, 24 Jun 93 13:16:22 +0200
Received: from sword.eng.pyramid.com 
	by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway)
	id AA12516; Thu, 24 Jun 93 04:16:01 -0700
Received: from goss.pyramid.com
	by sword.eng.pyramid.com (5.61/Pyramid_Internal_Configuration)
	id AA19854; Thu, 24 Jun 93 04:15:47 -0700
Received: from munnari.OZ.AU 
	by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway)
	id AA12419; Thu, 24 Jun 93 04:15:38 -0700
Received: from sw.oz.au (via basser.cs.su.oz.au) by munnari.oz.au with MHSnet (5.83--+1.3.1+0.50)
	id AA02448; Thu, 24 Jun 1993 21:14:08 +1000 (from jeremy@sw.oz.au)
Received: from chao.sw.oz.au by swift.sw.oz.au with SMTP
	id AA01241; Thu, 24 Jun 93 21:12:34 AES (5.59)
	(from jeremy@sw.oz.au for tor%tss.no@munnari.oz.au)
Received: by chao.sw.oz.au (4.1/SMI-4.1)
	id AA23007; Thu, 24 Jun 93 21:13:17 EST
From: jeremy@sw.oz.au (Jeremy Fitzhardinge)
Message-Id: <9306241113.AA23007@chao.sw.oz.au>
Subject: Re: big/little endian
To: tor@tss.no (Tor Arntsen)
Date: Thu, 24 Jun 1993 21:13:16 +1000 (EST)
Cc: riscy@pyramid.com
In-Reply-To: <9306240902.AA09427@unas.tss.no> from "Tor Arntsen" at Jun 24, 93 11:02:20 am
Organization: Softway Pty Ltd
X-Face: 
	 '6U=%Tv\k1<Ek%ql%PN^v`Db4bakr[v~y]\u7"GbO#I=]N{l1=#P,glz$9q>l-:?\$C[D@G
	 7(vl~w8&y}!f\bh#w<Y*S~bEBTI:s&.QR>L#n,TGKh>T.c7eT5-y)Hl'i;A1z$9?*lD.k}yqshddFb
	 l[EC}c=;uc%x'}uh3E91p&oE<q$w1r&U0yw.Sb3V&uw
X-Mailer: ELM [version 2.4 PL21]
Content-Type: text
Content-Length: 3227      
Status: RO
X-Status: 

Tor Arntsen bubbles:

> I would prefer big endian, but I have no strong objections (that means, I will
> buy the board anyway) if it ends up the other way (the DEC/Intel way vs. 
> the rest of the world.. :-) :-)

Given a free hand, I would prefer big endian.  However, I think there
are a few compelling reasons to go little endian -- all to do with
compatability with the Intel version.  Choosing bigendian wouldn't
make it impossible, but it does offer a whole pile extra places for
things to go wrong.  If we can make code like this work without
problems, wrong as it is, it would be helpful:

#ifdef linux	/* linux runs on intel only */
#define little_endian
#endif

There are a number of places where it would be good to keep the same format
to the bit level on all Linux architectures:
	Executable/Object files
		Obviously there are going to be CPU related differences,
		but programs should be able to manipulate files from any
		type of host.  Plan 9 handles this by keeping a strict
		byte order regardless of the native one.  ELF does it
		by storing the byte order in the file.	Either way,
		conversion has to be done explicitly if its wrong.  With
		luck we can expect ELF to be quite standard in linux soon,
		and it will make the multiple CPU type problem easier to
		deal with.  Gcc copes with cross compilation quite well.
	Filesystem meta-data
		It would be really good to be able to take filesystems and
		use them on any type of machine.  It would be doubly good
		if the filesystem code doesn't have to do much to do it.
	Network data
		This is universally big-endian.  Little endian machines
		just have to cope.  It is not a large overhead generally.

There are other data representation issues other than byte sex, like
alignment constraints.  This would probably be a more subtle problem
for programs that just write structures into files expecting them to
be read back in again.

I think it is important to make linux run on both intel and mips chips
with as much compatability as possible, rather than taking the approach
of getting the intel source as a base and forking the development at
that point.  The porting effort should find all the intel specific bits
and isolate them, making sure that gets into Linus' base source.
There are always going to be many more people using and hacking intel
linux boxes over any other, and we want to make sure that kernel changes
are as widely useful as possible.  We should be able to also get a higher
level of source compatability (near 100%).

Mips ABI compliance doesn't seem very important to me.  There isn't
much commercial stuff being distributed for mipsen in binary form,
so far as I know.  Certainly a package we use here is not being
distributed for the Mips machines (get a Sparc or Intel they say...).

Intel ABI compliance may be possible later.  It would probably involve
interpreting the main code body, and catching syscalls and library
calls for the interface.  Could be a simple matter of programming,
could be non-trivial.  Little endianess would certainly help.

Also, it would be nice to get the experiences of those doing 68k ports.
I'm told they exist, but I have no references.  Does anyone have names
or addresses?

Gotta rush,
	J

 
From tor@tss.no Thu Jun 24 15:30:45 1993
Return-Path: <tor@tss.no>
Received: from gossip.pyramid.com by dutecai.et.tudelft.nl (4.1/1.34JP)
          id AA11412; Thu, 24 Jun 93 15:30:37 +0200
Received: from sword.eng.pyramid.com 
	by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway)
	id AA02237; Thu, 24 Jun 93 06:30:21 -0700
Received: from goss.pyramid.com
	by sword.eng.pyramid.com (5.61/Pyramid_Internal_Configuration)
	id AA03216; Thu, 24 Jun 93 06:30:11 -0700
Received: from benoni.Uit.No 
	by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway)
	id AA02229; Thu, 24 Jun 93 06:30:07 -0700
Received: from benoni by ppenoni.uit.no with SMTP (PP) 
          id <23488-0@ppenoni.uit.no>; Thu, 24 Jun 1993 15:29:04 +0000
Received: from unas.tss.no 
          by benoni.uit.no (5.65+IDA/Babel-1.15/ABaa-1.2/Ultrix) 
          id AAbenoni23484; Thu, 24 Jun 1993 15:29:02 +0200
Received: by unas.tss.no (4.0/ABaa-1.3mini) id AA11724;
          Thu, 24 Jun 93 15:23:32 +0200
Message-Id: <9306241323.AA11724@unas.tss.no>
From: tor@tss.no (Tor Arntsen)
Date: Thu, 24 Jun 1993 15:23:30 +0200
In-Reply-To: jeremy@sw.oz.au (Jeremy Fitzhardinge) "Re: big/little endian" (Jun 24, 9:13pm)
X-Mailer: Mail User's Shell (7.2.5 10/14/92)
To: jeremy@sw.oz.au (Jeremy Fitzhardinge)
Subject: Re: big/little endian
Cc: riscy@pyramid.com
Status: RO
X-Status: 

Jeremy Fitzhardinge:
> 
> Tor Arntsen bubbles:
> 
> > I would prefer big endian, but I have no strong objections (that means, I will
> > buy the board anyway) if it ends up the other way (the DEC/Intel way vs. 
> > the rest of the world.. :-) :-)
> 
> Given a free hand, I would prefer big endian.  However, I think there
> are a few compelling reasons to go little endian -- all to do with
> compatability with the Intel version.  Choosing bigendian wouldn't
> make it impossible, but it does offer a whole pile extra places for
> things to go wrong.  If we can make code like this work without
> problems, wrong as it is, it would be helpful:
> 
> #ifdef linux	/* linux runs on intel only */
> #define little_endian
> #endif
> 
> There are a number of places where it would be good to keep the same format
> to the bit level on all Linux architectures:
[deleted]
> Also, it would be nice to get the experiences of those doing 68k ports.
> I'm told they exist, but I have no references.  Does anyone have names
> or addresses?
> 
> Gotta rush,
> 	J

I'm 'lurking' on the 680X0 mailing list, they seem to be going forward.
Hamish (H.I.) Macdonald (hamish@bnr.ca) is the Amiga coordinator and
central source manager.  He has done most of the kernel porting I think.

Arno Griffioen (arno@usn.nl) is a general coordinator (coordinating who's
doing what etc.)

They certainly have to face the big/little endian problem up front..

Tor


 
From caret@pyramid.com Fri Jun 25 18:47:12 1993
Return-Path: <caret@pyramid.com>
Received: from gossip.pyramid.com by dutecai.et.tudelft.nl (4.1/1.34JP)
          id AA15458; Fri, 25 Jun 93 18:47:07 +0200
Received: from sword.eng.pyramid.com 
	by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway)
	id AA04467; Fri, 25 Jun 93 09:46:52 -0700
Received: by sword.eng.pyramid.com (5.61/Pyramid_Internal_Configuration)
	id AA02004; Fri, 25 Jun 93 09:46:47 -0700
From: caret@pyramid.com (Neil Russell)
Message-Id: <9306251646.AA02004@sword.eng.pyramid.com>
Subject: Re: big/little endian
To: riscy@pyramid.com
Date: Fri, 25 Jun 93 9:46:47 PDT
In-Reply-To: <9306240902.AA09427@unas.tss.no>; from "Tor Arntsen" at Jun 24, 93 11:02 am
X-Mailer: ELM [version 2.3 PL11]
Status: RO
X-Status: 

> I would prefer big endian, but I have no strong objections (that means, I will
> buy the board anyway) if it ends up the other way (the DEC/Intel way vs. 
> the rest of the world.. :-) :-)

It's a matter of adding a single jumper to select what endian.  This board
will come configurable for either endian.  This is more a software issue,
and a debate as to whether this ISA bus should do byte swapping.

-- 
Neil Russell		(The wizard from OZ)
Pyramid Technology			Email:  caret@pyramid.com
3860 N. First Street			Voice:  (408) 428-7302
San Jose, CA 95134-1702			  FAX:  (408) 428-8845

 
