summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2009-04-01 12:31:04 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2009-04-01 12:31:04 +0000
commit49c9cff8816e8a805331536b013f9fd8ff2dda5a (patch)
tree4b10d25848747699a241d051b71a606d0e54a17c
parent2364576d141915cf8c12292b7b4c4694da45a021 (diff)
Notes
-rw-r--r--sys/amd64/include/segments.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/amd64/include/segments.h b/sys/amd64/include/segments.h
index 1c83d1cf8223..8ff3a0f9e27b 100644
--- a/sys/amd64/include/segments.h
+++ b/sys/amd64/include/segments.h
@@ -108,12 +108,29 @@ struct gate_descriptor {
u_int64_t sd_xx1:32;
} __packed;
+/*
+ * Generic descriptor
+ */
+union descriptor {
+ struct user_segment_descriptor sd;
+ struct gate_descriptor gd;
+};
+
/* system segments and gate types */
#define SDT_SYSNULL 0 /* system null */
+#define SDT_SYS286TSS 1 /* system 286 TSS available */
#define SDT_SYSLDT 2 /* system 64 bit local descriptor table */
+#define SDT_SYS286BSY 3 /* system 286 TSS busy */
+#define SDT_SYS286CGT 4 /* system 286 call gate */
+#define SDT_SYSTASKGT 5 /* system task gate */
+#define SDT_SYS286IGT 6 /* system 286 interrupt gate */
+#define SDT_SYS286TGT 7 /* system 286 trap gate */
+#define SDT_SYSNULL2 8 /* system null again */
#define SDT_SYSTSS 9 /* system available 64 bit TSS */
+#define SDT_SYSNULL3 10 /* system null again */
#define SDT_SYSBSY 11 /* system busy 64 bit TSS */
#define SDT_SYSCGT 12 /* system 64 bit call gate */
+#define SDT_SYSNULL4 13 /* system null again */
#define SDT_SYSIGT 14 /* system 64 bit interrupt gate */
#define SDT_SYSTGT 15 /* system 64 bit trap gate */