Found this in the AIX newsgroup - as its from an IBM person I'd guess it was accurate
Alex
There are three layers you have to be concerned with:
(A) user-space (application)
(B) kernel
(C) h/w
Some combinations of 32/64 will work, some won't:
1 2 3 4 5 6 7 8
-- -- -- -- -- -- -- --
usr 32 32 32 32 64 64 64 64
ker 32 32 64 64 32 32 64 64
h/w 32 64 32 64 32 64 32 64
Combinations 3, 5, 7 are invalid.
Combinations 4, 8 require AIX 5.1 (for the 64-bit kernel).
(A) The 64-bit user-space support is provided by the bos.64bit
fileset and enabled with the 'smit load64bit' menu. You can
also test this by running the '/etc/methods/cfg64' command
(see the entry in /etc/inittab) and checking the return code.
(C) All recent pSeries boxes have a 64-bit CPUs, including:
* RS/6000 7013 Models S70, S7A
* RS/6000 7015 Models S70, S7A
* RS/6000 7017 Models S70, S7A, S80
* RS/6000 7025 Models H80, F80
* RS/6000 7026 Models H70, H80, M80
* RS/6000 7043 Models 260, 270
* RS/6000 7044 Models 170, 270
* pSeries 680 Model S85
* pSeries 640 Model B80
* pSeries 660 Model 6H1
* pSeries 620 Model 6F1
This list is from the AIX 5.1 /usr/lpp/bos/README file.
(B) This is also from the AIX 5.1 /usr/lpp/bos/README file:
It is possible to switch between the 32-bit and 64-bit kernels
without
reinstalling the operating system. This can be done by modifying
the
/usr/lib/boot/unix and /unix to be a symbolic link to the binary
for the
desired kernel, running the bosboot command to write a new system
boot
image, and rebooting. The path name of the 64-bit kernel is
/usr/lib/boot/unix_64 while the path names of the uniprocessor and
multiprocessor versions of the 32-bit kernel are
/usr/lib/boot/unix_up and
/usr/lib/boot/unix_mp.
In other words, do:
ln -fs /usr/lib/boot/unix_XX /usr/lib/boot/unix
ln -fs /usr/lib/boot/unix_XX /unix
bosboot -a
shutdown -Fr
where XX is:
up - when you want to switch to the 32-bit UP kernel,
e.g. 44P-170
mp - when you want to switch to the 32-bit MP kernel,
e.g. 44P-270
64 - when you want to switch to the 64-bit kernel
Be careful to not try and boot the unix_up kernel on an mp
system, or a unix_64 kernel on a 32-bit h/w. It will fail
and you'll have to use maintenance mode to fix it.
You can also write a small program like:
#include <sys/systemcfg.h>
#include <sys/utsname.h>
main ()
{
struct utsname myuname;
uname (&myuname);
printf (" \n");
printf ("Current Values \n");
printf ("-----------------\n");
printf ("aix version = %s \n", myuname.version);
printf ("__cpu64() = %i \n", __cpu64());
printf ("KERNEL_32 = %i \n", __KERNEL_32());
printf ("KERNEL_64 = %i \n", __KERNEL_64());
printf ("num cpus = %i \n", _system_configuration.ncpus);
printf ("proc arch = %i \n", _system_configuration.architecture);
printf ("-----------------\n");
printf (" \n");
}
to display important values.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.