Jump to content

PSD IRQ MASK

From EDM2
Revision as of 23:40, 2 September 2018 by Ak120 (talk | contribs)

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;