summaryrefslogtreecommitdiff
path: root/src/arch/amd64/cpu/registers.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/amd64/cpu/registers.h')
-rw-r--r--src/arch/amd64/cpu/registers.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/arch/amd64/cpu/registers.h b/src/arch/amd64/cpu/registers.h
new file mode 100644
index 0000000..59cd8b8
--- /dev/null
+++ b/src/arch/amd64/cpu/registers.h
@@ -0,0 +1,67 @@
+#pragma once
+
+#include <stdint.h>
+
+struct dr6 {
+ uint64_t b0 : 1,
+ b1 : 1,
+ b2 : 1,
+ b3 : 1,
+ : 7,
+ bld : 1,
+ : 1,
+ bd : 1,
+ bs : 1,
+ bt : 1,
+ rtm : 1,
+ : 47;
+};
+
+struct dr7 {
+ uint64_t l0 : 1,
+ g0 : 1,
+ l1 : 1,
+ g1 : 1,
+ l2 : 1,
+ g2 : 1,
+ l3 : 1,
+ g3 : 1,
+ : 8,
+ rw0 : 2,
+ len0 : 2,
+ rw1 : 2,
+ len1 : 2,
+ rw2 : 2,
+ len2 : 2,
+ rw3 : 2,
+ len3 : 2,
+ : 32;
+};
+
+struct rflags {
+ uint64_t cf : 1,
+ : 1,
+ pf : 1,
+ : 1,
+ af : 1,
+ : 1,
+ zf : 1,
+ sf : 1,
+
+ tf : 1,
+ if_ : 1,
+ df : 1,
+ of : 1,
+ iopl : 2,
+ nt : 1,
+ md : 1,
+
+ rf : 1,
+ vm : 1,
+ ac : 1,
+ vif : 1,
+ vip : 1,
+ id : 1,
+ : 42;
+};
+