OALIntrRequestSysIntr (Compact 2013)
10/16/2014
This function allocates a new system interrupt (SYSINTR) value for a specified interrupt request (IRQ) list and can also set backward static mapping of IRQs to SYSINTR logical interrupts.
Syntax
UINT32 OALIntrRequestSysIntr(
UINT32 count,
const UINT32 *pIrqs,
UINT32 flags
);
Parameters
- count
[in] Number of IRQs that are mapped to the SYSINTR that are returned by the function. Must be 1.
- pIrqs
[in] Pointer to the list of IRQs.
flags
[in] Flags to specify the type of IRQ to SYSINTR mapping. The following table lists the valid flags for this parameter.Flag
Description
OAL_INTR_DYNAMIC
Dynamic mapping returns the next available SYSINTR value. The SYSINTR is mapped to the IRQ, so the SYSINTR is unavailable until it is freed by OALIntrReleaseSysIntr. Allows multiple SYSINTRs to be associated with one IRQ.
OAL_INTR_STATIC
Static mapping is the same as dynamic mapping; however, OALIntrRequestSysIntr also maps the IRQ to the SYSINTR, so that given an IRQ, the OAL can look up the SYSINTR value. If this request is not the first one for a given IRQ, the function fails when this flag is used.
OAL_INTR_FORCE_STATIC
Forces static mapping of an IRQ to a SYSINTR even if static mapping for the IRQ is already assigned. If this request is not the first one for a given IRQ, the new SYSINTR assignment overrides the original mapping.
OAL_INTR_TRANSLATE
If static mapping exists for the IRQ, the function returns a mapped SYSINTR. Otherwise, it creates a new static mapping.
None
Returns the next available SYSINTR value and maps it to the IRQ. If this SYSINTR value is the first one associated with the IRQ, the IRQ value is also mapped to the SYSINTR. In other words, the first SYSINTR for a given IRQ is mapped statically with this option; subsequent SYSINTRs are mapped dynamically.
Return Value
Returns the associated SYSINTR value.
Requirements
Header |
oal_intr.h |
Library |
Developer Implemented |