Implement ArInterruptsEnabled() routine
This commit is contained in:
parent
5591e1b377
commit
740df726e9
@ -140,6 +140,26 @@ ArHalt(VOID)
|
|||||||
asm volatile("hlt");
|
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.
|
* Invalidates the TLB (Translation Lookaside Buffer) for specified virtual address.
|
||||||
*
|
*
|
||||||
|
@ -140,6 +140,26 @@ ArHalt(VOID)
|
|||||||
asm volatile("hlt");
|
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.
|
* Invalidates the TLB (Translation Lookaside Buffer) for specified virtual address.
|
||||||
*
|
*
|
||||||
|
@ -42,6 +42,10 @@ XTAPI
|
|||||||
VOID
|
VOID
|
||||||
ArInitializeProcessor(IN PVOID ProcessorStructures);
|
ArInitializeProcessor(IN PVOID ProcessorStructures);
|
||||||
|
|
||||||
|
XTCDECL
|
||||||
|
BOOLEAN
|
||||||
|
ArInterruptsEnabled(VOID);
|
||||||
|
|
||||||
XTCDECL
|
XTCDECL
|
||||||
VOID
|
VOID
|
||||||
ArInvalidateTlbEntry(IN PVOID Address);
|
ArInvalidateTlbEntry(IN PVOID Address);
|
||||||
|
@ -42,6 +42,10 @@ XTAPI
|
|||||||
VOID
|
VOID
|
||||||
ArInitializeProcessor(IN PVOID ProcessorStructures);
|
ArInitializeProcessor(IN PVOID ProcessorStructures);
|
||||||
|
|
||||||
|
XTCDECL
|
||||||
|
BOOLEAN
|
||||||
|
ArInterruptsEnabled(VOID);
|
||||||
|
|
||||||
XTCDECL
|
XTCDECL
|
||||||
VOID
|
VOID
|
||||||
ArInvalidateTlbEntry(IN PVOID Address);
|
ArInvalidateTlbEntry(IN PVOID Address);
|
||||||
|
Loading…
Reference in New Issue
Block a user