Implement ArGetCpuFlags() routine

This commit is contained in:
2024-05-14 16:26:02 +02:00
parent efef3cb80d
commit 2a8cc7397e
4 changed files with 56 additions and 0 deletions

View File

@@ -82,6 +82,30 @@ ArFlushTlb(VOID)
ArWriteControlRegister(3, ArReadControlRegister(3));
}
/**
* Gets the RFLAGS register.
*
* @return This routine returns the RFLAGS register.
*
* @since XT 1.0
*/
XTCDECL
ULONG
ArGetCpuFlags(VOID)
{
ULONG Flags;
/* Get RFLAGS register */
asm volatile("pushf\n"
"pop %0\n"
: "=rm" (Flags)
:
: "memory");
/* Return flags */
return Flags;
}
/**
* Gets the address of the current stack register.
*