Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Operating System Abstraction Layer (OSAL)
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 317
configuration header file. The OSAL configuration header file (IxOsalConfig.h) contains user-
editable fields for module inclusion, and it automatically includes the module-specific header files
for optional modules, such as the buffer management (IxOsalBufferMgt.h), I/O memory mapping
and Endianness support (IxOsalIoMem.h). Platform configuration is done in IxOsalConfig.h by
including the main platform header file (IxOsalOem.h).
Note: Platform-specific refers to all the platforms that use the same network processor variants, that is,
that use the same Intel
®
IXP4XX Product Line of Network Processors and IXC1100 Control Plane
Processor. A change in product line refers to using the OSAL layer for a new platform.
The “src” directory
The source directory contains the actual implementation of OSAL OS-independent core module
and subdirectories for OS-independent (and module-specific) implementation. Additionally, the
source directory contains subdirectories for OS-independent (and platform-specific)
implementation. The OSAL build system looks for all the implementations in the core module and
the specified OS hierarchy. The source tree is organized in different directories, one for each target
OS, and a shared directory for core implementations. Note that shared implementations do not have
to be common for all the possible operating systems. Instead, code that is deemed to be reusable is
placed in the source directory. For each OS, the library is compiled for the OS-specific directory
and the shared directory, hence it is required that each function implementation must be found
either in the core directory or in the OS-specific directory.
The “os” directory
The OS directory contains OS-dependent subdirectories with OS-specific implementations of the
APIs; these directories are named after the OS they abstract (for example, “VxWorks”, “Linux”).
Each “os” subdirectory has its own include directory, src directory hierarchy for OS-specific core,
modules and platform implementations. The translational functions are implemented in the source
subdirectory within each of the individual OS directories.