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 315
24.3 OS-Independent Core Module
As shown in Figure 105, the OS-independent component includes all the core functionality such as
buffer management, platform- and module-specific OS-independent implementations, I/O memory
map function implementations, and OSAL core services implementations. The Buffer Management
module defines a memory buffer structure and functions for creating and managing buffer pools.
The I/O Memory and Endianness module includes support for I/O memory mapping under
different operating systems as well as big and little endian support.
Core Module
The OSAL core module defines the following functionality:
Memory allocation
Threading
Interrupt handling
Thread synchronization
Delay functions
Time-related functions and macros
Inter-thread communication
Logging
Buffer Management Module
The OSAL Buffer Management Module implements the following functionality:
Buffer pool management (pool initialization and allocation)
Buffer management (buffer allocation and freeing)
I/O Memory and Endianness Module
The I/O memory management defines a set of macros allowing the user to gain and release access
to memory-mapped I/O in an operating-system-independent fashion. Depending on the target
platform and OS, gaining access can vary between no special behavior (statically mapped I/O), to
dynamically mapped I/O through OS-specific functions (for example, ioremap() in Linux*). The
Endianness module supports big and little endian.
24.4 OS-Dependent Module
The OS-dependent component for a respective OS gets selected by the build system at build time.
This component provides operating system services like timers, mutex, semaphores, and thread
management. The OS translation functions are implemented for respective operating systems to
translate the header fields of the OS buffers to IXP buffer format and vice versa. The OS-dependent
component is also responsible for providing backward compatibility to Intel
®
IXP400 Software
v1.4 software release. The core module is an non-optional module containing fundamental types,
constants, functions and macros provided by the OSAL, and many of these items are used in the
other modules as well.