Subject: Re: single-user shell on Dreamcast
To: None <itojun@iijlab.net>
From: Hiroyuki Bessho <bsh@grotto.iijnet.or.jp>
List: port-sh3
Date: 10/20/2000 09:42:31
itojun@iijlab.net writes:

> >> 	I don't think it really necessary...  is it really necessary for
> >> 	you to do this?  or did you do it just for convenience in ramdisk build?
> >  At least, We need a place to put endian_machdep.h for dreamcast
> >(actually, for little endien SH3), which differs from
> >evbsh3/include/endian_machdep.h
> >
> >  Also, If you set MACHINE=dreamcast, it's natural to have
> >sys/arch/$MACHINE.  It is possible to compile sys/arch/evbsh3 with
> >MACHINE=dreamcast, but you need an another messy kludge in
> >sys/arch/Makefile to do so.
> 
> 	i'm still wondering if it is really necessary to do 
> 	MACHINE=dreamcast or not.  i bet it was not required.

  MACHINE is used to select a subset of source tree.  From this point
of view, you can go without MACHINE=dreamcast, since dreamcast can
share source code with evbsh3 (except for endian_machdep.h).

  MACHINE is also used for obj.MACHINE when you build user land with
OBJMACHINE set.  if you want to build both for evbsh3 and dreamcast at
the same time from one single source tree, you need MACHNE=dreamcast
(or whatever other than evbsh3) since dreamcast can't share object
code with evbsh3.

  After all, this is an endian problem.  if we have evbsh3eb/evbsh3el
split as you mentioned, dreamcast will happily share source code and
userland object code with evbsh3el.  Having new MACHINE evbsh3el and
sys/arch/evbsh3el is quite similar to MACHINE=dreamcast and
sys/arch/dreamcast.  If you don't like evbsh3/dreamcast, you don't
like evbsh3eb/evbsh3el either, do you?

> 
> >  I understand duplicating many files is evil, and the problem exists
> >also for evbsh3 and mmeye.  Do you have any idea for better framework?
> 
> 	as for endianness, we need something.  beyond that, i'm not sure.
> 	if we support dreamcast-specific peripherals we may need arch/dreamcast.
> 	for endian:
> 	as there are evaluation cards with little/big endian variants,
> 	and there's no good way to switch between endianness.
> 	split evbsh3el and evbsh3eb?  better ways?

  I feel evbsh3el/evbsh3eb is better than evbsh3/dreamcast.  If we do
it in that way and build the tree with MACHINE=evbsh3el for dreamcast,
I'd say the names are bad.  Dreamcast is not an evaluation board.
sh3_generic_e[bl]? or just sh3e[bl]?

> 
> itojun

----
bsh.