HP-UX Reference (11i v2 04/09) - 5 Miscellaneous Topics (vol 9)
a
Aries(5) Aries(5)
(Itanium(R)-based System Only)
7. PA-RISC applications that make extensive use of
OpenGL experience slow performance. This is
because the
ogld daemon process on an Itanium-based machine is a native process, and an emu-
lated application cannot send its graphics output to a native graphics card by directly communicating
with the ogld daemon process. Such PA-RISC applications send their graphics data to the Itanium-
based machine’s graphics card through a virtual memory driver (VMD) which is emulated under
Aries. This process of displaying the graphics data is slow. Instead, such applications should make
use of OpenGL display lists. This causes the PA-RISC OpenGL library to use GLX protocol
mode to the X server and the ogld
process. This process of displaying graphics data with OpenGL
can be significantly faster than the virtual memory driver route.
ARIES SUPPORTED APPLICATIONS
Aries supports emulation of all PA-RISC HP-UX applications. This means all the HP-UX Inter-Process
Communication mechanisms such as semaphores, shared memory, sockets, and so forth, are supported.
All inter-process communications between an emulated PA-RISC application and a native-running
Itanium-based application is supported. The signal/exception behavior of a PA-RISC HP-UX application
is supported under Aries. There is only a very small subset of the PA-RISC application domain that is not
supported under Aries. To ascertain whether a given application will run correctly under Aries or not,
determine if the application falls into one of the Aries limitations described in the section ARIES LIMITA-
TIONS.
ARIES LIMITATIONS
Aries supports emulation of all PA-RISC HP-UX applications, with the following limitations/exceptions:
1. Aries does not support PA-RISC applications that load Itanium-based shared libraries. In other
words, mixing PA-RISC binaries with Itanium-based shared libraries is not supported. Aries is
meant only for pure PA-RISC applications, such as binaries that are either statically or dynamically
linked with PA-RISC libraries only. However, any sort of inter-process communication between a
native Itanium-based application and an emulated PA-RISC application is supported.
2. The version of Aries at this release supports PA-RISC HP-UX applications that run on HP-UX 11i
Version 1.6 and below. Aries does not support applications compiled on HP-UX version 8.x or earlier.
However such applications run as expected if they run on a contemporary version of HP-UX (for
example, HP-UX 11i Version 1.6 and earlier).
3. Aries does not support privileged PA-RISC instructions. Hence, device drivers and loadable kernel
modules are not supported.
4. Aries does not guarantee correct emulation of PA-RISC applications which make assumptions about
"time taken to execute certain pieces of application code and/or system calls". Such applications are
theoretically un-synchronized applications, and hence, need to be corrected with proper synchroniza-
tion techniques using mutex locks, semaphores, and so forth. Such un-synchronized applications are
found to be very rare in practice.
5. Aries does not support applications that use the
ptrace() or
profil() system calls. However,
Aries supports debugging of emulated application using PA-RISC
gdb. See section PA-RISC HP-UX
GDB DEBUGGING SUPPORT for additional information on this topic. This limitation might affect
debugger applications, which are normally not portable anyway.
6. Aries consumes a small amount of an application’s virtual memory address space. Therefore Aries
does not support applications that are nearly or completely maxed out on their virtual address space
usage. Such applications, in practice, have been found to be extremely rare.
7. Aries supports both
fork() and vfork() system calls. However, Aries does not support applica-
tions that rely on differences between fork() and vfork(). However, most applications that use
the vfork() system call do use it with a purpose which is well known to the programmer. It is an
extremely rare condition that a standard application would have any such reliance on the differences
between fork() and vfork() calls. See vfork (2) and fork (2) for details.
8. When an emulated application makes any system call that returns the processor-related information,
then under emulation, Aries returns information pertinent to a PA-RISC 2.0 processor, even though
the emulated application runs on an Itanium-based machine. For instance, a call made to
sys-
conf(2), with _SC_CPU_VERSION, will return CPU_PA_RISC2_0. This is an Aries policy, that an
emulated application sees a complete PA-RISC environment on Itanium-based system. If the applica-
tion requires that it be able to determine that it is running on an Itanium-based machine, one
method is for the application to use the system (3S) call and the Itanium-based native command
getconf(1) to get the required fields. See system (3S), getconf (1) and sysconf (2) for more information.
Section 5−−50 Hewlett-Packard Company − 11 − HP-UX 11i Version 2: September 2004