Implement ArGetCpuFlags() routine
All checks were successful
Builds / ExectOS (amd64) (push) Successful in 38s
Builds / ExectOS (i686) (push) Successful in 38s

This commit is contained in:
2024-05-14 16:26:02 +02:00
förälder efef3cb80d
incheckning 2a8cc7397e
4 ändrade filer med 56 tillägg och 0 borttagningar

Visa fil

@@ -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.
*

Visa fil

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

Visa fil

@@ -25,6 +25,10 @@ XTCDECL
VOID
ArFlushTlb(VOID);
XTCDECL
ULONG
ArGetCpuFlags(VOID);
XTASSEMBLY
XTCDECL
ULONG_PTR

Visa fil

@@ -25,6 +25,10 @@ XTCDECL
VOID
ArFlushTlb(VOID);
XTCDECL
ULONG
ArGetCpuFlags(VOID);
XTASSEMBLY
XTCDECL
ULONG_PTR