September 16, 2003
David T. Johnson has been an avid OS/2 user for 7 years beginning with Warp 3. He is a consulting engineer in Redmond, Washington specializing in designing and troubleshooting complex systems for wastewater pretreatment, hazardous waste treatment-by-generator, and air emissions control. He is married with three children. He started using OS/2 for its powerful multitasking capability and superb HPFS file system and has continued to use it both for its technical strengths and because it's fun.
If you have a comment about the content of this article, please feel free to vent in the OS/2 e-Zine discussion forums.
There is also a Printer Friendly version of this page.
OS/2 Meets 64-bit Opteron
AMD has recently begun selling its 64-bit Opteron (closely related to
the soon-to-be-here Athlon 64) processor. The 64-bit processors
from AMD are intended to provide both 64-bit and 32-bit operation which
seems like a wise strategy since it is likely to be quite some time
before 64-bit operating systems and application software appears.
AMD refers to its 64-bit technolotgy as "x86-64". An x86-64 CPU
can run in either 'long mode' (64-bit) or 'legacy mode' (32-bit) with
the mode controlled by a 'global control bit' called LMA. When
LMA is disabled, the processor operates as a standard x86 processor
and is theoretically compatible with all existing 16 and 32-bit
operating systems. When LMA is enabled, the processor will run
in 64-bit mode but will still run 16-bit and 32-bit applications in
one of two compatibility 'sub modes' that are activated with two flags
(the existing "D" bit that controls the size of operands and an "L"
bit that was previously unused) in the code segment descriptor.
As you might imagine, the L bit must be enabled to identify an
application as '64-bit'. If the D bit is enabled, the
application runs in 32-bit compatibility mode.
Building the machine
So what will an x86-64 processor look like to OS/2? Getting an Opteron 64-bit desktop system is currently pretty much a do-it-yourself project due to the scarcity of vendors for complete systems. I have assembled many systems in the past (don't all OS/2 users), so this was not an obstacle. For the new Opteron system, I settled on starting with the ASUS SK8N motherboard which is packed with new hardware feature goodness and uses the Nforce3 chipset which is the follow-on product to Nvidia's wildly-successful Nforce2 chipset. For the video card, I chose the ASUS V9520 APG 8x video card which uses the Nvidia FX 5200 chipset, for which Scitech has provided new OS/2 drivers in their Snap Graphics product. It seemed like a good idea to keep the ASUS and Nvidia blood together for the system. Everything went into a new aluminum case with a total of five case fans (one for just the hard drive bay), as well as two additional fans in the Enermax EG 651P-VE power supply, a cooling fan on the FX 5200 chipset, and the cooling fan on the Opteron processor itself. That is a total of nine cooling fans for one system. One of the case fans even had a little built-in neon light to give the machine an unearthly glow when darkness gathers.
So...will OS/2 run on a 64-bit Opteron? On to the tests. As
a first test, I started with a set of working OS/2 utility disks.
The system busily began loading OS/2...and promptly trapped in the
kernel on the second floppy. Next up, the Warp 4.52 refresh
CD. Again, OS/2 promptly booted off of the CD and then came to a
Trap D. Not good. Since we know that OS/2 cannot be
the problem, it must be a hardware issue so it's of to the ASUS website
to look for BIOS updates for this very new motherboard. Lo and
behold, there was a v1002 BIOS update available. Once that was
flashed in with the ASUS flash utility, OS/2 booted and ran just
fine...well, not exactly. An updated IDE driver is also needed for
the second floppy. Going to Hobbes,
there is a new v1.6.7 of the famous Danis506.add driver to try and it
quickly goes onto the floppy. Rebooting this time goes a lot
further until suddenly, a new trap occurs in DOSCALL1. Fiddling
with various BIOS settings does not help to get OS/2 to boot past the
DOSCALL1 trap. Then I remember a similar trap that occurred with
the Pentium 4 on systems with greater than 512 MB and I wonder if too
much memory might be the problem here as well, since the system has 1024
MB of memory installed. After removing 512 MB of memory, OS/2 now
happy and busily boots up without problems. It looks like a fix
will be needed for DOSCALL1 to allow more than 512 MB of memory to be
used with OS/2. IBM confirms that they have opened a PMR on this
issue so perhaps a fix will be forthcoming. On to the testing.
To get a working install, I copied a working Warp 4.52 fixpack 3 installation over to the hard disk with xcopy and changed the appropriate hardware drivers for the new hardware. This all booted properly and may be the only way to get OS/2 installed. After using the system for a while, I attempted to install OS/2 onto a test hard drive from the Warp 4.52 CDs and the installer generated a trap in DOSCALL1. This occured even after using CDINST to make the three installation floppys and update the drivers and the extended partition support. It may be possible to work around this if someone wants to spend more time on it than I did. I also didn't attempt to do the install with a SCSI system, the newest IBM or Dani IDE drivers. Dani very kindly sent me a special v1.6.7c of her driver that enables DMA5 mode for my hard drive rather than the PIO4 of the v1.6.7 and seems to work very nicely.
The motherboard comes with an onboard ALC650 sound chipset and ASUS even has OS/2 drivers for this posted on their website. No amount of coaxing, however, can persuade these OS/2 drivers to load at boot. Instead, to get sound, I was required to insert an old sound card with a CMI 8738 chipset on it and use the IBM universal audio drivers. This setup works without any problems. The SK8M BIOS has a boot option labelled as "Boot to OS/2." I set that to [yes] and everything seemed to work properly with all 512MB of memory available to OS/2. The manual describes that as the "OS/2 Compatibility Mode" but does not document just what that is or does. Well, it sounds friendly, anyway.
The IBM USB drivers work okay with the onboard USB controllers and digital camera images move quickly to and fro. Two OHCI controllers and one EHCI controller are recognized by the HCMONIT.EXE utility.
CD-RWs could be burned using a Samsung CDRW/DVD IDE device and the OS/2 CDR-tools without any difficulties. All parallel ports (1 onboard, two on a PCI add-on card) worked without any problems. All serial ports worked properly. The video card based on the Nvidia FX5200 chipset worked very well. The new Scitech drivers recognized it properly and even recognized and configured for the Envision 17 inch TFT monitor. Zooming worked properly, the display was sharp and flicker-free, and scrolling was very nice.
All software applications worked properly including Java, DOS, Win-OS2, and OS/2 applications.
So what about performance? Well, here are some comparisons running the same OS/2 software on an Athlon XP 1700+ system and the Opteron system.
Rendering the POVRAY v3.5 demo on Virtual PC 5.1 required 5.5 seconds on the Opteron 240 versus 7.9 seconds on the Athlon XP 1700+. The StarOffice desktop loaded in about 7 seconds versus 11 seconds on the XP 1700 system. Launching the Win-OS2 desktop required 3.8 seconds on the Opteron 240 versus 5.5 seconds on the Athlon XP 1700. Generally speaking, the Opteron performance was very good. The OS/2 desktop was particularly snappy and responsive in the 1280 x 1024 mode with 16M colors which may have been a benefit of the dual-channel DDR memory of the system or the video card or both.
The bottom line for the Opteron system is that OS/2 will run very well
on it with no apparent compatibility issues other than the memory issue
for DOSCALL1. I have been using the system for nearly a month and
it has been a very stable and smooth performer. So why purchase a
64-bit system rather than a 32-bit system? Well, the biggest
reason is that 64-bit stuff is likely to become available sometime
during the expected 3-year life of the machine so the machine will be
more useful during its life if it has the capability to run in 64-bit
mode. It is even possible that 64-bit OS/2 plugins might become
available at some point or even...(hey we can hope, can't we?), a
64-bit OS/2 kernel. Also, AMD is moving to having all of
their processors be X86-64 so it is likely that at some point you will
be buying one of these if you buy an AMD processor. If so, it
appears that you can be confident that it will run OS/2 with very nice
performance and compatibility.