ptos/amd64+hal: intr: Add IRQL managmenet

Signed-off-by: Chloe M. <chloe@mensia.org>
This commit is contained in:
2026-07-13 03:54:22 +00:00
parent b1f30e1f72
commit 2081b15219
4 changed files with 88 additions and 2 deletions
+23
View File
@@ -52,4 +52,27 @@ typedef struct _INTR_HANDLER {
*/
UCHAR HalIntrRegister(INTR_HANDLER *Handler, BOOLEAN IsUser);
/*
* Returns the current IRQL
*/
IRQL HalGetIrql(VOID);
/*
* Raise the IRQL level to a higher level
*
* @Irql: IRQL to raise to
*
* Returns the previous IRQL
*/
IRQL HalRaiseIrql(IRQL Irql);
/*
* Lower the IRQL level to a lower level
*
* @Irql: IRQL to lower to
*
* Returns the previous IRQL
*/
IRQL HalLowerIrql(IRQL Irql);
#endif /* !_HAL_INTR_H_ */
+5 -1
View File
@@ -19,13 +19,17 @@
* @BUGCHECK_IO_ERROR: Fatal I/O error
* @BUGCHECK_UNBOUND_RESRC: Fatal unbound resource
* @BUGCHECK_EXCEPTION: Fatal exception
* @BUGCHECK_IRQL_NOT_GTE: IRQL not greater than or equal
* @BUGCHECK_IRQL_NOT_LTE: IRQL not less than or equal
*/
typedef enum {
BUGCHECK_MISC,
BUGCHECK_OOM,
BUGCHECK_IO_ERROR,
BUGCHECK_UNBOUND_RESRC,
BUGCHECK_EXCEPTION
BUGCHECK_EXCEPTION,
BUGCHECK_IRQL_NOT_GTE,
BUGCHECK_IRQL_NOT_LTE
} BUGCHECK_REASON;
/*