Jump to content

PSD IRQ MASK

From EDM2
Revision as of 00:08, 21 August 2017 by Martini (talk | contribs) (Created page with "Mask/Unmask IRQ levels. This function allows masking (disabling), or un-masking (enabling) of IRQ levels. When this function is invoked it should save the state of the interr...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Mask/Unmask IRQ levels.

This function allows masking (disabling), or un-masking (enabling) of IRQ levels. When this function is invoked it should save the state of the interrupt flag, and disable interrupts before performing the mask operation . It should then restore the state of the interrupt flag.

Mode
Called in Kernel, and Interrupt Mode.

Syntax

PSD_IRQ_MASK <keywords>

Parameters

Entry
Pointer to PSD_IRQ structure.
  ulong_t flags;    (Input)
  ulong_t data;     (Input/Output)
  ulong_t procnum;  (Input)
flags
indicate which type of operation is to be performed.
IRQ_MASK mask (disable) IRQ levels
IRQ_UNMASK unmask (enable) IRQ levels
IRQ_GETMASK retrieves the masks for all IRQ levels
IRQ_NEWMASK indicates that all the IRQ levels should reflect the state of the specified mask.
data
is the logical IRQ levels to mask, or un-mask.
procnum
is the processor number of where the operation should take place.

Return Code

NO_ERROR
operation completed successfully.
-1
operation failed.

Remarks

  • Optional: the function is not required.
  • The OS/2 kernel provides default handling for that specific function.
  • The function can not call a PSD help that may block.

Structure

typedef struct psd_irq_s {
   ulong_t flags;    (Input)
   ulong_t data;     (Input/Output)
   ulong_t procnum;  (Input)
} PSD_IRQ;