Implement ArInterruptsEnabled() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 40s
Builds / ExectOS (i686) (push) Successful in 39s

This commit is contained in:
Rafal Kupiec 2024-05-17 23:19:25 +02:00
parent 5591e1b377
commit 740df726e9
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
4 changed files with 48 additions and 0 deletions

View File

@ -140,6 +140,26 @@ ArHalt(VOID)
asm volatile("hlt");
}
/**
* Checks whether interrupts are enabled or not.
*
* @return This routine returns TRUE if interrupts are enabled, or FALSE otherwise.
*
* @since XT 1.0
*/
XTCDECL
BOOLEAN
ArInterruptsEnabled(VOID)
{
ULONG_PTR Flags;
/* Get RFLAGS register */
Flags = ArGetCpuFlags();
/* Check if interrupts are enabled and return result */
return (Flags & X86_EFLAGS_IF_MASK) ? TRUE : FALSE;
}
/**
* Invalidates the TLB (Translation Lookaside Buffer) for specified virtual address.
*

View File

@ -140,6 +140,26 @@ ArHalt(VOID)
asm volatile("hlt");
}
/**
* Checks whether interrupts are enabled or not.
*
* @return This routine returns TRUE if interrupts are enabled, or FALSE otherwise.
*
* @since XT 1.0
*/
XTCDECL
BOOLEAN
ArInterruptsEnabled(VOID)
{
ULONG_PTR Flags;
/* Get RFLAGS register */
Flags = ArGetCpuFlags();
/* Check if interrupts are enabled and return result */
return (Flags & X86_EFLAGS_IF_MASK) ? TRUE : FALSE;
}
/**
* Invalidates the TLB (Translation Lookaside Buffer) for specified virtual address.
*

View File

@ -42,6 +42,10 @@ XTAPI
VOID
ArInitializeProcessor(IN PVOID ProcessorStructures);
XTCDECL
BOOLEAN
ArInterruptsEnabled(VOID);
XTCDECL
VOID
ArInvalidateTlbEntry(IN PVOID Address);

View File

@ -42,6 +42,10 @@ XTAPI
VOID
ArInitializeProcessor(IN PVOID ProcessorStructures);
XTCDECL
BOOLEAN
ArInterruptsEnabled(VOID);
XTCDECL
VOID
ArInvalidateTlbEntry(IN PVOID Address);