Alex Ionescu wrote:
There is a reason this set and names was chosen,
please don't change them. It is for SDK compatibility.
I see mostly additions that reflect Intel flag identifiers.. ergo, no
major panic.
None of the EFLAGS_xx show up in my public MS headers, which must mean
that they are inofficial identifiers only known to priviledged devs.
Ergo, we may define them to correctly reflect the EFLAGS register.
However, but I think Alex is right that the compatible identifiers
should be retained.
EFLAG_SIGN and EFLAG_ZERO are used to compare flags in AH after LAHF,
and should be retained verbatim, since they are public (in NTDDK.H).
As for any MS EFLAGS_xx definitions, I'm not privvy and can't say.
Best Regards // L
On 2009-12-10, at 3:22 PM, tkreuzer(a)svn.reactos.org
wrote:
Author: tkreuzer
Date: Thu Dec 10 02:44:42 2009
New Revision: 44508
URL:
http://svn.reactos.org/svn/reactos?rev=44508&view=rev
Log:
updates EFLAGS definitions
Modified:
branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h
Modified: branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
==============================================================================
--- branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h [iso-8859-1]
(original)
+++ branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h [iso-8859-1] Thu Dec
10 02:44:42 2009
@@ -82,19 +82,24 @@
//
// EFlags
//
-#define EFLAGS_CF 0x01L
-#define EFLAGS_ZF 0x40L
-#define EFLAGS_TF 0x100L
-#define EFLAGS_INTERRUPT_MASK 0x200L
-#define EFLAGS_DF 0x400L
-#define EFLAGS_NESTED_TASK 0x4000L
-#define EFLAGS_V86_MASK 0x20000
+#define EFLAGS_CF 0x01
+#define EFLAGS_PF 0x04
+#define EFLAGS_AF 0x10
+#define EFLAGS_ZF 0x40
+#define EFLAGS_SF 0x80
+#define EFLAGS_TF 0x100
+#define EFLAGS_INTERRUPT_MASK 0x200
+#define EFLAGS_DF 0x400
+#define EFLAGS_OF 0x800
+#define EFLAGS_IOPL_MASK 0x3000
+#define EFLAGS_NESTED_TASK 0x4000
+#define EFLAGS_RF 0x10000
+#define EFLAGS_VM 0x20000
#define EFLAGS_ALIGN_CHECK 0x40000
#define EFLAGS_VIF 0x80000
#define EFLAGS_VIP 0x100000
+#define EFLAGS_ID 0x200000
#define EFLAGS_USER_SANITIZE 0x3F4DD7
-#define EFLAG_SIGN 0x8000
-#define EFLAG_ZERO 0x4000
//
// IPI Types
Best regards,
Alex Ionescu