PSD IRQ MASK: Difference between revisions
Appearance
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..." |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:PSD_IRQ_MASK}} | |||
Mask/Unmask IRQ levels. | 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. | 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. | |||
; Mode : Called in Kernel, and Interrupt Mode. | |||
==Syntax== | ==Syntax== | ||
Line 10: | Line 10: | ||
==Parameters== | ==Parameters== | ||
; Entry : Pointer to PSD_IRQ structure. | ; Entry : Pointer to PSD_IRQ structure. | ||
ulong_t flags; (Input) | ulong_t flags; (Input) | ||
ulong_t data; (Input/Output) | ulong_t data; (Input/Output) | ||
ulong_t procnum; (Input) | ulong_t procnum; (Input) | ||
; flags : indicate which type of operation is to be performed. | ; flags : indicate which type of operation is to be performed. | ||
:: IRQ_MASK mask (disable) IRQ levels | :: IRQ_MASK mask (disable) IRQ levels | ||
Line 20: | Line 18: | ||
:: IRQ_GETMASK retrieves the masks for all 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. | :: IRQ_NEWMASK indicates that all the IRQ levels should reflect the state of the specified mask. | ||
; data : | ;data: is the logical IRQ levels to mask, or un-mask. | ||
; procnum : is the processor number of where the operation should take place. | ;procnum: is the processor number of where the operation should take place. | ||
==Return Code== | ==Return Code== | ||
; NO_ERROR : operation completed successfully. | ;NO_ERROR : operation completed successfully. | ||
; -1 : operation failed. | ;-1 : operation failed. | ||
==Remarks== | ==Remarks== |
Latest revision as of 02:41, 20 May 2025
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;