From 8d9af3292a827f5c2afe28a9b626d8a56c29fcdf Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Thu, 4 Sep 2008 19:39:29 +0000 Subject: [PATCH] implement __readeflags and __writeeflags svn path=/branches/ros-amd64-bringup/; revision=35950 --- reactos/include/psdk/intrin_x86.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/reactos/include/psdk/intrin_x86.h b/reactos/include/psdk/intrin_x86.h index b528735cb75..c8a59794a0a 100644 --- a/reactos/include/psdk/intrin_x86.h +++ b/reactos/include/psdk/intrin_x86.h @@ -1064,6 +1064,17 @@ static __inline__ __attribute__((always_inline)) unsigned long long __rdtsc(void return retval; } +static __inline__ __attribute__((always_inline)) void __writeeflags(uintptr_t Value) +{ + __asm__ __volatile__("push %0\n popf" : : "rim"(Value)); +} + +static __inline__ __attribute__((always_inline)) uintptr_t __readeflags(void) +{ + uintptr_t retval; + __asm__ __volatile__("pushf\n pop %0" : "=rm"(retval)); + return retval; +} /*** Interrupts ***/ static __inline__ __attribute__((always_inline)) void __debugbreak(void)