Document
Solaris 32 and 64 bit Packages
Author
Mark <mark@ibiblio.org>

Since Solaris 7 was released any machine with an UltraSPARC (sun4u) CPU installed, such as an Ultra 1, 2, E3000, E6500, E10000 etc, could all run either a 32 bit or 64 bit kernel. Sun has made the step of designing the 64 bit capability to get the most out of their UltraSPARC chips and to allow very very large limits on what you can do with their machines

If you have a sun4u UltraSPARC machine then you may be running a 64 bit kernel. You can use:
    % uname -m
to determine your chip type. A response of sun4u means you are running on an UltraSPARC machine.
You can determine the currently running kernel with this command:
    % isainfo -v
    64-bit sparcv9 applications
    32-bit sparc applications
    %
As you can see, this machine is able to run 64 bit applications, thus it has a 64 bit kernel running. If you only saw a 32-bit response or even "Command not found" then you are running with a 32 bit kernel.

The nice thing about running with a 64 bit kernel, apart from the much bigger addressing limits, is that you can still use the vast majority of the 32 bit programs, and in this case, Solaris packages. Often you won't notice any difference whatsoever in speed, and the operating system works just the same. That means you can use all the software for a 32 bit machine, and if you do have a 64 bit package available then you can choose to install that instead and use that software in native 64 bit mode.

Of course if you have a 32 bit kernel, you can only use the 32 bit packages.

One does have to be careful with programs that go diving into the kernel to access information, the top package being an example. If you use a 32 bit top on a 64 bit machine it might just work, but it's more likely to fail or give undefined results.

More information on 32 and 64 packages on Solaris 7 is available here.