Share via


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

See Also

Reference

Interrupt Functions