Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Jan 2000 10:46:39 +0100
From:      Michael Schuster - TSC SunOS Germany <michael.schuster@germany.sun.com>
To:        Lyndon Griffin <lgriffin@bsd4us.org>
Cc:        freebsd-sparc@FreeBSD.ORG
Subject:   Re: 32 vs. 64
Message-ID:  <388587FF.CB9F2864@germany.sun.com>
References:  <Pine.BSO.4.10.10001190326240.31627-100000@ns.bsd4us.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Lyndon Griffin wrote:
> 
> Hmmm...  I didn't find a question like this in the archives, so here goes:
> 
> Given that Solaris 7 (and 8) can run both 32bit and 64bit executables, can
> a sun4u boot off a 32bit-only kernel?

yes.

>  I assume the answer is yes, since I
> have (at work, not at my disposal) an Ultra 2 that runs Solaris 2.5.1.
> Maybe I'm mistaken about the nature of Solaris' gradual movement to 64bit,
> and Solaris 2.5.1 is indeed a 64bit os?

no. Solaris 2.5.1 is a 32-bit OS (in the sense that pointers etc. are 32
bits wide).

Both Solaris 7 and 8 can be booted either in 32-bit mode or 64-bit mode
(on sun4u, that is), but there's two distinct modules you boot there,
and binaries, drivers etc. need to be written seperately for each mode.

This is an excerpt of the output of "find / /usr -xdev -name sparcv9" on
my Sol. 8 Beta machine:

/platform/SUNW,Ultra-250/kernel/drv/sparcv9
/platform/SUNW,Ultra-250/kernel/misc/sparcv9
...
/platform/sun4u/kernel/cpu/sparcv9
/platform/sun4u/kernel/drv/sparcv9
/platform/sun4u/kernel/misc/sparcv9
/platform/sun4u/kernel/sparcv9
/platform/sun4u/kernel/strmod/sparcv9
/platform/sun4u/kernel/tod/sparcv9
/platform/sun4u/kernel/dacf/sparcv9
/platform/sun4u/kernel/sys/sparcv9
...
/kernel/drv/sparcv9
/kernel/exec/sparcv9
/kernel/fs/sparcv9
/kernel/misc/sparcv9
/kernel/misc/kgss/sparcv9
/kernel/sched/sparcv9
/kernel/strmod/sparcv9
..
/usr/platform/sun4u/lib/adb/sparcv9
/usr/platform/sun4u/lib/cfgadm/sparcv9
/usr/platform/sun4u/lib/sparcv9
/usr/platform/sun4u/lib/mdb/kvm/sparcv9
/usr/platform/sun4u/lib/abi/sparcv9
/usr/platform/SUNW,Ultra-1/lib/sparcv9
...
/usr/lib/sparcv9
/usr/lib/iconv/sparcv9
...
/usr/lib/locale/common/LO_LTYPE/sparcv9
....
/usr/bin/sparcv9
/usr/dt/lib/sparcv9
....
/usr/xpg4/lib/sparcv9
/usr/xpg4/lib/abi/sparcv9
/usr/xpg4/bin/sparcv9


so you see, there's tons of sparcv9 directories; also note that there's
quite a few architecture-dependant direcories. I'm not saying that this
is the only way to structure things, but it may be a start. 

It may in fact not be as bad as it looks, if you write the source code
accordingly using the proper "#ifdef"s ...

> make a single kernel that
> can boot all suns, and have generic kernels that are tailored for each
> architecture or family. 

you mean "custom kernels", don't you?

I don't think one bootable for all would work, to be honest. I once
tried a miniature bootable "hello world" for sun4c on an ultra1 and hung
it very effectively ...

> <:)  Lyndon Griffin

regards
Michael
-- 
Michael Schuster          / Michael.Schuster@germany.sun.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-sparc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?388587FF.CB9F2864>